Bug 1271084 - Apply ESLint autofixes to ignored /devtools files. r=tromey draft
authorJ. Ryan Stinnett <jryans@gmail.com>
Tue, 17 May 2016 13:25:54 -0500
changeset 368013 5ef11c6386429ca928e48e05f0daec3239a33ad2
parent 367901 c7281320c78634fa0c50712205a62fee098eae22
child 368014 7896458d110f8ad47835626616d370b44cd4dc59
push id18411
push userbmo:jryans@gmail.com
push dateTue, 17 May 2016 22:48:53 +0000
reviewerstromey
bugs1271084
milestone49.0a1
Bug 1271084 - Apply ESLint autofixes to ignored /devtools files. r=tromey For simple rules like function spacing, we can auto-fix these across the code base so they are followed in a consistent way. To generate this patch, I ran: ./mach eslint devtools --no-ignore --fix After this, I reverted any changes to third party files that we really do want to ignore. MozReview-Commit-ID: 6Q8BApkAW20
devtools/client/canvasdebugger/callslist.js
devtools/client/canvasdebugger/canvasdebugger.js
devtools/client/canvasdebugger/panel.js
devtools/client/canvasdebugger/snapshotslist.js
devtools/client/canvasdebugger/test/browser_canvas-actor-test-02.js
devtools/client/canvasdebugger/test/browser_canvas-actor-test-07.js
devtools/client/canvasdebugger/test/browser_canvas-actor-test-11.js
devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js
devtools/client/canvasdebugger/test/browser_canvas-frontend-snapshot-select-01.js
devtools/client/canvasdebugger/test/browser_profiling-canvas.js
devtools/client/canvasdebugger/test/head.js
devtools/client/commandline/test/browser_cmd_addon.js
devtools/client/commandline/test/browser_cmd_appcache_invalid.js
devtools/client/commandline/test/browser_cmd_appcache_valid.js
devtools/client/commandline/test/browser_cmd_calllog.js
devtools/client/commandline/test/browser_cmd_calllog_chrome.js
devtools/client/commandline/test/browser_cmd_cookie.js
devtools/client/commandline/test/browser_cmd_cookie_host.js
devtools/client/commandline/test/browser_cmd_csscoverage_oneshot.js
devtools/client/commandline/test/browser_cmd_csscoverage_startstop.js
devtools/client/commandline/test/browser_cmd_csscoverage_util.js
devtools/client/commandline/test/browser_cmd_folder.js
devtools/client/commandline/test/browser_cmd_highlight_01.js
devtools/client/commandline/test/browser_cmd_highlight_02.js
devtools/client/commandline/test/browser_cmd_highlight_03.js
devtools/client/commandline/test/browser_cmd_inject.js
devtools/client/commandline/test/browser_cmd_jsb.js
devtools/client/commandline/test/browser_cmd_listen.js
devtools/client/commandline/test/browser_cmd_media.js
devtools/client/commandline/test/browser_cmd_pagemod_export.js
devtools/client/commandline/test/browser_cmd_paintflashing.js
devtools/client/commandline/test/browser_cmd_pref1.js
devtools/client/commandline/test/browser_cmd_pref2.js
devtools/client/commandline/test/browser_cmd_pref3.js
devtools/client/commandline/test/browser_cmd_qsa.js
devtools/client/commandline/test/browser_cmd_restart.js
devtools/client/commandline/test/browser_cmd_rulers.js
devtools/client/commandline/test/browser_cmd_screenshot.js
devtools/client/commandline/test/browser_gcli_async.js
devtools/client/commandline/test/browser_gcli_canon.js
devtools/client/commandline/test/browser_gcli_cli1.js
devtools/client/commandline/test/browser_gcli_cli2.js
devtools/client/commandline/test/browser_gcli_completion1.js
devtools/client/commandline/test/browser_gcli_completion2.js
devtools/client/commandline/test/browser_gcli_context.js
devtools/client/commandline/test/browser_gcli_date.js
devtools/client/commandline/test/browser_gcli_exec.js
devtools/client/commandline/test/browser_gcli_fail.js
devtools/client/commandline/test/browser_gcli_file.js
devtools/client/commandline/test/browser_gcli_fileparser.js
devtools/client/commandline/test/browser_gcli_filesystem.js
devtools/client/commandline/test/browser_gcli_focus.js
devtools/client/commandline/test/browser_gcli_history.js
devtools/client/commandline/test/browser_gcli_incomplete.js
devtools/client/commandline/test/browser_gcli_inputter.js
devtools/client/commandline/test/browser_gcli_intro.js
devtools/client/commandline/test/browser_gcli_js.js
devtools/client/commandline/test/browser_gcli_keyboard1.js
devtools/client/commandline/test/browser_gcli_keyboard2.js
devtools/client/commandline/test/browser_gcli_keyboard3.js
devtools/client/commandline/test/browser_gcli_keyboard4.js
devtools/client/commandline/test/browser_gcli_keyboard5.js
devtools/client/commandline/test/browser_gcli_keyboard6.js
devtools/client/commandline/test/browser_gcli_menu.js
devtools/client/commandline/test/browser_gcli_node.js
devtools/client/commandline/test/browser_gcli_pref1.js
devtools/client/commandline/test/browser_gcli_pref2.js
devtools/client/commandline/test/browser_gcli_remotews.js
devtools/client/commandline/test/browser_gcli_remotexhr.js
devtools/client/commandline/test/browser_gcli_resource.js
devtools/client/commandline/test/browser_gcli_short.js
devtools/client/commandline/test/browser_gcli_spell.js
devtools/client/commandline/test/browser_gcli_split.js
devtools/client/commandline/test/browser_gcli_string.js
devtools/client/commandline/test/browser_gcli_tokenize.js
devtools/client/commandline/test/browser_gcli_tooltip.js
devtools/client/commandline/test/browser_gcli_types.js
devtools/client/commandline/test/browser_gcli_union.js
devtools/client/commandline/test/browser_gcli_url.js
devtools/client/commandline/test/helpers.js
devtools/client/commandline/test/mockCommands.js
devtools/client/debugger/content/actions/breakpoints.js
devtools/client/debugger/content/actions/event-listeners.js
devtools/client/debugger/content/actions/sources.js
devtools/client/debugger/content/constants.js
devtools/client/debugger/content/globalActions.js
devtools/client/debugger/content/queries.js
devtools/client/debugger/content/reducers/async-requests.js
devtools/client/debugger/content/reducers/breakpoints.js
devtools/client/debugger/content/reducers/event-listeners.js
devtools/client/debugger/content/reducers/index.js
devtools/client/debugger/content/reducers/sources.js
devtools/client/debugger/content/utils.js
devtools/client/debugger/content/views/event-listeners-view.js
devtools/client/debugger/content/views/sources-view.js
devtools/client/debugger/debugger-commands.js
devtools/client/debugger/debugger-controller.js
devtools/client/debugger/debugger-view.js
devtools/client/debugger/panel.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul2.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul2.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-console.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-modules-unpacked.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-modules.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-panels.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-sources.js
devtools/client/debugger/test/mochitest/browser_dbg_addon-workers-dbg-enabled.js
devtools/client/debugger/test/mochitest/browser_dbg_addonactor.js
devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-01.js
devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-02.js
devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-03.js
devtools/client/debugger/test/mochitest/browser_dbg_bfcache.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-01.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-02.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-03.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-04.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-05.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-06.js
devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-07.js
devtools/client/debugger/test/mochitest/browser_dbg_breadcrumbs-access.js
devtools/client/debugger/test/mochitest/browser_dbg_break-in-anon.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-01.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-02.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-03.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-04.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-05.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-06.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-08.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-03.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-next-console.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-next.js
devtools/client/debugger/test/mochitest/browser_dbg_break-unselected.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location2.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-01.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-02.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-condition-thrown-message.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-disabled-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-editor.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-eval.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-highlight.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-other-tabs.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-pane.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_bug-896139.js
devtools/client/debugger/test/mochitest/browser_dbg_chrome-create.js
devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
devtools/client/debugger/test/mochitest/browser_dbg_clean-exit-window.js
devtools/client/debugger/test/mochitest/browser_dbg_clean-exit.js
devtools/client/debugger/test/mochitest/browser_dbg_cmd-blackbox.js
devtools/client/debugger/test/mochitest/browser_dbg_cmd-break.js
devtools/client/debugger/test/mochitest/browser_dbg_cmd-dbg.js
devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-01.js
devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-02.js
devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-03.js
devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-04.js
devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-05.js
devtools/client/debugger/test/mochitest/browser_dbg_console-eval.js
devtools/client/debugger/test/mochitest/browser_dbg_console-named-eval.js
devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-01.js
devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-02.js
devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
devtools/client/debugger/test/mochitest/browser_dbg_editor-mode.js
devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-04.js
devtools/client/debugger/test/mochitest/browser_dbg_file-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_function-display-name.js
devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
devtools/client/debugger/test/mochitest/browser_dbg_hide-toolbar-buttons.js
devtools/client/debugger/test/mochitest/browser_dbg_instruments-pane-collapse.js
devtools/client/debugger/test/mochitest/browser_dbg_interrupts.js
devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-01-simple.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-02-blank.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-04-breakpoint.js
devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
devtools/client/debugger/test/mochitest/browser_dbg_no-dangling-breakpoints.js
devtools/client/debugger/test/mochitest/browser_dbg_no-page-sources.js
devtools/client/debugger/test/mochitest/browser_dbg_on-pause-highlight.js
devtools/client/debugger/test/mochitest/browser_dbg_on-pause-raise.js
devtools/client/debugger/test/mochitest/browser_dbg_optimized-out-vars.js
devtools/client/debugger/test/mochitest/browser_dbg_parser-03.js
devtools/client/debugger/test/mochitest/browser_dbg_parser-04.js
devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-01.js
devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-02.js
devtools/client/debugger/test/mochitest/browser_dbg_pause-no-step.js
devtools/client/debugger/test/mochitest/browser_dbg_pause-resume.js
devtools/client/debugger/test/mochitest/browser_dbg_pause-warning.js
devtools/client/debugger/test/mochitest/browser_dbg_post-page.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-01.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-02.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-03.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-04.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-05.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-06.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-07.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-08.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-09.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-10.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-11.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-12.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-13.js
devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-on-paused.js
devtools/client/debugger/test/mochitest/browser_dbg_progress-listener-bug.js
devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-01.js
devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-02.js
devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-03.js
devtools/client/debugger/test/mochitest/browser_dbg_reload-same-script.js
devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-01.js
devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-02.js
devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-03.js
devtools/client/debugger/test/mochitest/browser_dbg_search-autofill-identifier.js
devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js
devtools/client/debugger/test/mochitest/browser_dbg_search-basic-02.js
devtools/client/debugger/test/mochitest/browser_dbg_search-basic-03.js
devtools/client/debugger/test/mochitest/browser_dbg_search-basic-04.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-01.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-02.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-03.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-04.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-05.js
devtools/client/debugger/test/mochitest/browser_dbg_search-global-06.js
devtools/client/debugger/test/mochitest/browser_dbg_search-popup-jank.js
devtools/client/debugger/test/mochitest/browser_dbg_search-sources-01.js
devtools/client/debugger/test/mochitest/browser_dbg_search-sources-02.js
devtools/client/debugger/test/mochitest/browser_dbg_search-sources-03.js
devtools/client/debugger/test/mochitest/browser_dbg_search-symbols.js
devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-01.js
devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-02.js
devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-01.js
devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-02.js
devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-03.js
devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-04.js
devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-05.js
devtools/client/debugger/test/mochitest/browser_dbg_source-maps-01.js
devtools/client/debugger/test/mochitest/browser_dbg_source-maps-02.js
devtools/client/debugger/test/mochitest/browser_dbg_source-maps-03.js
devtools/client/debugger/test/mochitest/browser_dbg_source-maps-04.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-bookmarklet.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-cache.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-01.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-02.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-01.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-02.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-labels.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-large.js
devtools/client/debugger/test/mochitest/browser_dbg_sources-sorting.js
devtools/client/debugger/test/mochitest/browser_dbg_split-console-keypress.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-01.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-02.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-03.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-04.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-05.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-06.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-07.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-01.js
devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-02.js
devtools/client/debugger/test/mochitest/browser_dbg_step-out.js
devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-04.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-accessibility.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-data.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-cancel.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-click.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-value.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-watch.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-03.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-04.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-05.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-pref.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-searchbox.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-03.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-with.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frozen-sealed-nonext.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-hide-non-enums.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-large-array-buffer.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-map-set.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-03.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-04.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-05.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-06.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-07.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-08.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-09.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-10.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-11.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-12.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-13.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-14.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-15.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-16.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-17.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-01.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-02.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-03.js
devtools/client/debugger/test/mochitest/browser_dbg_variables-view-webidl.js
devtools/client/debugger/test/mochitest/browser_dbg_watch-expressions-02.js
devtools/client/debugger/test/mochitest/browser_dbg_worker-console.js
devtools/client/debugger/test/mochitest/code_WorkerActor.attachThread-worker.js
devtools/client/debugger/test/mochitest/code_blackboxing_unblackbox.min.js
devtools/client/debugger/test/mochitest/code_breakpoints-break-on-last-line-of-script-on-reload.js
devtools/client/debugger/test/mochitest/code_bug-896139.js
devtools/client/debugger/test/mochitest/code_frame-script.js
devtools/client/debugger/test/mochitest/code_function-jump-01.js
devtools/client/debugger/test/mochitest/code_function-search-01.js
devtools/client/debugger/test/mochitest/code_function-search-02.js
devtools/client/debugger/test/mochitest/code_same-line-functions.js
devtools/client/debugger/test/mochitest/code_script-eval.js
devtools/client/debugger/test/mochitest/head.js
devtools/client/debugger/utils.js
devtools/client/debugger/views/filter-view.js
devtools/client/debugger/views/global-search-view.js
devtools/client/debugger/views/options-view.js
devtools/client/debugger/views/stack-frames-classic-view.js
devtools/client/debugger/views/stack-frames-view.js
devtools/client/debugger/views/toolbar-view.js
devtools/client/debugger/views/variable-bubble-view.js
devtools/client/debugger/views/watch-expressions-view.js
devtools/client/eyedropper/commands.js
devtools/client/eyedropper/eyedropper.js
devtools/client/eyedropper/test/browser_eyedropper_basic.js
devtools/client/eyedropper/test/browser_eyedropper_cmd.js
devtools/client/framework/ToolboxProcess.jsm
devtools/client/framework/about-devtools-toolbox.js
devtools/client/framework/attach-thread.js
devtools/client/framework/browser-menus.js
devtools/client/framework/connect/connect.js
devtools/client/framework/devtools-browser.js
devtools/client/framework/devtools.js
devtools/client/framework/gDevTools.jsm
devtools/client/framework/selection.js
devtools/client/framework/sidebar.js
devtools/client/framework/source-location.js
devtools/client/framework/target-from-url.js
devtools/client/framework/target.js
devtools/client/framework/test/browser_browser_toolbox_debugger.js
devtools/client/framework/test/browser_devtools_api.js
devtools/client/framework/test/browser_devtools_api_destroy.js
devtools/client/framework/test/browser_ignore_toolbox_network_requests.js
devtools/client/framework/test/browser_keybindings_01.js
devtools/client/framework/test/browser_keybindings_02.js
devtools/client/framework/test/browser_keybindings_03.js
devtools/client/framework/test/browser_new_activation_workflow.js
devtools/client/framework/test/browser_source-location-01.js
devtools/client/framework/test/browser_source-location-02.js
devtools/client/framework/test/browser_target_from_url.js
devtools/client/framework/test/browser_target_support.js
devtools/client/framework/test/browser_toolbox_dynamic_registration.js
devtools/client/framework/test/browser_toolbox_getpanelwhenready.js
devtools/client/framework/test/browser_toolbox_highlight.js
devtools/client/framework/test/browser_toolbox_hosts.js
devtools/client/framework/test/browser_toolbox_hosts_size.js
devtools/client/framework/test/browser_toolbox_keyboard_navigation.js
devtools/client/framework/test/browser_toolbox_minimize.js
devtools/client/framework/test/browser_toolbox_options.js
devtools/client/framework/test/browser_toolbox_options_disable_buttons.js
devtools/client/framework/test/browser_toolbox_options_disable_cache-01.js
devtools/client/framework/test/browser_toolbox_options_disable_cache-02.js
devtools/client/framework/test/browser_toolbox_options_disable_js.js
devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing.js
devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing_frame_script.js
devtools/client/framework/test/browser_toolbox_raise.js
devtools/client/framework/test/browser_toolbox_ready.js
devtools/client/framework/test/browser_toolbox_select_event.js
devtools/client/framework/test/browser_toolbox_selected_tool_unavailable.js
devtools/client/framework/test/browser_toolbox_sidebar.js
devtools/client/framework/test/browser_toolbox_sidebar_events.js
devtools/client/framework/test/browser_toolbox_sidebar_existing_tabs.js
devtools/client/framework/test/browser_toolbox_sidebar_overflow_menu.js
devtools/client/framework/test/browser_toolbox_split_console.js
devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js
devtools/client/framework/test/browser_toolbox_textbox_context_menu.js
devtools/client/framework/test/browser_toolbox_toggle.js
devtools/client/framework/test/browser_toolbox_tool_ready.js
devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
devtools/client/framework/test/browser_toolbox_transport_events.js
devtools/client/framework/test/browser_toolbox_view_source_01.js
devtools/client/framework/test/browser_toolbox_view_source_02.js
devtools/client/framework/test/browser_toolbox_view_source_03.js
devtools/client/framework/test/browser_toolbox_view_source_04.js
devtools/client/framework/test/browser_toolbox_window_reload_target.js
devtools/client/framework/test/browser_toolbox_window_shortcuts.js
devtools/client/framework/test/browser_toolbox_window_title_changes.js
devtools/client/framework/test/browser_toolbox_zoom.js
devtools/client/framework/test/head.js
devtools/client/framework/test/helper_disable_cache.js
devtools/client/framework/test/shared-head.js
devtools/client/framework/toolbox-highlighter-utils.js
devtools/client/framework/toolbox-hosts.js
devtools/client/framework/toolbox-init.js
devtools/client/framework/toolbox-options.js
devtools/client/framework/toolbox.js
devtools/client/inspector/fonts/fonts.js
devtools/client/inspector/fonts/test/browser_fontinspector.js
devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews-show-all.js
devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews.js
devtools/client/inspector/fonts/test/head.js
devtools/client/inspector/inspector-commands.js
devtools/client/inspector/inspector-panel.js
devtools/client/inspector/inspector-search.js
devtools/client/inspector/test/browser_inspector_addNode_01.js
devtools/client/inspector/test/browser_inspector_addNode_02.js
devtools/client/inspector/test/browser_inspector_breadcrumbs_highlight_hover.js
devtools/client/inspector/test/browser_inspector_destroy-before-ready.js
devtools/client/inspector/test/browser_inspector_expand-collapse.js
devtools/client/inspector/test/browser_inspector_gcli-inspect-command.js
devtools/client/inspector/test/browser_inspector_highlighter-01.js
devtools/client/inspector/test/browser_inspector_highlighter-02.js
devtools/client/inspector/test/browser_inspector_highlighter-04.js
devtools/client/inspector/test/browser_inspector_highlighter-by-type.js
devtools/client/inspector/test/browser_inspector_highlighter-comments.js
devtools/client/inspector/test/browser_inspector_highlighter-csstransform_01.js
devtools/client/inspector/test/browser_inspector_highlighter-csstransform_02.js
devtools/client/inspector/test/browser_inspector_highlighter-embed.js
devtools/client/inspector/test/browser_inspector_highlighter-hover_01.js
devtools/client/inspector/test/browser_inspector_highlighter-hover_02.js
devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js
devtools/client/inspector/test/browser_inspector_highlighter-iframes_01.js
devtools/client/inspector/test/browser_inspector_highlighter-iframes_02.js
devtools/client/inspector/test/browser_inspector_highlighter-inline.js
devtools/client/inspector/test/browser_inspector_highlighter-keybinding_01.js
devtools/client/inspector/test/browser_inspector_highlighter-keybinding_02.js
devtools/client/inspector/test/browser_inspector_highlighter-keybinding_03.js
devtools/client/inspector/test/browser_inspector_highlighter-keybinding_04.js
devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js
devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js
devtools/client/inspector/test/browser_inspector_highlighter-options.js
devtools/client/inspector/test/browser_inspector_highlighter-rect_01.js
devtools/client/inspector/test/browser_inspector_highlighter-rect_02.js
devtools/client/inspector/test/browser_inspector_highlighter-rulers_01.js
devtools/client/inspector/test/browser_inspector_highlighter-rulers_02.js
devtools/client/inspector/test/browser_inspector_highlighter-selector_01.js
devtools/client/inspector/test/browser_inspector_highlighter-selector_02.js
devtools/client/inspector/test/browser_inspector_highlighter-xbl.js
devtools/client/inspector/test/browser_inspector_highlighter-zoom.js
devtools/client/inspector/test/browser_inspector_infobar_01.js
devtools/client/inspector/test/browser_inspector_invalidate.js
devtools/client/inspector/test/browser_inspector_keyboard-shortcuts-copy-outerhtml.js
devtools/client/inspector/test/browser_inspector_menu-01-sensitivity.js
devtools/client/inspector/test/browser_inspector_menu-02-copy-items.js
devtools/client/inspector/test/browser_inspector_menu-03-paste-items.js
devtools/client/inspector/test/browser_inspector_menu-05-attribute-items.js
devtools/client/inspector/test/browser_inspector_menu-06-other.js
devtools/client/inspector/test/browser_inspector_pane-toggle-04.js
devtools/client/inspector/test/browser_inspector_pseudoclass-lock.js
devtools/client/inspector/test/browser_inspector_pseudoclass-menu.js
devtools/client/inspector/test/browser_inspector_reload-02.js
devtools/client/inspector/test/browser_inspector_search-01.js
devtools/client/inspector/test/browser_inspector_search-02.js
devtools/client/inspector/test/browser_inspector_search-03.js
devtools/client/inspector/test/browser_inspector_search-04.js
devtools/client/inspector/test/browser_inspector_search-05.js
devtools/client/inspector/test/browser_inspector_search-reserved.js
devtools/client/inspector/test/browser_inspector_search-selection.js
devtools/client/inspector/test/browser_inspector_search-suggests-ids-and-classes.js
devtools/client/inspector/test/browser_inspector_search_keyboard_trap.js
devtools/client/inspector/test/browser_inspector_select-docshell.js
devtools/client/inspector/test/head.js
devtools/client/memory/actions/census-display.js
devtools/client/memory/actions/diffing.js
devtools/client/memory/actions/label-display.js
devtools/client/memory/actions/snapshot.js
devtools/client/memory/actions/task-cache.js
devtools/client/memory/actions/tree-map-display.js
devtools/client/memory/actions/view.js
devtools/client/memory/app.js
devtools/client/memory/components/dominator-tree.js
devtools/client/memory/components/heap.js
devtools/client/memory/components/shortest-paths.js
devtools/client/memory/components/toolbar.js
devtools/client/memory/components/tree-map/canvas-utils.js
devtools/client/memory/components/tree-map/drag-zoom.js
devtools/client/memory/components/tree-map/draw.js
devtools/client/memory/constants.js
devtools/client/memory/initializer.js
devtools/client/memory/models.js
devtools/client/memory/panel.js
devtools/client/memory/reducers/census-display.js
devtools/client/memory/reducers/errors.js
devtools/client/memory/reducers/individuals.js
devtools/client/memory/test/browser/browser_memory_clear_snapshots.js
devtools/client/memory/test/browser/browser_memory_tree_map-01.js
devtools/client/memory/test/browser/browser_memory_tree_map-02.js
devtools/client/memory/test/browser/head.js
devtools/client/memory/test/chrome/head.js
devtools/client/memory/test/unit/head.js
devtools/client/memory/test/unit/test_action-clear-snapshots_01.js
devtools/client/memory/test/unit/test_action-clear-snapshots_02.js
devtools/client/memory/test/unit/test_action-clear-snapshots_03.js
devtools/client/memory/test/unit/test_action-clear-snapshots_04.js
devtools/client/memory/test/unit/test_action-clear-snapshots_05.js
devtools/client/memory/test/unit/test_action-export-snapshot.js
devtools/client/memory/test/unit/test_action-filter-01.js
devtools/client/memory/test/unit/test_action-filter-02.js
devtools/client/memory/test/unit/test_action-filter-03.js
devtools/client/memory/test/unit/test_action-import-snapshot-and-census.js
devtools/client/memory/test/unit/test_action-select-snapshot.js
devtools/client/memory/test/unit/test_action-set-display-and-refresh-01.js
devtools/client/memory/test/unit/test_action-set-display-and-refresh-02.js
devtools/client/memory/test/unit/test_action-set-display.js
devtools/client/memory/test/unit/test_action-take-census.js
devtools/client/memory/test/unit/test_action-take-snapshot-and-census.js
devtools/client/memory/test/unit/test_action-take-snapshot.js
devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-01.js
devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-02.js
devtools/client/memory/test/unit/test_action-toggle-inverted.js
devtools/client/memory/test/unit/test_action-toggle-recording-allocations.js
devtools/client/memory/test/unit/test_action_diffing_01.js
devtools/client/memory/test/unit/test_action_diffing_02.js
devtools/client/memory/test/unit/test_action_diffing_03.js
devtools/client/memory/test/unit/test_action_diffing_04.js
devtools/client/memory/test/unit/test_action_diffing_05.js
devtools/client/memory/test/unit/test_dominator_trees_01.js
devtools/client/memory/test/unit/test_dominator_trees_02.js
devtools/client/memory/test/unit/test_dominator_trees_03.js
devtools/client/memory/test/unit/test_dominator_trees_04.js
devtools/client/memory/test/unit/test_dominator_trees_05.js
devtools/client/memory/test/unit/test_dominator_trees_06.js
devtools/client/memory/test/unit/test_dominator_trees_07.js
devtools/client/memory/test/unit/test_dominator_trees_08.js
devtools/client/memory/test/unit/test_dominator_trees_09.js
devtools/client/memory/test/unit/test_dominator_trees_10.js
devtools/client/memory/test/unit/test_individuals_01.js
devtools/client/memory/test/unit/test_individuals_02.js
devtools/client/memory/test/unit/test_individuals_03.js
devtools/client/memory/test/unit/test_individuals_04.js
devtools/client/memory/test/unit/test_individuals_05.js
devtools/client/memory/test/unit/test_individuals_06.js
devtools/client/memory/test/unit/test_pop_view_01.js
devtools/client/memory/test/unit/test_tree-map-01.js
devtools/client/memory/test/unit/test_tree-map-02.js
devtools/client/memory/test/unit/test_utils-get-snapshot-totals.js
devtools/client/memory/test/unit/test_utils.js
devtools/client/memory/utils.js
devtools/client/netmonitor/har/test/browser_net_har_copy_all_as_har.js
devtools/client/netmonitor/har/test/browser_net_har_post_data.js
devtools/client/netmonitor/test/browser_net_api-calls.js
devtools/client/netmonitor/test/browser_net_autoscroll.js
devtools/client/netmonitor/test/browser_net_cached-status.js
devtools/client/netmonitor/test/browser_net_charts-01.js
devtools/client/netmonitor/test/browser_net_clear.js
devtools/client/netmonitor/test/browser_net_complex-params.js
devtools/client/netmonitor/test/browser_net_content-type.js
devtools/client/netmonitor/test/browser_net_copy_as_curl.js
devtools/client/netmonitor/test/browser_net_copy_headers.js
devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
devtools/client/netmonitor/test/browser_net_copy_params.js
devtools/client/netmonitor/test/browser_net_copy_response.js
devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
devtools/client/netmonitor/test/browser_net_copy_url.js
devtools/client/netmonitor/test/browser_net_curl-utils.js
devtools/client/netmonitor/test/browser_net_details-no-duplicated-content.js
devtools/client/netmonitor/test/browser_net_filter-01.js
devtools/client/netmonitor/test/browser_net_filter-02.js
devtools/client/netmonitor/test/browser_net_filter-03.js
devtools/client/netmonitor/test/browser_net_footer-summary.js
devtools/client/netmonitor/test/browser_net_image-tooltip.js
devtools/client/netmonitor/test/browser_net_json-long.js
devtools/client/netmonitor/test/browser_net_jsonp.js
devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
devtools/client/netmonitor/test/browser_net_persistent_logs.js
devtools/client/netmonitor/test/browser_net_post-data-02.js
devtools/client/netmonitor/test/browser_net_post-data-03.js
devtools/client/netmonitor/test/browser_net_raw_headers.js
devtools/client/netmonitor/test/browser_net_reload-markers.js
devtools/client/netmonitor/test/browser_net_req-resp-bodies.js
devtools/client/netmonitor/test/browser_net_resend.js
devtools/client/netmonitor/test/browser_net_send-beacon-other-tab.js
devtools/client/netmonitor/test/browser_net_send-beacon.js
devtools/client/netmonitor/test/browser_net_service-worker-status.js
devtools/client/netmonitor/test/browser_net_simple-request-data.js
devtools/client/netmonitor/test/browser_net_simple-request-details.js
devtools/client/netmonitor/test/browser_net_statistics-01.js
devtools/client/netmonitor/test/browser_net_status-codes.js
devtools/client/netmonitor/test/browser_net_streaming-response.js
devtools/client/netmonitor/test/browser_net_timeline_ticks.js
devtools/client/netmonitor/test/head.js
devtools/client/netmonitor/test/service-workers/status-codes-service-worker.js
devtools/client/performance/components/jit-optimizations-item.js
devtools/client/performance/components/jit-optimizations.js
devtools/client/performance/components/test/head.js
devtools/client/performance/legacy/actors.js
devtools/client/performance/legacy/compatibility.js
devtools/client/performance/legacy/front.js
devtools/client/performance/legacy/recording.js
devtools/client/performance/modules/io.js
devtools/client/performance/modules/logic/frame-utils.js
devtools/client/performance/modules/logic/jit.js
devtools/client/performance/modules/logic/telemetry.js
devtools/client/performance/modules/logic/tree-model.js
devtools/client/performance/modules/logic/waterfall-utils.js
devtools/client/performance/modules/marker-blueprint-utils.js
devtools/client/performance/modules/marker-dom-utils.js
devtools/client/performance/modules/marker-formatters.js
devtools/client/performance/modules/widgets/graphs.js
devtools/client/performance/modules/widgets/marker-details.js
devtools/client/performance/modules/widgets/marker-view.js
devtools/client/performance/modules/widgets/markers-overview.js
devtools/client/performance/modules/widgets/tree-view.js
devtools/client/performance/modules/widgets/waterfall-ticks.js
devtools/client/performance/panel.js
devtools/client/performance/performance-controller.js
devtools/client/performance/performance-view.js
devtools/client/performance/test/browser_aaa-run-first-leaktest.js
devtools/client/performance/test/browser_perf-button-states.js
devtools/client/performance/test/browser_perf-calltree-js-categories.js
devtools/client/performance/test/browser_perf-calltree-js-columns.js
devtools/client/performance/test/browser_perf-calltree-js-events.js
devtools/client/performance/test/browser_perf-calltree-memory-columns.js
devtools/client/performance/test/browser_perf-console-record-01.js
devtools/client/performance/test/browser_perf-console-record-02.js
devtools/client/performance/test/browser_perf-console-record-03.js
devtools/client/performance/test/browser_perf-console-record-04.js
devtools/client/performance/test/browser_perf-console-record-05.js
devtools/client/performance/test/browser_perf-console-record-06.js
devtools/client/performance/test/browser_perf-console-record-07.js
devtools/client/performance/test/browser_perf-console-record-08.js
devtools/client/performance/test/browser_perf-console-record-09.js
devtools/client/performance/test/browser_perf-details-01-toggle.js
devtools/client/performance/test/browser_perf-details-02-utility-fun.js
devtools/client/performance/test/browser_perf-details-03-without-allocations.js
devtools/client/performance/test/browser_perf-details-04-toolbar-buttons.js
devtools/client/performance/test/browser_perf-details-05-preserve-view.js
devtools/client/performance/test/browser_perf-details-06-rerender-on-selection.js
devtools/client/performance/test/browser_perf-details-07-bleed-events.js
devtools/client/performance/test/browser_perf-details-render-00-waterfall.js
devtools/client/performance/test/browser_perf-details-render-01-js-calltree.js
devtools/client/performance/test/browser_perf-details-render-02-js-flamegraph.js
devtools/client/performance/test/browser_perf-details-render-03-memory-calltree.js
devtools/client/performance/test/browser_perf-details-render-04-memory-flamegraph.js
devtools/client/performance/test/browser_perf-docload.js
devtools/client/performance/test/browser_perf-gc-snap.js
devtools/client/performance/test/browser_perf-highlighted.js
devtools/client/performance/test/browser_perf-loading-01.js
devtools/client/performance/test/browser_perf-loading-02.js
devtools/client/performance/test/browser_perf-marker-details.js
devtools/client/performance/test/browser_perf-options-01-toggle-throw.js
devtools/client/performance/test/browser_perf-options-02-toggle-throw-alt.js
devtools/client/performance/test/browser_perf-options-03-toggle-meta.js
devtools/client/performance/test/browser_perf-options-enable-framerate-01.js
devtools/client/performance/test/browser_perf-options-enable-framerate-02.js
devtools/client/performance/test/browser_perf-options-enable-memory-01.js
devtools/client/performance/test/browser_perf-options-enable-memory-02.js
devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-01.js
devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-02.js
devtools/client/performance/test/browser_perf-options-invert-call-tree-01.js
devtools/client/performance/test/browser_perf-options-invert-call-tree-02.js
devtools/client/performance/test/browser_perf-options-invert-flame-graph-01.js
devtools/client/performance/test/browser_perf-options-invert-flame-graph-02.js
devtools/client/performance/test/browser_perf-options-propagate-allocations.js
devtools/client/performance/test/browser_perf-options-propagate-profiler.js
devtools/client/performance/test/browser_perf-options-show-idle-blocks-01.js
devtools/client/performance/test/browser_perf-options-show-idle-blocks-02.js
devtools/client/performance/test/browser_perf-options-show-jit-optimizations.js
devtools/client/performance/test/browser_perf-options-show-platform-data-01.js
devtools/client/performance/test/browser_perf-options-show-platform-data-02.js
devtools/client/performance/test/browser_perf-overview-render-01.js
devtools/client/performance/test/browser_perf-overview-render-02.js
devtools/client/performance/test/browser_perf-overview-render-03.js
devtools/client/performance/test/browser_perf-overview-render-04.js
devtools/client/performance/test/browser_perf-overview-selection-01.js
devtools/client/performance/test/browser_perf-overview-selection-02.js
devtools/client/performance/test/browser_perf-overview-selection-03.js
devtools/client/performance/test/browser_perf-overview-time-interval.js
devtools/client/performance/test/browser_perf-private-browsing.js
devtools/client/performance/test/browser_perf-range-changed-render.js
devtools/client/performance/test/browser_perf-recording-notices-01.js
devtools/client/performance/test/browser_perf-recording-notices-02.js
devtools/client/performance/test/browser_perf-recording-notices-03.js
devtools/client/performance/test/browser_perf-recording-notices-04.js
devtools/client/performance/test/browser_perf-recording-notices-05.js
devtools/client/performance/test/browser_perf-recording-selected-01.js
devtools/client/performance/test/browser_perf-recording-selected-02.js
devtools/client/performance/test/browser_perf-recording-selected-03.js
devtools/client/performance/test/browser_perf-recording-selected-04.js
devtools/client/performance/test/browser_perf-recordings-clear-01.js
devtools/client/performance/test/browser_perf-recordings-clear-02.js
devtools/client/performance/test/browser_perf-recordings-io-01.js
devtools/client/performance/test/browser_perf-recordings-io-02.js
devtools/client/performance/test/browser_perf-recordings-io-03.js
devtools/client/performance/test/browser_perf-recordings-io-04.js
devtools/client/performance/test/browser_perf-recordings-io-05.js
devtools/client/performance/test/browser_perf-recordings-io-06.js
devtools/client/performance/test/browser_perf-refresh.js
devtools/client/performance/test/browser_perf-states.js
devtools/client/performance/test/browser_perf-telemetry-01.js
devtools/client/performance/test/browser_perf-telemetry-02.js
devtools/client/performance/test/browser_perf-telemetry-03.js
devtools/client/performance/test/browser_perf-telemetry-04.js
devtools/client/performance/test/browser_perf-tree-abstract-01.js
devtools/client/performance/test/browser_perf-tree-abstract-02.js
devtools/client/performance/test/browser_perf-tree-abstract-03.js
devtools/client/performance/test/browser_perf-tree-abstract-04.js
devtools/client/performance/test/browser_perf-tree-view-01.js
devtools/client/performance/test/browser_perf-tree-view-02.js
devtools/client/performance/test/browser_perf-tree-view-03.js
devtools/client/performance/test/browser_perf-tree-view-04.js
devtools/client/performance/test/browser_perf-tree-view-05.js
devtools/client/performance/test/browser_perf-tree-view-06.js
devtools/client/performance/test/browser_perf-tree-view-07.js
devtools/client/performance/test/browser_perf-tree-view-08.js
devtools/client/performance/test/browser_perf-tree-view-09.js
devtools/client/performance/test/browser_perf-tree-view-10.js
devtools/client/performance/test/browser_perf-tree-view-11.js
devtools/client/performance/test/browser_perf-ui-recording.js
devtools/client/performance/test/browser_timeline-waterfall-background.js
devtools/client/performance/test/browser_timeline-waterfall-generic.js
devtools/client/performance/test/browser_timeline-waterfall-workers.js
devtools/client/performance/test/head.js
devtools/client/performance/test/helpers/actions.js
devtools/client/performance/test/helpers/dom-utils.js
devtools/client/performance/test/helpers/event-utils.js
devtools/client/performance/test/helpers/panel-utils.js
devtools/client/performance/test/helpers/prefs.js
devtools/client/performance/test/helpers/profiler-mm-utils.js
devtools/client/performance/test/helpers/synth-utils.js
devtools/client/performance/test/helpers/tab-utils.js
devtools/client/performance/test/helpers/wait-utils.js
devtools/client/performance/test/js_simpleWorker.js
devtools/client/performance/test/unit/test_frame-utils-01.js
devtools/client/performance/test/unit/test_jit-graph-data.js
devtools/client/performance/test/unit/test_tree-model-06.js
devtools/client/performance/test/unit/test_tree-model-08.js
devtools/client/performance/test/unit/test_tree-model-10.js
devtools/client/performance/test/unit/test_tree-model-11.js
devtools/client/performance/test/unit/test_tree-model-12.js
devtools/client/performance/test/unit/test_tree-model-13.js
devtools/client/performance/test/unit/test_tree-model-allocations-01.js
devtools/client/performance/test/unit/test_tree-model-allocations-02.js
devtools/client/performance/test/unit/test_waterfall-utils-collapse-01.js
devtools/client/performance/test/unit/test_waterfall-utils-collapse-02.js
devtools/client/performance/test/unit/test_waterfall-utils-collapse-03.js
devtools/client/performance/test/unit/test_waterfall-utils-collapse-04.js
devtools/client/performance/test/unit/test_waterfall-utils-collapse-05.js
devtools/client/performance/views/details-abstract-subview.js
devtools/client/performance/views/details-js-call-tree.js
devtools/client/performance/views/details-js-flamegraph.js
devtools/client/performance/views/details-memory-call-tree.js
devtools/client/performance/views/details-memory-flamegraph.js
devtools/client/performance/views/details-waterfall.js
devtools/client/performance/views/details.js
devtools/client/performance/views/overview.js
devtools/client/performance/views/recordings.js
devtools/client/performance/views/toolbar.js
devtools/client/projecteditor/chrome/content/projecteditor-loader.js
devtools/client/projecteditor/lib/editors.js
devtools/client/projecteditor/lib/helpers/event.js
devtools/client/projecteditor/lib/helpers/file-picker.js
devtools/client/projecteditor/lib/helpers/l10n.js
devtools/client/projecteditor/lib/helpers/readdir.js
devtools/client/projecteditor/lib/plugins/app-manager/app-project-editor.js
devtools/client/projecteditor/lib/plugins/app-manager/plugin.js
devtools/client/projecteditor/lib/plugins/core.js
devtools/client/projecteditor/lib/plugins/delete/delete.js
devtools/client/projecteditor/lib/plugins/dirty/dirty.js
devtools/client/projecteditor/lib/plugins/image-view/image-editor.js
devtools/client/projecteditor/lib/plugins/image-view/plugin.js
devtools/client/projecteditor/lib/plugins/logging/logging.js
devtools/client/projecteditor/lib/plugins/new/new.js
devtools/client/projecteditor/lib/plugins/rename/rename.js
devtools/client/projecteditor/lib/plugins/save/save.js
devtools/client/projecteditor/lib/plugins/status-bar/plugin.js
devtools/client/projecteditor/lib/project.js
devtools/client/projecteditor/lib/projecteditor.js
devtools/client/projecteditor/lib/shells.js
devtools/client/projecteditor/lib/stores/base.js
devtools/client/projecteditor/lib/stores/resource.js
devtools/client/projecteditor/lib/tree.js
devtools/client/projecteditor/test/browser_projecteditor_app_options.js
devtools/client/projecteditor/test/browser_projecteditor_confirm_unsaved.js
devtools/client/projecteditor/test/browser_projecteditor_contextmenu_01.js
devtools/client/projecteditor/test/browser_projecteditor_contextmenu_02.js
devtools/client/projecteditor/test/browser_projecteditor_delete_file.js
devtools/client/projecteditor/test/browser_projecteditor_editing_01.js
devtools/client/projecteditor/test/browser_projecteditor_editors_image.js
devtools/client/projecteditor/test/browser_projecteditor_external_change.js
devtools/client/projecteditor/test/browser_projecteditor_immediate_destroy.js
devtools/client/projecteditor/test/browser_projecteditor_init.js
devtools/client/projecteditor/test/browser_projecteditor_menubar_01.js
devtools/client/projecteditor/test/browser_projecteditor_menubar_02.js
devtools/client/projecteditor/test/browser_projecteditor_new_file.js
devtools/client/projecteditor/test/browser_projecteditor_rename_file_01.js
devtools/client/projecteditor/test/browser_projecteditor_rename_file_02.js
devtools/client/projecteditor/test/browser_projecteditor_saveall.js
devtools/client/projecteditor/test/browser_projecteditor_stores.js
devtools/client/projecteditor/test/browser_projecteditor_tree_selection_01.js
devtools/client/projecteditor/test/browser_projecteditor_tree_selection_02.js
devtools/client/projecteditor/test/head.js
devtools/client/projecteditor/test/helper_edits.js
devtools/client/promisedebugger/promise-controller.js
devtools/client/promisedebugger/promise-panel.js
devtools/client/responsivedesign/resize-commands.js
devtools/client/responsivedesign/responsivedesign-child.js
devtools/client/responsivedesign/responsivedesign.jsm
devtools/client/responsivedesign/test/browser_responsive_cmd.js
devtools/client/responsivedesign/test/browser_responsive_devicewidth.js
devtools/client/responsivedesign/test/browser_responsivecomputedview.js
devtools/client/responsivedesign/test/browser_responsiveruleview.js
devtools/client/responsivedesign/test/browser_responsiveui.js
devtools/client/responsivedesign/test/browser_responsiveui_customuseragent.js
devtools/client/responsivedesign/test/browser_responsiveui_touch.js
devtools/client/responsivedesign/test/browser_responsiveuiaddcustompreset.js
devtools/client/responsivedesign/test/head.js
devtools/client/scratchpad/scratchpad-commands.js
devtools/client/scratchpad/scratchpad-manager.jsm
devtools/client/scratchpad/scratchpad-panel.js
devtools/client/scratchpad/scratchpad.js
devtools/client/scratchpad/test/browser_scratchpad_autocomplete.js
devtools/client/scratchpad/test/browser_scratchpad_browser_last_window_closing.js
devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
devtools/client/scratchpad/test/browser_scratchpad_confirm_close.js
devtools/client/scratchpad/test/browser_scratchpad_contexts.js
devtools/client/scratchpad/test/browser_scratchpad_disable_view_menu_items.js
devtools/client/scratchpad/test/browser_scratchpad_display_non_error_exceptions.js
devtools/client/scratchpad/test/browser_scratchpad_display_outputs_errors.js
devtools/client/scratchpad/test/browser_scratchpad_edit_ui_updates.js
devtools/client/scratchpad/test/browser_scratchpad_eval_func.js
devtools/client/scratchpad/test/browser_scratchpad_execute_print.js
devtools/client/scratchpad/test/browser_scratchpad_falsy.js
devtools/client/scratchpad/test/browser_scratchpad_files.js
devtools/client/scratchpad/test/browser_scratchpad_goto_line_ui.js
devtools/client/scratchpad/test/browser_scratchpad_help_key.js
devtools/client/scratchpad/test/browser_scratchpad_inspect.js
devtools/client/scratchpad/test/browser_scratchpad_modeline.js
devtools/client/scratchpad/test/browser_scratchpad_open.js
devtools/client/scratchpad/test/browser_scratchpad_recent_files.js
devtools/client/scratchpad/test/browser_scratchpad_reset_undo.js
devtools/client/scratchpad/test/browser_scratchpad_restore.js
devtools/client/scratchpad/test/browser_scratchpad_revert_to_saved.js
devtools/client/scratchpad/test/browser_scratchpad_tab_switch.js
devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
devtools/client/scratchpad/test/browser_scratchpad_ui.js
devtools/client/scratchpad/test/browser_scratchpad_unsaved.js
devtools/client/scratchpad/test/head.js
devtools/client/shadereditor/panel.js
devtools/client/shadereditor/shadereditor.js
devtools/client/shadereditor/test/browser_se_programs-list.js
devtools/client/shadereditor/test/browser_se_shaders-edit-03.js
devtools/client/shadereditor/test/browser_webgl-actor-test-04.js
devtools/client/shadereditor/test/browser_webgl-actor-test-06.js
devtools/client/shadereditor/test/browser_webgl-actor-test-10.js
devtools/client/shadereditor/test/browser_webgl-actor-test-15.js
devtools/client/shadereditor/test/browser_webgl-actor-test-16.js
devtools/client/shadereditor/test/browser_webgl-actor-test-18.js
devtools/client/shadereditor/test/head.js
devtools/client/shared/AppCacheUtils.jsm
devtools/client/shared/Curl.jsm
devtools/client/shared/DOMHelpers.jsm
devtools/client/shared/SplitView.jsm
devtools/client/shared/autocomplete-popup.js
devtools/client/shared/browser-loader.js
devtools/client/shared/components/reps/array.js
devtools/client/shared/components/reps/attribute.js
devtools/client/shared/components/reps/caption.js
devtools/client/shared/components/reps/date-time.js
devtools/client/shared/components/reps/document.js
devtools/client/shared/components/reps/event.js
devtools/client/shared/components/reps/function.js
devtools/client/shared/components/reps/grip-array.js
devtools/client/shared/components/reps/grip.js
devtools/client/shared/components/reps/named-node-map.js
devtools/client/shared/components/reps/null.js
devtools/client/shared/components/reps/number.js
devtools/client/shared/components/reps/object-box.js
devtools/client/shared/components/reps/object-link.js
devtools/client/shared/components/reps/object-with-text.js
devtools/client/shared/components/reps/object-with-url.js
devtools/client/shared/components/reps/object.js
devtools/client/shared/components/reps/regexp.js
devtools/client/shared/components/reps/rep-utils.js
devtools/client/shared/components/reps/rep.js
devtools/client/shared/components/reps/string.js
devtools/client/shared/components/reps/stylesheet.js
devtools/client/shared/components/reps/text-node.js
devtools/client/shared/components/reps/undefined.js
devtools/client/shared/components/reps/url.js
devtools/client/shared/components/reps/window.js
devtools/client/shared/components/tree/label-cell.js
devtools/client/shared/components/tree/object-provider.js
devtools/client/shared/components/tree/tree-cell.js
devtools/client/shared/components/tree/tree-header.js
devtools/client/shared/components/tree/tree-row.js
devtools/client/shared/components/tree/tree-view.js
devtools/client/shared/css-reload.js
devtools/client/shared/developer-toolbar.js
devtools/client/shared/devtools-file-watcher.js
devtools/client/shared/doorhanger.js
devtools/client/shared/file-watcher-worker.js
devtools/client/shared/frame-script-utils.js
devtools/client/shared/getjson.js
devtools/client/shared/inplace-editor.js
devtools/client/shared/key-shortcuts.js
devtools/client/shared/l10n.js
devtools/client/shared/node-attribute-parser.js
devtools/client/shared/options-view.js
devtools/client/shared/output-parser.js
devtools/client/shared/poller.js
devtools/client/shared/prefs.js
devtools/client/shared/redux/create-store.js
devtools/client/shared/redux/middleware/history.js
devtools/client/shared/redux/middleware/promise.js
devtools/client/shared/redux/middleware/task.js
devtools/client/shared/redux/middleware/test/head.js
devtools/client/shared/redux/middleware/test/test_middleware-task-01.js
devtools/client/shared/redux/middleware/test/test_middleware-task-02.js
devtools/client/shared/redux/middleware/test/test_middleware-task-03.js
devtools/client/shared/redux/middleware/thunk.js
devtools/client/shared/redux/middleware/wait-service.js
devtools/client/shared/redux/non-react-subscriber.js
devtools/client/shared/source-utils.js
devtools/client/shared/telemetry.js
devtools/client/shared/test/browser_css_angle.js
devtools/client/shared/test/browser_css_color.js
devtools/client/shared/test/browser_cubic-bezier-01.js
devtools/client/shared/test/browser_cubic-bezier-02.js
devtools/client/shared/test/browser_cubic-bezier-03.js
devtools/client/shared/test/browser_cubic-bezier-04.js
devtools/client/shared/test/browser_cubic-bezier-05.js
devtools/client/shared/test/browser_cubic-bezier-06.js
devtools/client/shared/test/browser_devices.js
devtools/client/shared/test/browser_filter-editor-01.js
devtools/client/shared/test/browser_filter-editor-02.js
devtools/client/shared/test/browser_filter-editor-03.js
devtools/client/shared/test/browser_filter-editor-04.js
devtools/client/shared/test/browser_filter-editor-05.js
devtools/client/shared/test/browser_filter-editor-06.js
devtools/client/shared/test/browser_filter-editor-07.js
devtools/client/shared/test/browser_filter-editor-08.js
devtools/client/shared/test/browser_filter-editor-09.js
devtools/client/shared/test/browser_filter-editor-10.js
devtools/client/shared/test/browser_flame-graph-01.js
devtools/client/shared/test/browser_flame-graph-02.js
devtools/client/shared/test/browser_flame-graph-03a.js
devtools/client/shared/test/browser_flame-graph-03b.js
devtools/client/shared/test/browser_flame-graph-03c.js
devtools/client/shared/test/browser_flame-graph-04.js
devtools/client/shared/test/browser_flame-graph-05.js
devtools/client/shared/test/browser_flame-graph-utils-01.js
devtools/client/shared/test/browser_flame-graph-utils-02.js
devtools/client/shared/test/browser_flame-graph-utils-03.js
devtools/client/shared/test/browser_flame-graph-utils-04.js
devtools/client/shared/test/browser_flame-graph-utils-05.js
devtools/client/shared/test/browser_flame-graph-utils-06.js
devtools/client/shared/test/browser_flame-graph-utils-hash.js
devtools/client/shared/test/browser_graphs-01.js
devtools/client/shared/test/browser_graphs-02.js
devtools/client/shared/test/browser_graphs-03.js
devtools/client/shared/test/browser_graphs-04.js
devtools/client/shared/test/browser_graphs-05.js
devtools/client/shared/test/browser_graphs-06.js
devtools/client/shared/test/browser_graphs-07a.js
devtools/client/shared/test/browser_graphs-07b.js
devtools/client/shared/test/browser_graphs-07c.js
devtools/client/shared/test/browser_graphs-07d.js
devtools/client/shared/test/browser_graphs-07e.js
devtools/client/shared/test/browser_graphs-08.js
devtools/client/shared/test/browser_graphs-09a.js
devtools/client/shared/test/browser_graphs-09b.js
devtools/client/shared/test/browser_graphs-09c.js
devtools/client/shared/test/browser_graphs-09d.js
devtools/client/shared/test/browser_graphs-09e.js
devtools/client/shared/test/browser_graphs-09f.js
devtools/client/shared/test/browser_graphs-10a.js
devtools/client/shared/test/browser_graphs-10b.js
devtools/client/shared/test/browser_graphs-10c.js
devtools/client/shared/test/browser_graphs-11a.js
devtools/client/shared/test/browser_graphs-11b.js
devtools/client/shared/test/browser_graphs-12.js
devtools/client/shared/test/browser_graphs-13.js
devtools/client/shared/test/browser_graphs-14.js
devtools/client/shared/test/browser_graphs-15.js
devtools/client/shared/test/browser_graphs-16.js
devtools/client/shared/test/browser_inplace-editor-01.js
devtools/client/shared/test/browser_inplace-editor-02.js
devtools/client/shared/test/browser_inplace-editor_maxwidth.js
devtools/client/shared/test/browser_layoutHelpers-getBoxQuads.js
devtools/client/shared/test/browser_layoutHelpers.js
devtools/client/shared/test/browser_mdn-docs-01.js
devtools/client/shared/test/browser_mdn-docs-02.js
devtools/client/shared/test/browser_mdn-docs-03.js
devtools/client/shared/test/browser_options-view-01.js
devtools/client/shared/test/browser_outputparser.js
devtools/client/shared/test/browser_poller.js
devtools/client/shared/test/browser_spectrum.js
devtools/client/shared/test/browser_tableWidget_basic.js
devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js
devtools/client/shared/test/browser_tableWidget_mouse_interaction.js
devtools/client/shared/test/browser_telemetry_button_eyedropper.js
devtools/client/shared/test/browser_telemetry_button_paintflashing.js
devtools/client/shared/test/browser_telemetry_button_responsive.js
devtools/client/shared/test/browser_telemetry_button_scratchpad.js
devtools/client/shared/test/browser_telemetry_sidebar.js
devtools/client/shared/test/browser_telemetry_toolbox.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_canvasdebugger.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_inspector.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_jsdebugger.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_jsprofiler.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_netmonitor.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_options.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_shadereditor.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_storage.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_styleeditor.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_webaudioeditor.js
devtools/client/shared/test/browser_telemetry_toolboxtabs_webconsole.js
devtools/client/shared/test/browser_templater_basic.js
devtools/client/shared/test/browser_theme.js
devtools/client/shared/test/browser_theme_switching.js
devtools/client/shared/test/browser_toolbar_basic.js
devtools/client/shared/test/browser_toolbar_tooltip.js
devtools/client/shared/test/browser_toolbar_webconsole_errors_count.js
devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js
devtools/client/shared/test/browser_treeWidget_mouse_interaction.js
devtools/client/shared/test/head.js
devtools/client/shared/test/leakhunt.js
devtools/client/shared/test/test-actor-registry.js
devtools/client/shared/test/test-actor.js
devtools/client/shared/test/unit/test_VariablesView_getString_promise.js
devtools/client/shared/test/unit/test_attribute-parsing-01.js
devtools/client/shared/test/unit/test_attribute-parsing-02.js
devtools/client/shared/test/unit/test_bezierCanvas.js
devtools/client/shared/test/unit/test_cubicBezier.js
devtools/client/shared/test/unit/test_undoStack.js
devtools/client/shared/theme-switching.js
devtools/client/shared/theme.js
devtools/client/shared/undo.js
devtools/client/shared/view-source.js
devtools/client/shared/webgl-utils.js
devtools/client/shared/widgets/AbstractTreeItem.jsm
devtools/client/shared/widgets/BarGraphWidget.js
devtools/client/shared/widgets/BreadcrumbsWidget.jsm
devtools/client/shared/widgets/Chart.jsm
devtools/client/shared/widgets/CubicBezierWidget.js
devtools/client/shared/widgets/FastListWidget.js
devtools/client/shared/widgets/FilterWidget.js
devtools/client/shared/widgets/FlameGraph.js
devtools/client/shared/widgets/Graphs.js
devtools/client/shared/widgets/LineGraphWidget.js
devtools/client/shared/widgets/MdnDocsWidget.js
devtools/client/shared/widgets/MountainGraphWidget.js
devtools/client/shared/widgets/SideMenuWidget.jsm
devtools/client/shared/widgets/SimpleListWidget.jsm
devtools/client/shared/widgets/Spectrum.js
devtools/client/shared/widgets/TableWidget.js
devtools/client/shared/widgets/Tooltip.js
devtools/client/shared/widgets/TreeWidget.js
devtools/client/shared/widgets/VariablesView.jsm
devtools/client/shared/widgets/VariablesViewController.jsm
devtools/client/shared/widgets/view-helpers.js
devtools/client/sourceeditor/autocomplete.js
devtools/client/sourceeditor/css-autocompleter.js
devtools/client/sourceeditor/debugger.js
devtools/client/sourceeditor/editor.js
devtools/client/sourceeditor/test/browser_css_autocompletion.js
devtools/client/sourceeditor/test/browser_editor_autocomplete_events.js
devtools/client/sourceeditor/test/browser_editor_find_again.js
devtools/client/sourceeditor/test/browser_editor_goto_line.js
devtools/client/sourceeditor/test/browser_editor_script_injection.js
devtools/client/sourceeditor/test/cm_mode_ruby.js
devtools/client/sourceeditor/test/cm_script_injection_test.js
devtools/client/sourceeditor/test/head.js
devtools/client/webaudioeditor/controller.js
devtools/client/webaudioeditor/includes.js
devtools/client/webaudioeditor/panel.js
devtools/client/webaudioeditor/test/browser_audionode-actor-add-automation-event.js
devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js
devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js
devtools/client/webaudioeditor/test/browser_audionode-actor-connectparam.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-01.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-03.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-param-flags.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-01.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
devtools/client/webaudioeditor/test/browser_audionode-actor-get-set-param.js
devtools/client/webaudioeditor/test/browser_audionode-actor-source.js
devtools/client/webaudioeditor/test/browser_audionode-actor-type.js
devtools/client/webaudioeditor/test/browser_callwatcher-01.js
devtools/client/webaudioeditor/test/browser_callwatcher-02.js
devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js
devtools/client/webaudioeditor/test/browser_wa_automation-view-02.js
devtools/client/webaudioeditor/test/browser_wa_controller-01.js
devtools/client/webaudioeditor/test/browser_wa_destroy-node-01.js
devtools/client/webaudioeditor/test/browser_wa_first-run.js
devtools/client/webaudioeditor/test/browser_wa_graph-click.js
devtools/client/webaudioeditor/test/browser_wa_graph-markers.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-01.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-02.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-03.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-04.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-05.js
devtools/client/webaudioeditor/test/browser_wa_graph-render-06.js
devtools/client/webaudioeditor/test/browser_wa_graph-selected.js
devtools/client/webaudioeditor/test/browser_wa_graph-zoom.js
devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
devtools/client/webaudioeditor/test/browser_wa_inspector-toggle.js
devtools/client/webaudioeditor/test/browser_wa_inspector-width.js
devtools/client/webaudioeditor/test/browser_wa_inspector.js
devtools/client/webaudioeditor/test/browser_wa_navigate.js
devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js
devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-02.js
devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js
devtools/client/webaudioeditor/test/browser_wa_properties-view-params-objects.js
devtools/client/webaudioeditor/test/browser_wa_properties-view-params.js
devtools/client/webaudioeditor/test/browser_wa_properties-view.js
devtools/client/webaudioeditor/test/browser_wa_reset-01.js
devtools/client/webaudioeditor/test/browser_wa_reset-02.js
devtools/client/webaudioeditor/test/browser_wa_reset-03.js
devtools/client/webaudioeditor/test/browser_wa_reset-04.js
devtools/client/webaudioeditor/test/browser_webaudio-actor-automation-event.js
devtools/client/webaudioeditor/test/browser_webaudio-actor-connect-param.js
devtools/client/webaudioeditor/test/browser_webaudio-actor-destroy-node.js
devtools/client/webaudioeditor/test/browser_webaudio-actor-simple.js
devtools/client/webaudioeditor/test/head.js
devtools/client/webaudioeditor/views/automation.js
devtools/client/webaudioeditor/views/context.js
devtools/client/webaudioeditor/views/utils.js
devtools/client/webconsole/console-commands.js
devtools/client/webconsole/console-output.js
devtools/client/webconsole/hudservice.js
devtools/client/webconsole/net/components/net-info-params.js
devtools/client/webconsole/net/data-provider.js
devtools/client/webconsole/net/net-request.js
devtools/client/webconsole/net/utils/json.js
devtools/client/webconsole/net/utils/net.js
devtools/client/webconsole/new-console-output/components/console-output.js
devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
devtools/client/webconsole/new-console-output/main.js
devtools/client/webconsole/new-console-output/test/actions/test_messages.js
devtools/client/webconsole/new-console-output/test/components/head.js
devtools/client/webconsole/new-console-output/test/store/test_messages.js
devtools/client/webconsole/test/browser_bug1045902_console_csp_ignore_reflected_xss_message.js
devtools/client/webconsole/test/browser_bug664688_sandbox_update_after_navigation.js
devtools/client/webconsole/test/browser_console.js
devtools/client/webconsole/test/browser_console_clear_on_reload.js
devtools/client/webconsole/test/browser_console_consolejsm_output.js
devtools/client/webconsole/test/browser_console_copy_command.js
devtools/client/webconsole/test/browser_console_filters.js
devtools/client/webconsole/test/browser_console_hide_jsterm_when_devtools_chrome_enabled_false.js
devtools/client/webconsole/test/browser_console_iframe_messages.js
devtools/client/webconsole/test/browser_console_keyboard_accessibility.js
devtools/client/webconsole/test/browser_console_log_inspectable_object.js
devtools/client/webconsole/test/browser_console_native_getters.js
devtools/client/webconsole/test/browser_console_optimized_out_vars.js
devtools/client/webconsole/test/browser_console_variables_view.js
devtools/client/webconsole/test/browser_console_variables_view_filter.js
devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js
devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js
devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js
devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js
devtools/client/webconsole/test/browser_output_longstring_expand.js
devtools/client/webconsole/test/browser_webconsole_autocomplete-properties-with-non-alphanumeric-names.js
devtools/client/webconsole/test/browser_webconsole_autocomplete_and_selfxss.js
devtools/client/webconsole/test/browser_webconsole_autocomplete_crossdomain_iframe.js
devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js
devtools/client/webconsole/test/browser_webconsole_autocomplete_popup_close_on_tab_switch.js
devtools/client/webconsole/test/browser_webconsole_block_mixedcontent_securityerrors.js
devtools/client/webconsole/test/browser_webconsole_bug_1006027_message_timestamps_incorrect.js
devtools/client/webconsole/test/browser_webconsole_bug_1010953_cspro.js
devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js
devtools/client/webconsole/test/browser_webconsole_bug_579412_input_focus.js
devtools/client/webconsole/test/browser_webconsole_bug_580001_closing_after_completion.js
devtools/client/webconsole/test/browser_webconsole_bug_580030_errors_after_page_reload.js
devtools/client/webconsole/test/browser_webconsole_bug_580454_timestamp_l10n.js
devtools/client/webconsole/test/browser_webconsole_bug_585237_line_limit.js
devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_keys.js
devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_popup.js
devtools/client/webconsole/test/browser_webconsole_bug_586388_select_all.js
devtools/client/webconsole/test/browser_webconsole_bug_588730_text_node_insertion.js
devtools/client/webconsole/test/browser_webconsole_bug_592442_closing_brackets.js
devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
devtools/client/webconsole/test/browser_webconsole_bug_595350_multiple_windows_and_tabs.js
devtools/client/webconsole/test/browser_webconsole_bug_595934_message_categories.js
devtools/client/webconsole/test/browser_webconsole_bug_597103_deactivateHUDForContext_unfocused_window.js
devtools/client/webconsole/test/browser_webconsole_bug_597136_network_requests_from_chrome.js
devtools/client/webconsole/test/browser_webconsole_bug_599725_response_headers.js
devtools/client/webconsole/test/browser_webconsole_bug_611795.js
devtools/client/webconsole/test/browser_webconsole_bug_613280_jsterm_copy.js
devtools/client/webconsole/test/browser_webconsole_bug_614793_jsterm_scroll.js
devtools/client/webconsole/test/browser_webconsole_bug_622303_persistent_filters.js
devtools/client/webconsole/test/browser_webconsole_bug_630733_response_redirect_headers.js
devtools/client/webconsole/test/browser_webconsole_bug_632275_getters_document_width.js
devtools/client/webconsole/test/browser_webconsole_bug_632347_iterators_generators.js
devtools/client/webconsole/test/browser_webconsole_bug_642108_pruneTest.js
devtools/client/webconsole/test/browser_webconsole_bug_651501_document_body_autocomplete.js
devtools/client/webconsole/test/browser_webconsole_bug_653531_highlighter_console_helper.js
devtools/client/webconsole/test/browser_webconsole_bug_659907_console_dir.js
devtools/client/webconsole/test/browser_webconsole_bug_660806_history_nav.js
devtools/client/webconsole/test/browser_webconsole_bug_686937_autocomplete_JSTerm_helpers.js
devtools/client/webconsole/test/browser_webconsole_bug_737873_mixedcontent.js
devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js
devtools/client/webconsole/test/browser_webconsole_bug_770099_violation.js
devtools/client/webconsole/test/browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js
devtools/client/webconsole/test/browser_webconsole_bug_922212_console_dirxml.js
devtools/client/webconsole/test/browser_webconsole_cached_autocomplete.js
devtools/client/webconsole/test/browser_webconsole_certificate_messages.js
devtools/client/webconsole/test/browser_webconsole_change_font_size.js
devtools/client/webconsole/test/browser_webconsole_chrome.js
devtools/client/webconsole/test/browser_webconsole_closure_inspection.js
devtools/client/webconsole/test/browser_webconsole_console_logging_api.js
devtools/client/webconsole/test/browser_webconsole_console_logging_workers_api.js
devtools/client/webconsole/test/browser_webconsole_context_menu_open_in_var_view.js
devtools/client/webconsole/test/browser_webconsole_context_menu_store_as_global.js
devtools/client/webconsole/test/browser_webconsole_count.js
devtools/client/webconsole/test/browser_webconsole_exception_stackframe.js
devtools/client/webconsole/test/browser_webconsole_execution_scope.js
devtools/client/webconsole/test/browser_webconsole_history.js
devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js
devtools/client/webconsole/test/browser_webconsole_js_input_expansion.js
devtools/client/webconsole/test/browser_webconsole_jsterm.js
devtools/client/webconsole/test/browser_webconsole_live_filtering_of_message_types.js
devtools/client/webconsole/test/browser_webconsole_live_filtering_on_search_strings.js
devtools/client/webconsole/test/browser_webconsole_message_node_id.js
devtools/client/webconsole/test/browser_webconsole_multiline_input.js
devtools/client/webconsole/test/browser_webconsole_netlogging.js
devtools/client/webconsole/test/browser_webconsole_open-links-without-callback.js
devtools/client/webconsole/test/browser_webconsole_output_01.js
devtools/client/webconsole/test/browser_webconsole_output_02.js
devtools/client/webconsole/test/browser_webconsole_output_03.js
devtools/client/webconsole/test/browser_webconsole_output_04.js
devtools/client/webconsole/test/browser_webconsole_output_05.js
devtools/client/webconsole/test/browser_webconsole_output_06.js
devtools/client/webconsole/test/browser_webconsole_output_copy_newlines.js
devtools/client/webconsole/test/browser_webconsole_output_dom_elements_01.js
devtools/client/webconsole/test/browser_webconsole_output_dom_elements_02.js
devtools/client/webconsole/test/browser_webconsole_output_dom_elements_03.js
devtools/client/webconsole/test/browser_webconsole_output_dom_elements_04.js
devtools/client/webconsole/test/browser_webconsole_output_order.js
devtools/client/webconsole/test/browser_webconsole_output_table.js
devtools/client/webconsole/test/browser_webconsole_promise.js
devtools/client/webconsole/test/browser_webconsole_scratchpad_panel_link.js
devtools/client/webconsole/test/browser_webconsole_script_errordoc_urls.js
devtools/client/webconsole/test/browser_webconsole_show_subresource_security_errors.js
devtools/client/webconsole/test/browser_webconsole_split.js
devtools/client/webconsole/test/browser_webconsole_split_escape_key.js
devtools/client/webconsole/test/browser_webconsole_split_focus.js
devtools/client/webconsole/test/browser_webconsole_split_persist.js
devtools/client/webconsole/test/browser_webconsole_trackingprotection_errors.js
devtools/client/webconsole/test/browser_webconsole_view_source.js
devtools/client/webconsole/test/head.js
devtools/client/webconsole/test/test-bug-595934-canvas-css.js
devtools/client/webconsole/test/test-bug-595934-empty-getelementbyid.js
devtools/client/webconsole/test/test-bug-595934-workers.js
devtools/client/webconsole/test/test-bug-603750-websocket.js
devtools/client/webconsole/test/test-bug-766001-js-errors.js
devtools/client/webconsole/webconsole.js
devtools/client/webide/components/webideCli.js
devtools/client/webide/content/addons.js
devtools/client/webide/content/logs.js
devtools/client/webide/content/monitor.js
devtools/client/webide/content/newapp.js
devtools/client/webide/content/permissionstable.js
devtools/client/webide/content/project-panel.js
devtools/client/webide/content/runtime-panel.js
devtools/client/webide/content/runtimedetails.js
devtools/client/webide/content/simulator.js
devtools/client/webide/content/webide.js
devtools/client/webide/modules/addons.js
devtools/client/webide/modules/app-manager.js
devtools/client/webide/modules/app-projects.js
devtools/client/webide/modules/app-validator.js
devtools/client/webide/modules/build.js
devtools/client/webide/modules/config-view.js
devtools/client/webide/modules/project-list.js
devtools/client/webide/modules/runtime-list.js
devtools/client/webide/modules/runtimes.js
devtools/client/webide/modules/simulator-process.js
devtools/client/webide/modules/simulators.js
devtools/client/webide/modules/tab-store.js
devtools/client/webide/modules/utils.js
devtools/client/webide/test/browser_tabs.js
devtools/client/webide/test/browser_widget.js
devtools/client/webide/test/device_front_shared.js
devtools/server/actors/actor-registry.js
devtools/server/actors/addon.js
devtools/server/actors/animation.js
devtools/server/actors/breakpoint.js
devtools/server/actors/call-watcher.js
devtools/server/actors/canvas.js
devtools/server/actors/child-process.js
devtools/server/actors/childtab.js
devtools/server/actors/chrome.js
devtools/server/actors/common.js
devtools/server/actors/csscoverage.js
devtools/server/actors/device.js
devtools/server/actors/director-manager.js
devtools/server/actors/director-registry.js
devtools/server/actors/environment.js
devtools/server/actors/errordocs.js
devtools/server/actors/eventlooplag.js
devtools/server/actors/frame.js
devtools/server/actors/framerate.js
devtools/server/actors/gcli.js
devtools/server/actors/highlighters.js
devtools/server/actors/highlighters/auto-refresh.js
devtools/server/actors/highlighters/box-model.js
devtools/server/actors/highlighters/css-transform.js
devtools/server/actors/highlighters/geometry-editor.js
devtools/server/actors/highlighters/rect.js
devtools/server/actors/highlighters/rulers.js
devtools/server/actors/highlighters/selector.js
devtools/server/actors/highlighters/simple-outline.js
devtools/server/actors/highlighters/utils/markup.js
devtools/server/actors/inspector.js
devtools/server/actors/layout.js
devtools/server/actors/memory.js
devtools/server/actors/memprof.js
devtools/server/actors/monitor.js
devtools/server/actors/object.js
devtools/server/actors/performance-entries.js
devtools/server/actors/performance-recording.js
devtools/server/actors/performance.js
devtools/server/actors/preference.js
devtools/server/actors/pretty-print-worker.js
devtools/server/actors/process.js
devtools/server/actors/profiler.js
devtools/server/actors/promises.js
devtools/server/actors/root.js
devtools/server/actors/script.js
devtools/server/actors/settings.js
devtools/server/actors/source.js
devtools/server/actors/storage.js
devtools/server/actors/string.js
devtools/server/actors/styleeditor.js
devtools/server/actors/stylesheets.js
devtools/server/actors/timeline.js
devtools/server/actors/utils/TabSources.js
devtools/server/actors/utils/actor-registry-utils.js
devtools/server/actors/utils/make-debugger.js
devtools/server/actors/utils/stack.js
devtools/server/actors/utils/walker-search.js
devtools/server/actors/webapps.js
devtools/server/actors/webaudio.js
devtools/server/actors/webbrowser.js
devtools/server/actors/webconsole.js
devtools/server/actors/webgl.js
devtools/server/actors/worker.js
devtools/server/child.js
devtools/server/content-globals.js
devtools/server/main.js
devtools/server/performance/framerate.js
devtools/server/performance/memory.js
devtools/server/performance/profiler.js
devtools/server/performance/recorder.js
devtools/server/performance/timeline.js
devtools/server/primitive.js
devtools/server/tests/browser/browser_animation_emitMutations.js
devtools/server/tests/browser/browser_animation_getFrames.js
devtools/server/tests/browser/browser_animation_getMultipleStates.js
devtools/server/tests/browser/browser_animation_getPlayers.js
devtools/server/tests/browser/browser_animation_getProperties.js
devtools/server/tests/browser/browser_animation_getStateAfterFinished.js
devtools/server/tests/browser/browser_animation_getSubTreeAnimations.js
devtools/server/tests/browser/browser_animation_keepFinished.js
devtools/server/tests/browser/browser_animation_playPauseIframe.js
devtools/server/tests/browser/browser_animation_playPauseSeveral.js
devtools/server/tests/browser/browser_animation_playerState.js
devtools/server/tests/browser/browser_animation_refreshTransitions.js
devtools/server/tests/browser/browser_animation_setCurrentTime.js
devtools/server/tests/browser/browser_animation_setPlaybackRate.js
devtools/server/tests/browser/browser_animation_simple.js
devtools/server/tests/browser/browser_animation_updatedState.js
devtools/server/tests/browser/browser_canvasframe_helper_01.js
devtools/server/tests/browser/browser_canvasframe_helper_02.js
devtools/server/tests/browser/browser_canvasframe_helper_03.js
devtools/server/tests/browser/browser_canvasframe_helper_04.js
devtools/server/tests/browser/browser_canvasframe_helper_05.js
devtools/server/tests/browser/browser_canvasframe_helper_06.js
devtools/server/tests/browser/browser_directorscript_actors.js
devtools/server/tests/browser/browser_directorscript_actors_error_events.js
devtools/server/tests/browser/browser_directorscript_actors_exports.js
devtools/server/tests/browser/browser_markers-cycle-collection.js
devtools/server/tests/browser/browser_markers-docloading-01.js
devtools/server/tests/browser/browser_markers-docloading-02.js
devtools/server/tests/browser/browser_markers-docloading-03.js
devtools/server/tests/browser/browser_markers-gc.js
devtools/server/tests/browser/browser_markers-minor-gc.js
devtools/server/tests/browser/browser_markers-parse-html.js
devtools/server/tests/browser/browser_markers-styles.js
devtools/server/tests/browser/browser_markers-timestamp.js
devtools/server/tests/browser/browser_navigateEvents.js
devtools/server/tests/browser/browser_perf-allocation-data.js
devtools/server/tests/browser/browser_perf-profiler-01.js
devtools/server/tests/browser/browser_perf-profiler-02.js
devtools/server/tests/browser/browser_perf-profiler-03.js
devtools/server/tests/browser/browser_perf-realtime-markers.js
devtools/server/tests/browser/browser_perf-recording-actor-01.js
devtools/server/tests/browser/browser_perf-recording-actor-02.js
devtools/server/tests/browser/browser_perf-samples-01.js
devtools/server/tests/browser/browser_perf-samples-02.js
devtools/server/tests/browser/browser_register_actor.js
devtools/server/tests/browser/browser_storage_dynamic_windows.js
devtools/server/tests/browser/browser_storage_listings.js
devtools/server/tests/browser/browser_storage_updates.js
devtools/server/tests/browser/browser_stylesheets_getTextEmpty.js
devtools/server/tests/browser/browser_stylesheets_nested-iframes.js
devtools/server/tests/browser/browser_timeline.js
devtools/server/tests/browser/browser_timeline_actors.js
devtools/server/tests/browser/browser_timeline_iframes.js
devtools/server/tests/browser/head.js
devtools/server/tests/browser/storage-helpers.js
devtools/server/tests/mochitest/director-helpers.js
devtools/server/tests/mochitest/hello-actor.js
devtools/server/tests/mochitest/inspector-helpers.js
devtools/server/tests/mochitest/memory-helpers.js
devtools/server/tests/mochitest/memprof-helpers.js
devtools/server/tests/mochitest/setup-in-child.js
devtools/server/tests/mochitest/setup-in-parent.js
devtools/server/tests/unit/head_dbg.js
devtools/server/tests/unit/registertestactors-01.js
devtools/server/tests/unit/registertestactors-02.js
devtools/server/tests/unit/registertestactors-03.js
devtools/server/tests/unit/sourcemapped.js
devtools/server/tests/unit/test_ScriptStore.js
devtools/server/tests/unit/test_actor-registry-actor.js
devtools/server/tests/unit/test_animation_name.js
devtools/server/tests/unit/test_animation_type.js
devtools/server/tests/unit/test_attach.js
devtools/server/tests/unit/test_blackboxing-01.js
devtools/server/tests/unit/test_blackboxing-02.js
devtools/server/tests/unit/test_blackboxing-03.js
devtools/server/tests/unit/test_blackboxing-04.js
devtools/server/tests/unit/test_blackboxing-05.js
devtools/server/tests/unit/test_blackboxing-06.js
devtools/server/tests/unit/test_blackboxing-07.js
devtools/server/tests/unit/test_breakpoint-01.js
devtools/server/tests/unit/test_breakpoint-02.js
devtools/server/tests/unit/test_breakpoint-03.js
devtools/server/tests/unit/test_breakpoint-04.js
devtools/server/tests/unit/test_breakpoint-05.js
devtools/server/tests/unit/test_breakpoint-06.js
devtools/server/tests/unit/test_breakpoint-07.js
devtools/server/tests/unit/test_breakpoint-08.js
devtools/server/tests/unit/test_breakpoint-09.js
devtools/server/tests/unit/test_breakpoint-10.js
devtools/server/tests/unit/test_breakpoint-11.js
devtools/server/tests/unit/test_breakpoint-12.js
devtools/server/tests/unit/test_breakpoint-13.js
devtools/server/tests/unit/test_breakpoint-14.js
devtools/server/tests/unit/test_breakpoint-16.js
devtools/server/tests/unit/test_breakpoint-17.js
devtools/server/tests/unit/test_breakpoint-18.js
devtools/server/tests/unit/test_breakpoint-19.js
devtools/server/tests/unit/test_breakpoint-20.js
devtools/server/tests/unit/test_breakpoint-21.js
devtools/server/tests/unit/test_breakpoint-actor-map.js
devtools/server/tests/unit/test_client_close.js
devtools/server/tests/unit/test_client_request.js
devtools/server/tests/unit/test_conditional_breakpoint-02.js
devtools/server/tests/unit/test_dbgactor.js
devtools/server/tests/unit/test_dbgclient_debuggerstatement.js
devtools/server/tests/unit/test_dbgglobal.js
devtools/server/tests/unit/test_eval-01.js
devtools/server/tests/unit/test_eval-02.js
devtools/server/tests/unit/test_eval-03.js
devtools/server/tests/unit/test_eval-04.js
devtools/server/tests/unit/test_eval-05.js
devtools/server/tests/unit/test_eventlooplag_actor.js
devtools/server/tests/unit/test_forwardingprefix.js
devtools/server/tests/unit/test_frameactor-01.js
devtools/server/tests/unit/test_frameactor-02.js
devtools/server/tests/unit/test_frameactor-03.js
devtools/server/tests/unit/test_frameactor-04.js
devtools/server/tests/unit/test_frameactor-05.js
devtools/server/tests/unit/test_framearguments-01.js
devtools/server/tests/unit/test_framebindings-01.js
devtools/server/tests/unit/test_framebindings-02.js
devtools/server/tests/unit/test_framebindings-03.js
devtools/server/tests/unit/test_framebindings-04.js
devtools/server/tests/unit/test_framebindings-05.js
devtools/server/tests/unit/test_framebindings-06.js
devtools/server/tests/unit/test_framebindings-07.js
devtools/server/tests/unit/test_frameclient-01.js
devtools/server/tests/unit/test_frameclient-02.js
devtools/server/tests/unit/test_functiongrips-01.js
devtools/server/tests/unit/test_get-executable-lines-source-map.js
devtools/server/tests/unit/test_get-executable-lines.js
devtools/server/tests/unit/test_getRuleText.js
devtools/server/tests/unit/test_getyoungestframe.js
devtools/server/tests/unit/test_ignore_caught_exceptions.js
devtools/server/tests/unit/test_ignore_no_interface_exceptions.js
devtools/server/tests/unit/test_interrupt.js
devtools/server/tests/unit/test_layout-reflows-observer.js
devtools/server/tests/unit/test_longstringgrips-01.js
devtools/server/tests/unit/test_longstringgrips-02.js
devtools/server/tests/unit/test_monitor_actor.js
devtools/server/tests/unit/test_nativewrappers.js
devtools/server/tests/unit/test_new_source-01.js
devtools/server/tests/unit/test_objectgrips-01.js
devtools/server/tests/unit/test_objectgrips-02.js
devtools/server/tests/unit/test_objectgrips-03.js
devtools/server/tests/unit/test_objectgrips-04.js
devtools/server/tests/unit/test_objectgrips-05.js
devtools/server/tests/unit/test_objectgrips-06.js
devtools/server/tests/unit/test_objectgrips-07.js
devtools/server/tests/unit/test_objectgrips-08.js
devtools/server/tests/unit/test_objectgrips-09.js
devtools/server/tests/unit/test_objectgrips-10.js
devtools/server/tests/unit/test_objectgrips-11.js
devtools/server/tests/unit/test_objectgrips-12.js
devtools/server/tests/unit/test_objectgrips-13.js
devtools/server/tests/unit/test_pause_exceptions-01.js
devtools/server/tests/unit/test_pause_exceptions-02.js
devtools/server/tests/unit/test_pauselifetime-01.js
devtools/server/tests/unit/test_pauselifetime-02.js
devtools/server/tests/unit/test_pauselifetime-03.js
devtools/server/tests/unit/test_pauselifetime-04.js
devtools/server/tests/unit/test_profiler_activation-01.js
devtools/server/tests/unit/test_profiler_bufferstatus.js
devtools/server/tests/unit/test_profiler_data.js
devtools/server/tests/unit/test_profiler_events-01.js
devtools/server/tests/unit/test_profiler_events-02.js
devtools/server/tests/unit/test_profiler_getbufferinfo.js
devtools/server/tests/unit/test_promise_state-01.js
devtools/server/tests/unit/test_promise_state-02.js
devtools/server/tests/unit/test_promise_state-03.js
devtools/server/tests/unit/test_promises_actor_attach.js
devtools/server/tests/unit/test_promises_actor_exist.js
devtools/server/tests/unit/test_promises_actor_list_promises.js
devtools/server/tests/unit/test_promises_actor_onnewpromise.js
devtools/server/tests/unit/test_promises_actor_onpromisesettled.js
devtools/server/tests/unit/test_promises_client_getdependentpromises.js
devtools/server/tests/unit/test_promises_object_creationtimestamp.js
devtools/server/tests/unit/test_promises_object_timetosettle-01.js
devtools/server/tests/unit/test_promises_object_timetosettle-02.js
devtools/server/tests/unit/test_protocolSpec.js
devtools/server/tests/unit/test_protocol_abort.js
devtools/server/tests/unit/test_protocol_async.js
devtools/server/tests/unit/test_protocol_children.js
devtools/server/tests/unit/test_protocol_formtype.js
devtools/server/tests/unit/test_protocol_longstring.js
devtools/server/tests/unit/test_protocol_simple.js
devtools/server/tests/unit/test_protocol_stack.js
devtools/server/tests/unit/test_protocol_unregister.js
devtools/server/tests/unit/test_registerClient.js
devtools/server/tests/unit/test_requestTypes.js
devtools/server/tests/unit/test_source-01.js
devtools/server/tests/unit/test_sourcemaps-01.js
devtools/server/tests/unit/test_sourcemaps-02.js
devtools/server/tests/unit/test_sourcemaps-03.js
devtools/server/tests/unit/test_sourcemaps-04.js
devtools/server/tests/unit/test_sourcemaps-05.js
devtools/server/tests/unit/test_sourcemaps-06.js
devtools/server/tests/unit/test_sourcemaps-07.js
devtools/server/tests/unit/test_sourcemaps-08.js
devtools/server/tests/unit/test_sourcemaps-09.js
devtools/server/tests/unit/test_sourcemaps-10.js
devtools/server/tests/unit/test_sourcemaps-11.js
devtools/server/tests/unit/test_sourcemaps-12.js
devtools/server/tests/unit/test_sourcemaps-13.js
devtools/server/tests/unit/test_sourcemaps-16.js
devtools/server/tests/unit/test_sourcemaps-17.js
devtools/server/tests/unit/test_stepping-01.js
devtools/server/tests/unit/test_stepping-02.js
devtools/server/tests/unit/test_stepping-03.js
devtools/server/tests/unit/test_stepping-04.js
devtools/server/tests/unit/test_stepping-05.js
devtools/server/tests/unit/test_stepping-06.js
devtools/server/tests/unit/test_stepping-07.js
devtools/server/tests/unit/test_symbols-01.js
devtools/server/tests/unit/test_symbols-02.js
devtools/server/tests/unit/test_threadlifetime-01.js
devtools/server/tests/unit/test_threadlifetime-02.js
devtools/server/tests/unit/test_threadlifetime-03.js
devtools/server/tests/unit/test_threadlifetime-04.js
devtools/server/tests/unit/test_threadlifetime-05.js
devtools/server/tests/unit/test_threadlifetime-06.js
devtools/server/tests/unit/test_unsafeDereference.js
devtools/server/tests/unit/test_xpcshell_debugging.js
devtools/server/tests/unit/testactors.js
devtools/server/tests/unit/xpcshell_debugging_script.js
devtools/server/worker.js
devtools/shared/DevToolsUtils.js
devtools/shared/Loader.jsm
devtools/shared/ThreadSafeDevToolsUtils.js
devtools/shared/apps/app-actor-front.js
devtools/shared/apps/tests/debugger-protocol-helper.js
devtools/shared/apps/tests/unit/head_apps.js
devtools/shared/apps/tests/unit/test_webappsActor.js
devtools/shared/async-storage.js
devtools/shared/async-utils.js
devtools/shared/builtin-modules.js
devtools/shared/client/connection-manager.js
devtools/shared/client/main.js
devtools/shared/content-observer.js
devtools/shared/deprecated-sync-thenables.js
devtools/shared/discovery/discovery.js
devtools/shared/discovery/tests/unit/test_discovery.js
devtools/shared/event-emitter.js
devtools/shared/event-parsers.js
devtools/shared/heapsnapshot/CensusUtils.js
devtools/shared/heapsnapshot/HeapAnalysesClient.js
devtools/shared/heapsnapshot/HeapAnalysesWorker.js
devtools/shared/heapsnapshot/census-tree-node.js
devtools/shared/heapsnapshot/tests/unit/Census.jsm
devtools/shared/heapsnapshot/tests/unit/head_heapsnapshot.js
devtools/shared/heapsnapshot/tests/unit/test_DominatorTreeNode_insert_03.js
devtools/shared/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_04.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_01.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_02.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_06.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_07.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_08.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_10.js
devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_11.js
devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-04.js
devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-05.js
devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-06.js
devtools/shared/heapsnapshot/tests/unit/test_census_diff_05.js
devtools/shared/heapsnapshot/tests/unit/test_census_filtering_02.js
devtools/shared/indentation.js
devtools/shared/inspector/css-logic.js
devtools/shared/path.js
devtools/shared/performance/recording-common.js
devtools/shared/performance/recording-utils.js
devtools/shared/protocol.js
devtools/shared/qrcode/index.js
devtools/shared/security/auth.js
devtools/shared/security/cert.js
devtools/shared/security/prompt.js
devtools/shared/security/socket.js
devtools/shared/security/tests/unit/test_encryption.js
devtools/shared/security/tests/unit/test_oob_cert_auth.js
devtools/shared/security/tests/unit/testactors.js
devtools/shared/system.js
devtools/shared/tests/browser/browser_async_storage.js
devtools/shared/tests/unit/test_async-utils.js
devtools/shared/tests/unit/test_console_filtering.js
devtools/shared/tests/unit/test_defineLazyPrototypeGetter.js
devtools/shared/tests/unit/test_executeSoon.js
devtools/shared/tests/unit/test_indentation.js
devtools/shared/tests/unit/test_invisible_loader.js
devtools/shared/tests/unit/test_safeErrorString.js
devtools/shared/touch/simulator-content.js
devtools/shared/transport/packets.js
devtools/shared/transport/stream-utils.js
devtools/shared/transport/tests/unit/head_dbg.js
devtools/shared/transport/tests/unit/test_bulk_error.js
devtools/shared/transport/tests/unit/test_client_server_bulk.js
devtools/shared/transport/tests/unit/test_dbgsocket.js
devtools/shared/transport/tests/unit/test_dbgsocket_connection_drop.js
devtools/shared/transport/tests/unit/test_delimited_read.js
devtools/shared/transport/tests/unit/test_no_bulk.js
devtools/shared/transport/tests/unit/test_queue.js
devtools/shared/transport/tests/unit/test_transport_bulk.js
devtools/shared/transport/tests/unit/testactors-no-bulk.js
devtools/shared/transport/tests/unit/testactors.js
devtools/shared/transport/transport.js
devtools/shared/webconsole/test/common.js
devtools/shared/webconsole/test/console-test-worker.js
devtools/shared/webconsole/test/helper_serviceworker.js
devtools/shared/webconsole/test/unit/test_network_helper.js
devtools/shared/webconsole/test/unit/test_security-info-certificate.js
devtools/shared/webconsole/test/unit/test_security-info-parser.js
devtools/shared/webconsole/test/unit/test_security-info-protocol-version.js
devtools/shared/webconsole/test/unit/test_security-info-state.js
devtools/shared/webconsole/test/unit/test_security-info-static-hpkp.js
devtools/shared/webconsole/test/unit/test_security-info-weakness-reasons.js
devtools/shared/worker/helper.js
devtools/shared/worker/loader.js
devtools/shared/worker/tests/browser/browser_worker-01.js
devtools/shared/worker/tests/browser/browser_worker-02.js
devtools/shared/worker/tests/browser/browser_worker-03.js
devtools/shared/worker/worker.js
--- a/devtools/client/canvasdebugger/callslist.js
+++ b/devtools/client/canvasdebugger/callslist.js
@@ -8,17 +8,17 @@
 /**
  * Functions handling details about a single recorded animation frame snapshot
  * (the calls list, rendering preview, thumbnails filmstrip etc.).
  */
 var CallsListView = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     this.widget = new SideMenuWidget($("#calls-list"));
     this._slider = $("#calls-slider");
     this._searchbox = $("#calls-searchbox");
     this._filmstrip = $("#snapshot-filmstrip");
 
     this._onSelect = this._onSelect.bind(this);
     this._onSlideMouseDown = this._onSlideMouseDown.bind(this);
     this._onSlideMouseUp = this._onSlideMouseUp.bind(this);
@@ -35,32 +35,32 @@ var CallsListView = Heritage.extend(Widg
     this._slider.addEventListener("change", this._onSlide, false);
     this._searchbox.addEventListener("input", this._onSearch, false);
     this._filmstrip.addEventListener("wheel", this._onScroll, false);
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: function() {
+  destroy: function () {
     this.widget.removeEventListener("select", this._onSelect, false);
     this._slider.removeEventListener("mousedown", this._onSlideMouseDown, false);
     this._slider.removeEventListener("mouseup", this._onSlideMouseUp, false);
     this._slider.removeEventListener("change", this._onSlide, false);
     this._searchbox.removeEventListener("input", this._onSearch, false);
     this._filmstrip.removeEventListener("wheel", this._onScroll, false);
   },
 
   /**
    * Populates this container with a list of function calls.
    *
    * @param array functionCalls
    *        A list of function call actors received from the backend.
    */
-  showCalls: function(functionCalls) {
+  showCalls: function (functionCalls) {
     this.empty();
 
     for (let i = 0, len = functionCalls.length; i < len; i++) {
       let call = functionCalls[i];
 
       let view = document.createElement("vbox");
       view.className = "call-item-view devtools-monospace";
       view.setAttribute("flex", "1");
@@ -151,17 +151,17 @@ var CallsListView = Heritage.extend(Widg
 
   /**
    * Displays an image in the rendering preview of this container, generated
    * for the specified draw call in the recorded animation frame snapshot.
    *
    * @param array screenshot
    *        A single "snapshot-image" instance received from the backend.
    */
-  showScreenshot: function(screenshot) {
+  showScreenshot: function (screenshot) {
     let { index, width, height, scaling, flipped, pixels } = screenshot;
 
     let screenshotNode = $("#screenshot-image");
     screenshotNode.setAttribute("flipped", flipped);
     drawBackground("screenshot-rendering", width, height, pixels);
 
     let dimensionsNode = $("#screenshot-dimensions");
     let actualWidth = (width / scaling) | 0;
@@ -174,17 +174,17 @@ var CallsListView = Heritage.extend(Widg
 
   /**
    * Populates this container's footer with a list of thumbnails, one generated
    * for each draw call in the recorded animation frame snapshot.
    *
    * @param array thumbnails
    *        An array of "snapshot-image" instances received from the backend.
    */
-  showThumbnails: function(thumbnails) {
+  showThumbnails: function (thumbnails) {
     while (this._filmstrip.hasChildNodes()) {
       this._filmstrip.firstChild.remove();
     }
     for (let thumbnail of thumbnails) {
       this.appendThumbnail(thumbnail);
     }
 
     window.emit(EVENTS.THUMBNAILS_DISPLAYED);
@@ -192,17 +192,17 @@ var CallsListView = Heritage.extend(Widg
 
   /**
    * Displays an image in the thumbnails list of this container, generated
    * for the specified draw call in the recorded animation frame snapshot.
    *
    * @param array thumbnail
    *        A single "snapshot-image" instance received from the backend.
    */
-  appendThumbnail: function(thumbnail) {
+  appendThumbnail: function (thumbnail) {
     let { index, width, height, flipped, pixels } = thumbnail;
 
     let thumbnailNode = document.createElementNS(HTML_NS, "canvas");
     thumbnailNode.setAttribute("flipped", flipped);
     thumbnailNode.width = Math.max(CanvasFront.THUMBNAIL_SIZE, width);
     thumbnailNode.height = Math.max(CanvasFront.THUMBNAIL_SIZE, height);
     drawImage(thumbnailNode, width, height, pixels, { centered: true });
 
@@ -221,17 +221,17 @@ var CallsListView = Heritage.extend(Widg
    *        The context function call's index.
    */
   set highlightedThumbnail(index) {
     let currHighlightedThumbnail = $(".filmstrip-thumbnail[index='" + index + "']");
     if (currHighlightedThumbnail == null) {
       return;
     }
 
-    let prevIndex = this._highlightedThumbnailIndex
+    let prevIndex = this._highlightedThumbnailIndex;
     let prevHighlightedThumbnail = $(".filmstrip-thumbnail[index='" + prevIndex + "']");
     if (prevHighlightedThumbnail) {
       prevHighlightedThumbnail.removeAttribute("highlighted");
     }
 
     currHighlightedThumbnail.setAttribute("highlighted", "");
     currHighlightedThumbnail.scrollIntoView();
     this._highlightedThumbnailIndex = index;
@@ -243,17 +243,17 @@ var CallsListView = Heritage.extend(Widg
    */
   get highlightedThumbnail() {
     return this._highlightedThumbnailIndex;
   },
 
   /**
    * The select listener for this container.
    */
-  _onSelect: function({ detail: callItem }) {
+  _onSelect: function ({ detail: callItem }) {
     if (!callItem) {
       return;
     }
 
     // Some of the stepping buttons don't make sense specifically while the
     // last function call is selected.
     if (this.selectedIndex == this.itemCount - 1) {
       $("#resume").setAttribute("disabled", "true");
@@ -278,43 +278,43 @@ var CallsListView = Heritage.extend(Widg
     }
 
     // To keep continuous selection buttery smooth (for example, while pressing
     // the DOWN key or moving the slider), only display the screenshot after
     // any kind of user input stops.
     setConditionalTimeout("screenshot-display", SCREENSHOT_DISPLAY_DELAY, () => {
       return !this._isSliding;
     }, () => {
-      let frameSnapshot = SnapshotsListView.selectedItem.attachment.actor
+      let frameSnapshot = SnapshotsListView.selectedItem.attachment.actor;
       let functionCall = callItem.attachment.actor;
       frameSnapshot.generateScreenshotFor(functionCall).then(screenshot => {
         this.showScreenshot(screenshot);
         this.highlightedThumbnail = screenshot.index;
       }).catch(e => console.error(e));
     });
   },
 
   /**
    * The mousedown listener for the call selection slider.
    */
-  _onSlideMouseDown: function() {
+  _onSlideMouseDown: function () {
     this._isSliding = true;
   },
 
   /**
    * The mouseup listener for the call selection slider.
    */
-  _onSlideMouseUp: function() {
+  _onSlideMouseUp: function () {
     this._isSliding = false;
   },
 
   /**
    * The change listener for the call selection slider.
    */
-  _onSlide: function() {
+  _onSlide: function () {
     // Avoid performing any operations when programatically changing the value.
     if (this._ignoreSliderChanges) {
       return;
     }
     let selectedFunctionCallIndex = this.selectedIndex = this._slider.value;
 
     // While sliding, immediately show the most relevant thumbnail for a
     // function call, for a nice diff-like animation effect between draws.
@@ -338,17 +338,17 @@ var CallsListView = Heritage.extend(Widg
     let screenshotNode = $("#screenshot-image");
     screenshotNode.setAttribute("flipped", flipped);
     drawBackground("screenshot-rendering", width, height, pixels);
   },
 
   /**
    * The input listener for the calls searchbox.
    */
-  _onSearch: function(e) {
+  _onSearch: function (e) {
     let lowerCaseSearchToken = this._searchbox.value.toLowerCase();
 
     this.filterContents(e => {
       let call = e.attachment.actor;
       let name = call.name.toLowerCase();
       let file = call.file.toLowerCase();
       let line = call.line.toString().toLowerCase();
       let args = call.argsPreview.toLowerCase();
@@ -358,25 +358,25 @@ var CallsListView = Heritage.extend(Widg
              line.includes(lowerCaseSearchToken) ||
              args.includes(lowerCaseSearchToken);
     });
   },
 
   /**
    * The wheel listener for the filmstrip that contains all the thumbnails.
    */
-  _onScroll: function(e) {
+  _onScroll: function (e) {
     this._filmstrip.scrollLeft += e.deltaX;
   },
 
   /**
    * The click/dblclick listener for an item or location url in this container.
    * When expanding an item, it's corresponding call stack will be displayed.
    */
-  _onExpand: function(e) {
+  _onExpand: function (e) {
     let callItem = this.getItemForElement(e.target);
     let view = $(".call-item-view", callItem.target);
 
     // If the call stack nodes were already created, simply re-show them
     // or jump to the corresponding file and line in the Debugger if a
     // location link was clicked.
     if (view.hasAttribute("call-stack-populated")) {
       let isExpanded = view.getAttribute("call-stack-expanded") == "true";
@@ -450,69 +450,69 @@ var CallsListView = Heritage.extend(Widg
   /**
    * The click listener for a location link in the call stack.
    *
    * @param string file
    *        The url of the source owning the function.
    * @param number line
    *        The line of the respective function.
    */
-  _onStackFileClick: function(e, { file, line }) {
+  _onStackFileClick: function (e, { file, line }) {
     this._viewSourceInDebugger(file, line);
   },
 
   /**
    * The click listener for a thumbnail in the filmstrip.
    *
    * @param number index
    *        The function index in the recorded animation frame snapshot.
    */
-  _onThumbnailClick: function(e, index) {
+  _onThumbnailClick: function (e, index) {
     this.selectedIndex = index;
   },
 
   /**
    * The click listener for the "resume" button in this container's toolbar.
    */
-  _onResume: function() {
+  _onResume: function () {
     // Jump to the next draw call in the recorded animation frame snapshot.
     let drawCall = getNextDrawCall(this.items, this.selectedItem);
     if (drawCall) {
       this.selectedItem = drawCall;
       return;
     }
 
     // If there are no more draw calls, just jump to the last context call.
     this._onStepOut();
   },
 
   /**
    * The click listener for the "step over" button in this container's toolbar.
    */
-  _onStepOver: function() {
+  _onStepOver: function () {
     this.selectedIndex++;
   },
 
   /**
    * The click listener for the "step in" button in this container's toolbar.
    */
-  _onStepIn: function() {
+  _onStepIn: function () {
     if (this.selectedIndex == -1) {
       this._onResume();
       return;
     }
     let callItem = this.selectedItem;
     let { file, line } = callItem.attachment.actor;
     this._viewSourceInDebugger(file, line);
   },
 
   /**
    * The click listener for the "step out" button in this container's toolbar.
    */
-  _onStepOut: function() {
+  _onStepOut: function () {
     this.selectedIndex = this.itemCount - 1;
   },
 
   /**
    * Opens the specified file and line in the debugger. Falls back to Firefox's View Source.
    */
   _viewSourceInDebugger: function (file, line) {
     gToolbox.viewSourceInDebugger(file, line).then(success => {
--- a/devtools/client/canvasdebugger/canvasdebugger.js
+++ b/devtools/client/canvasdebugger/canvasdebugger.js
@@ -28,17 +28,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
   "resource://gre/modules/PluralForm.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
   "resource://gre/modules/FileUtils.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
   "resource://gre/modules/NetUtil.jsm");
 
-XPCOMUtils.defineLazyGetter(this, "NetworkHelper", function() {
+XPCOMUtils.defineLazyGetter(this, "NetworkHelper", function () {
   return require("devtools/shared/webconsole/network-helper");
 });
 
 // The panel's window global is an EventEmitter firing the following events:
 const EVENTS = {
   // When the UI is reset from tab navigation.
   UI_RESET: "CanvasDebugger:UIReset",
 
@@ -124,34 +124,34 @@ function shutdownCanvasDebugger() {
 
 /**
  * Functions handling target-related lifetime events.
  */
 var EventsHandler = {
   /**
    * Listen for events emitted by the current tab target.
    */
-  initialize: function() {
+  initialize: function () {
     this._onTabNavigated = this._onTabNavigated.bind(this);
     gTarget.on("will-navigate", this._onTabNavigated);
     gTarget.on("navigate", this._onTabNavigated);
   },
 
   /**
    * Remove events emitted by the current tab target.
    */
-  destroy: function() {
+  destroy: function () {
     gTarget.off("will-navigate", this._onTabNavigated);
     gTarget.off("navigate", this._onTabNavigated);
   },
 
   /**
    * Called for each location change in the debugged tab.
    */
-  _onTabNavigated: function(event) {
+  _onTabNavigated: function (event) {
     if (event != "will-navigate") {
       return;
     }
     // Make sure the backend is prepared to handle <canvas> contexts.
     gFront.setup({ reload: false });
 
     // Reset UI.
     SnapshotsListView.empty();
--- a/devtools/client/canvasdebugger/panel.js
+++ b/devtools/client/canvasdebugger/panel.js
@@ -12,28 +12,28 @@ const { CanvasFront } = require("devtool
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 
 function CanvasDebuggerPanel(iframeWindow, toolbox) {
   this.panelWin = iframeWindow;
   this._toolbox = toolbox;
   this._destroyer = null;
 
   EventEmitter.decorate(this);
-};
+}
 
 exports.CanvasDebuggerPanel = CanvasDebuggerPanel;
 
 CanvasDebuggerPanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor.
    *
    * @return object
    *         A promise that is resolved when the Canvas Debugger completes opening.
    */
-  open: function() {
+  open: function () {
     let targetPromise;
 
     // Local debugging needs to make the target remote.
     if (!this.target.isRemote) {
       targetPromise = this.target.makeRemote();
     } else {
       targetPromise = promise.resolve(this.target);
     }
@@ -56,17 +56,17 @@ CanvasDebuggerPanel.prototype = {
   },
 
   // DevToolPanel API
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: function() {
+  destroy: function () {
     // Make sure this panel is not already destroyed.
     if (this._destroyer) {
       return this._destroyer;
     }
 
     return this._destroyer = this.panelWin.shutdownCanvasDebugger().then(() => {
       // Destroy front to ensure packet handler is removed from client
       this.panelWin.gFront.destroy();
--- a/devtools/client/canvasdebugger/snapshotslist.js
+++ b/devtools/client/canvasdebugger/snapshotslist.js
@@ -7,17 +7,17 @@
 
 /**
  * Functions handling the recorded animation frame snapshots UI.
  */
 var SnapshotsListView = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     this.widget = new SideMenuWidget($("#snapshots-list"), {
       showArrows: true
     });
 
     this._onSelect = this._onSelect.bind(this);
     this._onClearButtonClick = this._onClearButtonClick.bind(this);
     this._onRecordButtonClick = this._onRecordButtonClick.bind(this);
     this._onImportButtonClick = this._onImportButtonClick.bind(this);
@@ -29,29 +29,29 @@ var SnapshotsListView = Heritage.extend(
     window.on(EVENTS.SNAPSHOT_RECORDING_FINISHED, this._enableRecordButton);
     this.emptyText = L10N.getStr("noSnapshotsText");
     this.widget.addEventListener("select", this._onSelect, false);
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: function() {
+  destroy: function () {
     clearNamedTimeout("canvas-actor-recording");
     window.off(EVENTS.SNAPSHOT_RECORDING_FINISHED, this._enableRecordButton);
     this.widget.removeEventListener("select", this._onSelect, false);
   },
 
   /**
    * Adds a snapshot entry to this container.
    *
    * @return object
    *         The newly inserted item.
    */
-  addSnapshot: function() {
+  addSnapshot: function () {
     let contents = document.createElement("hbox");
     contents.className = "snapshot-item";
 
     let thumbnail = document.createElementNS(HTML_NS, "canvas");
     thumbnail.className = "snapshot-item-thumbnail";
     thumbnail.width = CanvasFront.THUMBNAIL_SIZE;
     thumbnail.height = CanvasFront.THUMBNAIL_SIZE;
 
@@ -116,17 +116,17 @@ var SnapshotsListView = Heritage.extend(
    *
    * @param Item snapshotItem
    *        An item inserted via `SnapshotsListView.addSnapshot`.
    * @param object snapshotActor
    *        The frame snapshot actor received from the backend.
    * @param object snapshotOverview
    *        Additional data about the snapshot received from the backend.
    */
-  customizeSnapshot: function(snapshotItem, snapshotActor, snapshotOverview) {
+  customizeSnapshot: function (snapshotItem, snapshotActor, snapshotOverview) {
     // Make sure the function call actors are stored on the item,
     // to be used when populating the CallsListView.
     snapshotItem.attachment.actor = snapshotActor;
     let functionCalls = snapshotItem.attachment.calls = snapshotOverview.calls;
     let thumbnails = snapshotItem.attachment.thumbnails = snapshotOverview.thumbnails;
     let screenshot = snapshotItem.attachment.screenshot = snapshotOverview.screenshot;
 
     let lastThumbnail = thumbnails[thumbnails.length - 1];
@@ -158,33 +158,33 @@ var SnapshotsListView = Heritage.extend(
     if (!this.selectedItem) {
       this.selectedIndex = 0;
     }
   },
 
   /**
    * The select listener for this container.
    */
-  _onSelect: function({ detail: snapshotItem }) {
+  _onSelect: function ({ detail: snapshotItem }) {
     // Check to ensure the attachment has an actor, like
     // an in-progress recording.
     if (!snapshotItem || !snapshotItem.attachment.actor) {
       return;
     }
     let { calls, thumbnails, screenshot } = snapshotItem.attachment;
 
     $("#reload-notice").hidden = true;
     $("#empty-notice").hidden = true;
     $("#waiting-notice").hidden = false;
 
     $("#debugging-pane-contents").hidden = true;
     $("#screenshot-container").hidden = true;
     $("#snapshot-filmstrip").hidden = true;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       // Wait for a few milliseconds between presenting the function calls,
       // screenshot and thumbnails, to allow each component being
       // sequentially drawn. This gives the illusion of snappiness.
 
       yield DevToolsUtils.waitForTime(SNAPSHOT_DATA_DISPLAY_DELAY);
       CallsListView.showCalls(calls);
       $("#debugging-pane-contents").hidden = false;
       $("#waiting-notice").hidden = true;
@@ -199,18 +199,18 @@ var SnapshotsListView = Heritage.extend(
 
       window.emit(EVENTS.SNAPSHOT_RECORDING_SELECTED);
     });
   },
 
   /**
    * The click listener for the "clear" button in this container.
    */
-  _onClearButtonClick: function() {
-    Task.spawn(function*() {
+  _onClearButtonClick: function () {
+    Task.spawn(function* () {
       SnapshotsListView.empty();
       CallsListView.empty();
 
       $("#reload-notice").hidden = true;
       $("#empty-notice").hidden = true;
       $("#waiting-notice").hidden = true;
 
       if (yield gFront.isInitialized()) {
@@ -265,17 +265,17 @@ var SnapshotsListView = Heritage.extend(
    */
   _disableRecordButton: function () {
     $("#record-snapshot").setAttribute("disabled", true);
   },
 
   /**
    * Begins recording an animation.
    */
-  _recordAnimation: Task.async(function *() {
+  _recordAnimation: Task.async(function* () {
     if (this._recording) {
       return;
     }
     this._recording = true;
     $("#record-snapshot").setAttribute("checked", "true");
 
     setNamedTimeout("canvas-actor-recording", CANVAS_ACTOR_RECORDING_ATTEMPT, this._stopRecordingAnimation);
 
@@ -295,17 +295,17 @@ var SnapshotsListView = Heritage.extend(
     yield DevToolsUtils.waitForTime(SNAPSHOT_START_RECORDING_DELAY);
     this._enableRecordButton();
   }),
 
   /**
    * Stops recording animation. Called when a click on the stopwatch occurs during a recording,
    * or if a recording times out.
    */
-  _stopRecordingAnimation: Task.async(function *() {
+  _stopRecordingAnimation: Task.async(function* () {
     clearNamedTimeout("canvas-actor-recording");
     let actorCanStop = yield gTarget.actorHasMethod("canvas", "stopRecordingAnimationFrame");
 
     if (actorCanStop) {
       yield gFront.stopRecordingAnimationFrame();
     }
     // If actor does not have the method to stop recording (Fx39+),
     // manually call the record failure method. This will call a connection failure
@@ -318,17 +318,17 @@ var SnapshotsListView = Heritage.extend(
     this._recording = false;
     $("#record-snapshot").removeAttribute("checked");
     this._enableRecordButton();
   }),
 
   /**
    * Resolves from the front's recordAnimationFrame to setup the interface with the screenshots.
    */
-  _onRecordSuccess: Task.async(function *(snapshotActor) {
+  _onRecordSuccess: Task.async(function* (snapshotActor) {
     // Clear bail-out case if frame found in CANVAS_ACTOR_RECORDING_ATTEMPT milliseconds
     clearNamedTimeout("canvas-actor-recording");
     let snapshotItem = this.getItemAtIndex(this.itemCount - 1);
     let snapshotOverview = yield snapshotActor.getOverview();
     this.customizeSnapshot(snapshotItem, snapshotActor, snapshotOverview);
 
     this._recording = false;
     $("#record-snapshot").removeAttribute("checked");
@@ -346,17 +346,17 @@ var SnapshotsListView = Heritage.extend(
     window.emit(EVENTS.SNAPSHOT_RECORDING_CANCELLED);
     window.emit(EVENTS.SNAPSHOT_RECORDING_FINISHED);
     this.removeLastSnapshot();
   },
 
   /**
    * The click listener for the "import" button in this container.
    */
-  _onImportButtonClick: function() {
+  _onImportButtonClick: function () {
     let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
     fp.init(window, L10N.getStr("snapshotsList.saveDialogTitle"), Ci.nsIFilePicker.modeOpen);
     fp.appendFilter(L10N.getStr("snapshotsList.saveDialogJSONFilter"), "*.json");
     fp.appendFilter(L10N.getStr("snapshotsList.saveDialogAllFilter"), "*.*");
 
     if (fp.show() != Ci.nsIFilePicker.returnOK) {
       return;
     }
@@ -392,28 +392,28 @@ var SnapshotsListView = Heritage.extend(
 
       this.customizeSnapshot(snapshotItem, data.calls, data);
     });
   },
 
   /**
    * The click listener for the "save" button of each item in this container.
    */
-  _onSaveButtonClick: function(e) {
+  _onSaveButtonClick: function (e) {
     let snapshotItem = this.getItemForElement(e.target);
 
     let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
     fp.init(window, L10N.getStr("snapshotsList.saveDialogTitle"), Ci.nsIFilePicker.modeSave);
     fp.appendFilter(L10N.getStr("snapshotsList.saveDialogJSONFilter"), "*.json");
     fp.appendFilter(L10N.getStr("snapshotsList.saveDialogAllFilter"), "*.*");
     fp.defaultString = "snapshot.json";
 
     // Start serializing all the function call actors for the specified snapshot,
     // while the nsIFilePicker dialog is being opened. Snappy.
-    let serialized = Task.spawn(function*() {
+    let serialized = Task.spawn(function* () {
       let data = {
         fileType: CALLS_LIST_SERIALIZER_IDENTIFIER,
         version: CALLS_LIST_SERIALIZER_VERSION,
         calls: [],
         thumbnails: [],
         screenshot: null
       };
       let functionCalls = snapshotItem.attachment.calls;
@@ -483,15 +483,15 @@ var SnapshotsListView = Heritage.extend(
           save.removeAttribute("disabled");
           save.setAttribute("value", L10N.getStr("snapshotsList.saveLabel"));
         });
       });
     }});
   }
 });
 
-function showNotification (toolbox, name, message) {
+function showNotification(toolbox, name, message) {
   let notificationBox = toolbox.getNotificationBox();
   let notification = notificationBox.getNotificationWithValue(name);
   if (!notification) {
     notificationBox.appendNotification(message, name, "", notificationBox.PRIORITY_WARNING_HIGH);
   }
 }
--- a/devtools/client/canvasdebugger/test/browser_canvas-actor-test-02.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-actor-test-02.js
@@ -42,17 +42,17 @@ function* ifTestingSupported() {
 
   is(functionCalls[0].callerPreview, "Object",
     "The called function's caller preview is correct.");
   is(functionCalls[0].argsPreview, "0, 0, 128, 128",
     "The called function's args preview is correct.");
 
   let details = yield functionCalls[1].getDetails();
   ok(details,
-    "The first called function has some details available.")
+    "The first called function has some details available.");
 
   is(details.stack.length, 3,
     "The called function's stack depth is correct.");
 
   is(details.stack[0].name, "fillStyle",
     "The called function's stack is correct (1.1).");
   is(details.stack[0].file, SIMPLE_CANVAS_URL,
     "The called function's stack is correct (1.2).");
--- a/devtools/client/canvasdebugger/test/browser_canvas-actor-test-07.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-actor-test-07.js
@@ -51,17 +51,17 @@ function* ifTestingSupported() {
   let firstActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[0]);
   ok(sameArray(firstScreenshot.pixels, firstActualScreenshot.pixels),
     "The screenshot for the first non-draw function is correct.");
   is(firstScreenshot.width, 128,
     "The screenshot for the first non-draw function has the correct width.");
   is(firstScreenshot.height, 128,
     "The screenshot for the first non-draw function has the correct height.");
 
-  let secondActualScreenshot =  yield snapshotActor.generateScreenshotFor(functionCalls[2]);
+  let secondActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[2]);
   ok(sameArray(secondScreenshot.pixels, secondActualScreenshot.pixels),
     "The screenshot for the second non-draw function is correct.");
   is(secondScreenshot.width, 128,
     "The screenshot for the second non-draw function has the correct width.");
   is(secondScreenshot.height, 128,
     "The screenshot for the second non-draw function has the correct height.");
 
   let lastActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[6]);
--- a/devtools/client/canvasdebugger/test/browser_canvas-actor-test-11.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-actor-test-11.js
@@ -95,17 +95,17 @@ function* ifTestingSupported() {
   let firstActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[0]);
   ok(sameArray(firstScreenshot.pixels, firstActualScreenshot.pixels),
     "The screenshot for the first non-draw function is correct.");
   is(firstScreenshot.width, 128,
     "The screenshot for the first non-draw function has the correct width.");
   is(firstScreenshot.height, 128,
     "The screenshot for the first non-draw function has the correct height.");
 
-  let secondActualScreenshot =  yield snapshotActor.generateScreenshotFor(functionCalls[2]);
+  let secondActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[2]);
   ok(sameArray(secondScreenshot.pixels, secondActualScreenshot.pixels),
     "The screenshot for the second non-draw function is correct.");
   is(secondScreenshot.width, 128,
     "The screenshot for the second non-draw function has the correct width.");
   is(secondScreenshot.height, 128,
     "The screenshot for the second non-draw function has the correct height.");
 
   let lastActualScreenshot = yield snapshotActor.generateScreenshotFor(functionCalls[6]);
--- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-04.js
@@ -16,17 +16,17 @@ function* ifTestingSupported() {
   yield reload(target);
 
   let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED);
   SnapshotsListView._onRecordButtonClick();
 
   // Wait until after the recording started to trigger the content.
   // Use the gFront method rather than the SNAPSHOT_RECORDING_STARTED event
   // which triggers before the underlying actor call
-  yield waitUntil(function*() { return !(yield gFront.isRecording()); });
+  yield waitUntil(function* () { return !(yield gFront.isRecording()); });
 
   // Start animation in content
   evalInDebuggee("start();");
 
   yield recordingFinished;
   ok(true, "Finished recording a snapshot of the animation loop.");
 
   yield removeTab(target.tab);
--- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-snapshot-select-01.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-snapshot-select-01.js
@@ -8,25 +8,25 @@
 
 function* ifTestingSupported() {
   let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_URL);
   let { window, $, EVENTS, SnapshotsListView, CallsListView } = panel.panelWin;
 
   yield reload(target);
 
   yield recordAndWaitForFirstSnapshot();
-  info("First snapshot recorded.")
+  info("First snapshot recorded.");
 
   is(SnapshotsListView.selectedIndex, 0,
     "A snapshot should be automatically selected after first recording.");
   is(CallsListView.selectedIndex, -1,
     "There should be no call item automatically selected in the snapshot.");
 
   yield recordAndWaitForAnotherSnapshot();
-  info("Second snapshot recorded.")
+  info("Second snapshot recorded.");
 
   is(SnapshotsListView.selectedIndex, 0,
     "A snapshot should not be automatically selected after another recording.");
   is(CallsListView.selectedIndex, -1,
     "There should still be no call item automatically selected in the snapshot.");
 
   let secondSnapshotTarget = SnapshotsListView.getItemAtIndex(1).target;
   let snapshotSelected = waitForSnapshotSelection();
--- a/devtools/client/canvasdebugger/test/browser_profiling-canvas.js
+++ b/devtools/client/canvasdebugger/test/browser_profiling-canvas.js
@@ -29,17 +29,17 @@ function* ifTestingSupported() {
   let functionCalls = animationOverview.calls;
   ok(functionCalls,
     "An array of function call actors was sent after recording.");
   is(functionCalls.length, 8,
     "The number of function call actors is correct.");
 
   info("Check the timestamps of function calls");
 
-  for ( let i = 0; i < functionCalls.length-1; i += 2 ) {
-    ok( functionCalls[i].timestamp > 0, "The timestamp of the called function is larger than 0." );
-    ok( functionCalls[i].timestamp < currentTime, "The timestamp has been minus the frame start time." );
-    ok( functionCalls[i+1].timestamp > functionCalls[i].timestamp, "The timestamp of the called function is correct." );
+  for (let i = 0; i < functionCalls.length - 1; i += 2) {
+    ok(functionCalls[i].timestamp > 0, "The timestamp of the called function is larger than 0.");
+    ok(functionCalls[i].timestamp < currentTime, "The timestamp has been minus the frame start time.");
+    ok(functionCalls[i + 1].timestamp > functionCalls[i].timestamp, "The timestamp of the called function is correct.");
   }
 
   yield removeTab(target.tab);
   finish();
 }
--- a/devtools/client/canvasdebugger/test/head.js
+++ b/devtools/client/canvasdebugger/test/head.js
@@ -1,31 +1,31 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 var { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
 
-var { generateUUID } = Cc['@mozilla.org/uuid-generator;1'].getService(Ci.nsIUUIDGenerator);
+var { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
 var { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
 var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 
 var Services = require("Services");
 var promise = require("promise");
 var { gDevTools } = require("devtools/client/framework/devtools");
 var { DebuggerClient } = require("devtools/shared/client/main");
 var { DebuggerServer } = require("devtools/server/main");
 var { CallWatcherFront } = require("devtools/server/actors/call-watcher");
 var { CanvasFront } = require("devtools/server/actors/canvas");
 var { setTimeout } = require("sdk/timers");
 var DevToolsUtils = require("devtools/shared/DevToolsUtils");
 var { TargetFactory } = require("devtools/client/framework/target");
 var { Toolbox } = require("devtools/client/framework/toolbox");
 var { isWebGLSupported } = require("devtools/client/shared/webgl-utils");
-var mm = null
+var mm = null;
 
 const FRAME_SCRIPT_UTILS_URL = "chrome://devtools/content/shared/frame-script-utils.js";
 const EXAMPLE_URL = "http://example.com/browser/devtools/client/canvasdebugger/test/";
 const SET_TIMEOUT_URL = EXAMPLE_URL + "doc_settimeout.html";
 const NO_CANVAS_URL = EXAMPLE_URL + "doc_no-canvas.html";
 const RAF_NO_CANVAS_URL = EXAMPLE_URL + "doc_raf-no-canvas.html";
 const SIMPLE_CANVAS_URL = EXAMPLE_URL + "doc_simple-canvas.html";
 const SIMPLE_BITMASKS_URL = EXAMPLE_URL + "doc_simple-canvas-bitmasks.html";
@@ -60,17 +60,17 @@ registerCleanupFunction(() => {
   info("Forcing GC after canvas debugger test.");
   Cu.forceGC();
 });
 
 /**
  * Call manually in tests that use frame script utils after initializing
  * the shader editor. Call after init but before navigating to different pages.
  */
-function loadFrameScripts () {
+function loadFrameScripts() {
   mm = gBrowser.selectedBrowser.messageManager;
   mm.loadFrameScript(FRAME_SCRIPT_UTILS_URL, false);
 }
 
 function addTab(aUrl, aWindow) {
   info("Adding tab: " + aUrl);
 
   let deferred = promise.defer();
@@ -196,46 +196,46 @@ function initServer() {
     DebuggerServer.addBrowserActors();
   }
 }
 
 function initCallWatcherBackend(aUrl) {
   info("Initializing a call watcher front.");
   initServer();
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     let front = new CallWatcherFront(target.client, target.form);
     return { target, front };
   });
 }
 
 function initCanvasDebuggerBackend(aUrl) {
   info("Initializing a canvas debugger front.");
   initServer();
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     let front = new CanvasFront(target.client, target.form);
     return { target, front };
   });
 }
 
 function initCanvasDebuggerFrontend(aUrl) {
   info("Initializing a canvas debugger pane.");
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     Services.prefs.setBoolPref("devtools.canvasdebugger.enabled", true);
     let toolbox = yield gDevTools.showToolbox(target, "canvasdebugger");
     let panel = toolbox.getCurrentPanel();
@@ -251,28 +251,28 @@ function teardown({target}) {
     removeTab(tab);
   });
 }
 
 /**
  * Takes a string `script` and evaluates it directly in the content
  * in potentially a different process.
  */
-function evalInDebuggee (script) {
+function evalInDebuggee(script) {
   let deferred = promise.defer();
 
   if (!mm) {
     throw new Error("`loadFrameScripts()` must be called when using MessageManager.");
   }
 
   let id = generateUUID().toString();
   mm.sendAsyncMessage("devtools:test:eval", { script: script, id: id });
   mm.addMessageListener("devtools:test:eval:response", handler);
 
-  function handler ({ data }) {
+  function handler({ data }) {
     if (id !== data.id) {
       return;
     }
 
     mm.removeMessageListener("devtools:test:eval:response", handler);
     deferred.resolve(data.value);
   }
 
@@ -287,18 +287,18 @@ function getSourceActor(aSources, aURL) 
 /**
  * Waits until a predicate returns true.
  *
  * @param function predicate
  *        Invoked once in a while until it returns true.
  * @param number interval [optional]
  *        How often the predicate is invoked, in milliseconds.
  */
-function *waitUntil (predicate, interval = 10) {
+function* waitUntil(predicate, interval = 10) {
   if (yield predicate()) {
     return Promise.resolve(true);
   }
   let deferred = Promise.defer();
-  setTimeout(function() {
+  setTimeout(function () {
     waitUntil(predicate).then(() => deferred.resolve(true));
   }, interval);
   return deferred.promise;
 }
--- a/devtools/client/commandline/test/browser_cmd_addon.js
+++ b/devtools/client/commandline/test/browser_cmd_addon.js
@@ -8,188 +8,188 @@ function test() {
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab("about:blank");
   yield helpers.openToolbar(options);
 
   yield helpers.audit(options, [
     {
-      setup: 'addon list dictionary',
+      setup: "addon list dictionary",
       check: {
-        input:  'addon list dictionary',
-        hints:                       '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list dictionary",
+        hints:                       "",
+        markup: "VVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: 'There are no add-ons of that type installed.'
+        output: "There are no add-ons of that type installed."
       }
     },
     {
-      setup: 'addon list extension',
+      setup: "addon list extension",
       check: {
-        input:  'addon list extension',
-        hints:                      '',
-        markup: 'VVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list extension",
+        hints:                      "",
+        markup: "VVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
         output: [/The following/, /Mochitest/, /Special Powers/]
       }
     },
     {
-      setup: 'addon list locale',
+      setup: "addon list locale",
       check: {
-        input:  'addon list locale',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list locale",
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: 'There are no add-ons of that type installed.'
+        output: "There are no add-ons of that type installed."
       }
     },
     {
-      setup: 'addon list plugin',
+      setup: "addon list plugin",
       check: {
-        input:  'addon list plugin',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list plugin",
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
         output: [/Test Plug-in/, /Second Test Plug-in/]
       }
     },
     {
-      setup: 'addon list theme',
+      setup: "addon list theme",
       check: {
-        input:  'addon list theme',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list theme",
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
         output: [/following themes/, /Default/]
       }
     },
     {
-      setup: 'addon list all',
+      setup: "addon list all",
       check: {
-        input:  'addon list all',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon list all",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
         output: [/The following/, /Default/, /Mochitest/, /Test Plug-in/,
                  /Second Test Plug-in/, /Special Powers/]
       }
     },
     {
-      setup: 'addon disable Test_Plug-in_1.0.0.0',
+      setup: "addon disable Test_Plug-in_1.0.0.0",
       check: {
-        input:  'addon disable Test_Plug-in_1.0.0.0',
-        hints:                                    '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "addon disable Test_Plug-in_1.0.0.0",
+        hints:                                    "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: 'Test Plug-in 1.0.0.0 disabled.'
+        output: "Test Plug-in 1.0.0.0 disabled."
       }
     },
     {
-      setup: 'addon disable WRONG',
+      setup: "addon disable WRONG",
       check: {
-        input:  'addon disable WRONG',
-        hints:                     '',
-        markup: 'VVVVVVVVVVVVVVEEEEE',
-        status: 'ERROR'
+        input:  "addon disable WRONG",
+        hints:                     "",
+        markup: "VVVVVVVVVVVVVVEEEEE",
+        status: "ERROR"
       }
     },
     {
-      setup: 'addon enable Test_Plug-in_1.0.0.0',
+      setup: "addon enable Test_Plug-in_1.0.0.0",
       check: {
-        input:  'addon enable Test_Plug-in_1.0.0.0',
-        hints:                                   '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "addon enable Test_Plug-in_1.0.0.0",
+        hints:                                   "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          command: { name: 'addon enable' },
+          command: { name: "addon enable" },
           addon: {
-            value: function(addon) {
-              is(addon.name, 'Test Plug-in', 'test plugin name');
+            value: function (addon) {
+              is(addon.name, "Test Plug-in", "test plugin name");
             },
-            status: 'VALID'
+            status: "VALID"
           }
         }
       },
       exec: {
-        output: 'Test Plug-in 1.0.0.0 enabled.'
+        output: "Test Plug-in 1.0.0.0 enabled."
       }
     },
     {
-      setup: 'addon ctp Test_Plug-in_1.0.0.0',
+      setup: "addon ctp Test_Plug-in_1.0.0.0",
       check: {
-        input:  'addon ctp Test_Plug-in_1.0.0.0',
-        hints:                                '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "addon ctp Test_Plug-in_1.0.0.0",
+        hints:                                "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          command: { name: 'addon ctp' },
+          command: { name: "addon ctp" },
           addon: {
-            value: function(addon) {
-              is(addon.name, 'Test Plug-in', 'test plugin name');
+            value: function (addon) {
+              is(addon.name, "Test Plug-in", "test plugin name");
             },
-            status: 'VALID'
+            status: "VALID"
           }
         }
       },
       exec: {
-        output: 'Test Plug-in 1.0.0.0 set to click-to-play.'
+        output: "Test Plug-in 1.0.0.0 set to click-to-play."
       }
     },
     {
-      setup:  'addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null',
+      setup:  "addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null",
       check: {
-        input: 'addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null',
-        hints:                                                                    '',
-        status: 'VALID',
+        input: "addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null",
+        hints:                                                                    "",
+        status: "VALID",
         args: {
-          command: { name: 'addon ctp' },
+          command: { name: "addon ctp" },
           addon: {
-            value: function(addon) {
-              is(addon.name, 'OpenH264 Video Codec provided by Cisco Systems, Inc.', 'openh264');
+            value: function (addon) {
+              is(addon.name, "OpenH264 Video Codec provided by Cisco Systems, Inc.", "openh264");
             },
-          status: 'VALID'
+            status: "VALID"
           }
-	}
+	                                                                                }
       },
       exec: {
-        output: 'OpenH264 Video Codec provided by Cisco Systems, Inc. null cannot be set to click-to-play.'
+        output: "OpenH264 Video Codec provided by Cisco Systems, Inc. null cannot be set to click-to-play."
       }
     },
     {
-      setup:  'addon ctp Mochitest_1.0',
+      setup:  "addon ctp Mochitest_1.0",
       check: {
-        input: 'addon ctp Mochitest_1.0',
-        hints:                        '',
-        status: 'VALID',
+        input: "addon ctp Mochitest_1.0",
+        hints:                        "",
+        status: "VALID",
         args: {
-          command: { name: 'addon ctp' },
+          command: { name: "addon ctp" },
           addon: {
-            value: function(addon) {
-              is(addon.name, 'Mochitest', 'mochitest');
+            value: function (addon) {
+              is(addon.name, "Mochitest", "mochitest");
             },
-          status: 'VALID'
+            status: "VALID"
           }
-	}
+	                                                                                }
       },
       exec: {
-        output: 'Mochitest 1.0 cannot be set to click-to-play because it is not a plugin.'
+        output: "Mochitest 1.0 cannot be set to click-to-play because it is not a plugin."
       }
     }
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_appcache_invalid.js
+++ b/devtools/client/commandline/test/browser_cmd_appcache_invalid.js
@@ -8,84 +8,84 @@ const TEST_URI = "http://sub1.test1.exam
                  "test/browser_cmd_appcache_invalid_index.html";
 
 function test() {
   return Task.spawn(spawnTest).then(finish, helpers.handleError);
 }
 
 function* spawnTest() {
   let lines = [
-    'Manifest has a character encoding of ISO-8859-1. Manifests must have the ' +
-      'utf-8 character encoding.',
-    'The first line of the manifest must be \u201cCACHE MANIFEST\u201d at line 1.',
-    '\u201cCACHE MANIFEST\u201d is only valid on the first line but was found at line 3.',
-    'images/sound-icon.png points to a resource that is not available at line 9.',
-    'images/background.png points to a resource that is not available at line 10.',
-    '/checking.cgi points to a resource that is not available at line 13.',
-    'Asterisk (*) incorrectly used in the NETWORK section at line 14. If a line ' +
-      'in the NETWORK section contains only a single asterisk character, then any ' +
-      'URI not listed in the manifest will be treated as if the URI was listed in ' +
-      'the NETWORK section. Otherwise such URIs will be treated as unavailable. ' +
-    'Other uses of the * character are prohibited',
-    '../rel.html points to a resource that is not available at line 17.',
-    '../../rel.html points to a resource that is not available at line 18.',
-    '../../../rel.html points to a resource that is not available at line 19.',
-    '../../../../rel.html points to a resource that is not available at line 20.',
-    '../../../../../rel.html points to a resource that is not available at line 21.',
-    '/../ is not a valid URI prefix at line 22.',
-    '/test.css points to a resource that is not available at line 23.',
-    '/test.js points to a resource that is not available at line 24.',
-    'test.png points to a resource that is not available at line 25.',
-    '/main/features.js points to a resource that is not available at line 27.',
-    '/main/settings/index.css points to a resource that is not available at line 28.',
-    'http://example.com/scene.jpg points to a resource that is not available at line 29.',
-    '/section1/blockedbyfallback.html points to a resource that is not available at line 30.',
-    'http://example.com/images/world.jpg points to a resource that is not available at line 31.',
-    '/section2/blockedbyfallback.html points to a resource that is not available at line 32.',
-    '/main/home points to a resource that is not available at line 34.',
-    'main/app.js points to a resource that is not available at line 35.',
-    '/settings/home points to a resource that is not available at line 37.',
-    '/settings/app.js points to a resource that is not available at line 38.',
-    'The file http://sub1.test1.example.com/browser/devtools/client/' +
-      'commandline/test/browser_cmd_appcache_invalid_page3.html was modified ' +
-      'after http://sub1.test1.example.com/browser/devtools/client/' +
-      'commandline/test/browser_cmd_appcache_invalid_appcache.appcache. Unless ' +
-      'the text in the manifest file is changed the cached version will be used ' +
-      'instead at line 39.',
-    'browser_cmd_appcache_invalid_page3.html has cache-control set to no-store. ' +
-      'This will prevent the application cache from storing the file at line 39.',
-    'http://example.com/logo.png points to a resource that is not available at line 40.',
-    'http://example.com/check.png points to a resource that is not available at line 41.',
-    'Spaces in URIs need to be replaced with % at line 42.',
-    'http://example.com/cr oss.png points to a resource that is not available at line 42.',
-    'Asterisk (*) incorrectly used in the CACHE section at line 43. If a line ' +
-      'in the NETWORK section contains only a single asterisk character, then ' +
-      'any URI not listed in the manifest will be treated as if the URI was ' +
-      'listed in the NETWORK section. Otherwise such URIs will be treated as ' +
-      'unavailable. Other uses of the * character are prohibited',
-    'The SETTINGS section may only contain a single value, \u201cprefer-online\u201d or \u201cfast\u201d at line 47.',
-    'FALLBACK section line 50 (/section1/ /offline1.html) prevents caching of ' +
-      'line 30 (/section1/blockedbyfallback.html) in the CACHE section.',
-    '/offline1.html points to a resource that is not available at line 50.',
-    'FALLBACK section line 51 (/section2/ offline2.html) prevents caching of ' +
-      'line 32 (/section2/blockedbyfallback.html) in the CACHE section.',
-    'offline2.html points to a resource that is not available at line 51.',
-    'Only two URIs separated by spaces are allowed in the FALLBACK section at line 52.',
-    'Asterisk (*) incorrectly used in the FALLBACK section at line 53. URIs ' +
-      'in the FALLBACK section simply need to match a prefix of the request URI.',
-    'offline3.html points to a resource that is not available at line 53.',
-    'Invalid section name (BLAH) at line 55.',
-    'Only two URIs separated by spaces are allowed in the FALLBACK section at line 55.'
+    "Manifest has a character encoding of ISO-8859-1. Manifests must have the " +
+      "utf-8 character encoding.",
+    "The first line of the manifest must be \u201cCACHE MANIFEST\u201d at line 1.",
+    "\u201cCACHE MANIFEST\u201d is only valid on the first line but was found at line 3.",
+    "images/sound-icon.png points to a resource that is not available at line 9.",
+    "images/background.png points to a resource that is not available at line 10.",
+    "/checking.cgi points to a resource that is not available at line 13.",
+    "Asterisk (*) incorrectly used in the NETWORK section at line 14. If a line " +
+      "in the NETWORK section contains only a single asterisk character, then any " +
+      "URI not listed in the manifest will be treated as if the URI was listed in " +
+      "the NETWORK section. Otherwise such URIs will be treated as unavailable. " +
+    "Other uses of the * character are prohibited",
+    "../rel.html points to a resource that is not available at line 17.",
+    "../../rel.html points to a resource that is not available at line 18.",
+    "../../../rel.html points to a resource that is not available at line 19.",
+    "../../../../rel.html points to a resource that is not available at line 20.",
+    "../../../../../rel.html points to a resource that is not available at line 21.",
+    "/../ is not a valid URI prefix at line 22.",
+    "/test.css points to a resource that is not available at line 23.",
+    "/test.js points to a resource that is not available at line 24.",
+    "test.png points to a resource that is not available at line 25.",
+    "/main/features.js points to a resource that is not available at line 27.",
+    "/main/settings/index.css points to a resource that is not available at line 28.",
+    "http://example.com/scene.jpg points to a resource that is not available at line 29.",
+    "/section1/blockedbyfallback.html points to a resource that is not available at line 30.",
+    "http://example.com/images/world.jpg points to a resource that is not available at line 31.",
+    "/section2/blockedbyfallback.html points to a resource that is not available at line 32.",
+    "/main/home points to a resource that is not available at line 34.",
+    "main/app.js points to a resource that is not available at line 35.",
+    "/settings/home points to a resource that is not available at line 37.",
+    "/settings/app.js points to a resource that is not available at line 38.",
+    "The file http://sub1.test1.example.com/browser/devtools/client/" +
+      "commandline/test/browser_cmd_appcache_invalid_page3.html was modified " +
+      "after http://sub1.test1.example.com/browser/devtools/client/" +
+      "commandline/test/browser_cmd_appcache_invalid_appcache.appcache. Unless " +
+      "the text in the manifest file is changed the cached version will be used " +
+      "instead at line 39.",
+    "browser_cmd_appcache_invalid_page3.html has cache-control set to no-store. " +
+      "This will prevent the application cache from storing the file at line 39.",
+    "http://example.com/logo.png points to a resource that is not available at line 40.",
+    "http://example.com/check.png points to a resource that is not available at line 41.",
+    "Spaces in URIs need to be replaced with % at line 42.",
+    "http://example.com/cr oss.png points to a resource that is not available at line 42.",
+    "Asterisk (*) incorrectly used in the CACHE section at line 43. If a line " +
+      "in the NETWORK section contains only a single asterisk character, then " +
+      "any URI not listed in the manifest will be treated as if the URI was " +
+      "listed in the NETWORK section. Otherwise such URIs will be treated as " +
+      "unavailable. Other uses of the * character are prohibited",
+    "The SETTINGS section may only contain a single value, \u201cprefer-online\u201d or \u201cfast\u201d at line 47.",
+    "FALLBACK section line 50 (/section1/ /offline1.html) prevents caching of " +
+      "line 30 (/section1/blockedbyfallback.html) in the CACHE section.",
+    "/offline1.html points to a resource that is not available at line 50.",
+    "FALLBACK section line 51 (/section2/ offline2.html) prevents caching of " +
+      "line 32 (/section2/blockedbyfallback.html) in the CACHE section.",
+    "offline2.html points to a resource that is not available at line 51.",
+    "Only two URIs separated by spaces are allowed in the FALLBACK section at line 52.",
+    "Asterisk (*) incorrectly used in the FALLBACK section at line 53. URIs " +
+      "in the FALLBACK section simply need to match a prefix of the request URI.",
+    "offline3.html points to a resource that is not available at line 53.",
+    "Invalid section name (BLAH) at line 55.",
+    "Only two URIs separated by spaces are allowed in the FALLBACK section at line 55."
   ];
 
   let options = yield helpers.openTab(TEST_URI);
   info("window open");
 
   // Wait for site to be cached.
-  yield helpers.listenOnce(gBrowser.contentWindow.applicationCache, 'error');
+  yield helpers.listenOnce(gBrowser.contentWindow.applicationCache, "error");
   info("applicationCache error happened");
 
   yield helpers.openToolbar(options);
   info("toolbar open");
 
   // Pages containing an appcache the notification bar gives options to allow
   // or deny permission for the app to save data offline. Let's click Allow.
   let notificationID = "offline-app-requested-sub1.test1.example.com";
@@ -97,21 +97,21 @@ function* spawnTest() {
     notification.mainAction.callback();
   } else {
     info("No notification box is available.");
   }
 
   info("Site now cached, running tests.");
   yield helpers.audit(options, [
     {
-      setup: 'appcache validate',
+      setup: "appcache validate",
       check: {
-        input:  'appcache validate',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache validate",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {}
       },
       exec: {
         output: lines.map(getRegexForString)
       },
     },
   ]);
 
--- a/devtools/client/commandline/test/browser_cmd_appcache_valid.js
+++ b/devtools/client/commandline/test/browser_cmd_appcache_valid.js
@@ -12,162 +12,162 @@ function test() {
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_URI);
   yield helpers.openToolbar(options);
 
   info("adding cache listener.");
 
   // Wait for site to be cached.
-  yield helpers.listenOnce(gBrowser.contentWindow.applicationCache, 'cached');
+  yield helpers.listenOnce(gBrowser.contentWindow.applicationCache, "cached");
 
   // Pages containing an appcache the notification bar gives options to allow
   // or deny permission for the app to save data offline. Let's click Allow.
   let notificationID = "offline-app-requested-sub1.test2.example.com";
   let notification = PopupNotifications.getNotification(notificationID, gBrowser.selectedBrowser);
 
   if (notification) {
     info("Authorizing offline storage.");
     notification.mainAction.callback();
   } else {
     info("No notification box is available.");
   }
 
   info("Site now cached, running tests.");
   yield helpers.audit(options, [
     {
-      setup: 'appcache',
+      setup: "appcache",
       check: {
-        input:  'appcache',
-        markup: 'IIIIIIII',
-        status: 'ERROR',
+        input:  "appcache",
+        markup: "IIIIIIII",
+        status: "ERROR",
         args: {}
       },
     },
 
     {
-      setup: function() {
+      setup: function () {
         Services.prefs.setBoolPref("browser.cache.disk.enable", false);
-        return helpers.setInput(options, 'appcache list', 13);
+        return helpers.setInput(options, "appcache list", 13);
       },
       check: {
-        input:  'appcache list',
-        markup: 'VVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache list",
+        markup: "VVVVVVVVVVVVV",
+        status: "VALID",
         args: {},
       },
       exec: {
         output: [ /cache is disabled/ ]
       },
-      post: function(output) {
+      post: function (output) {
         Services.prefs.setBoolPref("browser.cache.disk.enable", true);
       }
     },
 
     {
-      setup: 'appcache list',
+      setup: "appcache list",
       check: {
-        input:  'appcache list',
-        markup: 'VVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache list",
+        markup: "VVVVVVVVVVVVV",
+        status: "VALID",
         args: {},
       },
       exec: {
         output: [ /index/, /page1/, /page2/, /page3/ ]
       },
     },
 
     {
-      setup: 'appcache list page',
+      setup: "appcache list page",
       check: {
-        input:  'appcache list page',
-        markup: 'VVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache list page",
+        markup: "VVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          search: { value: 'page' },
+          search: { value: "page" },
         }
       },
       exec: {
         output: [ /page1/, /page2/, /page3/ ]
       },
-      post: function(output, text) {
+      post: function (output, text) {
         ok(!text.includes("index"), "index is not contained in output");
       }
     },
 
     {
-      setup: 'appcache validate',
+      setup: "appcache validate",
       check: {
-        input:  'appcache validate',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache validate",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {}
       },
       exec: {
         output: [ /successfully/ ]
       },
     },
 
     {
-      setup: 'appcache validate ' + TEST_URI,
+      setup: "appcache validate " + TEST_URI,
       check: {
-        input:  'appcache validate ' + TEST_URI,
+        input:  "appcache validate " + TEST_URI,
               // appcache validate http://sub1.test2.example.com/browser/devtools/client/commandline/test/browser_cmd_appcache_valid_index.html
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
           uri: {
             value: TEST_URI
           },
         }
       },
       exec: {
         output: [ /successfully/ ]
       },
     },
 
     {
-      setup: 'appcache clear',
+      setup: "appcache clear",
       check: {
-        input:  'appcache clear',
-        markup: 'VVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache clear",
+        markup: "VVVVVVVVVVVVVV",
+        status: "VALID",
         args: {},
       },
       exec: {
         output: [ /successfully/ ]
       },
     },
 
     {
-      setup: 'appcache list',
+      setup: "appcache list",
       check: {
-        input:  'appcache list',
-        markup: 'VVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "appcache list",
+        markup: "VVVVVVVVVVVVV",
+        status: "VALID",
         args: {},
       },
       exec: {
         output: [ /no results/ ]
       },
-      post: function(output, text) {
+      post: function (output, text) {
         ok(!text.includes("index"), "index is not contained in output");
         ok(!text.includes("page1"), "page1 is not contained in output");
         ok(!text.includes("page2"), "page1 is not contained in output");
         ok(!text.includes("page3"), "page1 is not contained in output");
       }
     },
 
     {
-      setup: 'appcache viewentry --key ' + TEST_URI,
+      setup: "appcache viewentry --key " + TEST_URI,
       check: {
-        input:  'appcache viewentry --key ' + TEST_URI,
+        input:  "appcache viewentry --key " + TEST_URI,
               // appcache viewentry --key http://sub1.test2.example.com/browser/devtools/client/commandline/test/browser_cmd_appcache_valid_index.html
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {}
       },
     },
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_calllog.js
+++ b/devtools/client/commandline/test/browser_cmd_calllog.js
@@ -3,63 +3,63 @@
 
 // Tests that the calllog commands works as they should
 
 const TEST_URI = "data:text/html;charset=utf-8,gcli-calllog";
 
 var tests = {};
 
 function test() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let options = yield helpers.openTab(TEST_URI);
     yield helpers.openToolbar(options);
 
     yield helpers.runTests(options, tests);
 
     yield helpers.closeToolbar(options);
     yield helpers.closeTab(options);
   }).then(finish, helpers.handleError);
 }
 
-tests.testCallLogStatus = function(options) {
+tests.testCallLogStatus = function (options) {
   return helpers.audit(options, [
     {
       setup: "calllog",
       check: {
-        input:  'calllog',
-        hints:         '',
-        markup: 'IIIIIII',
-        status: 'ERROR'
+        input:  "calllog",
+        hints:         "",
+        markup: "IIIIIII",
+        status: "ERROR"
       }
     },
     {
       setup: "calllog start",
       check: {
-        input:  'calllog start',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "calllog start",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
+        status: "VALID"
       }
     },
     {
       setup: "calllog stop",
       check: {
-        input:  'calllog stop',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "calllog stop",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
+        status: "VALID"
       }
     },
   ]);
 };
 
-tests.testCallLogExec = function(options) {
+tests.testCallLogExec = function (options) {
   var deferred = promise.defer();
 
-  var onWebConsoleOpen = function(subject) {
+  var onWebConsoleOpen = function (subject) {
     Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
 
     subject.QueryInterface(Ci.nsISupportsString);
     let hud = HUDService.getHudReferenceById(subject.data);
     ok(hud, "console open");
 
     helpers.audit(options, [
       {
@@ -68,46 +68,46 @@ tests.testCallLogExec = function(options
           output: /Stopped call logging/,
         }
       },
       {
         setup: "console clear",
         exec: {
           output: "",
         },
-        post: function() {
+        post: function () {
           let labels = hud.outputNode.querySelectorAll(".webconsole-msg-output");
           is(labels.length, 0, "no output in console");
         }
       },
       {
         setup: "console close",
         exec: {
           output: "",
         }
       },
-    ]).then(function() {
+    ]).then(function () {
       deferred.resolve();
     });
   };
   Services.obs.addObserver(onWebConsoleOpen, "web-console-created", false);
 
   helpers.audit(options, [
     {
       setup: "calllog stop",
       exec: {
         output: /No call logging/,
       }
     },
     {
       name: "calllog start",
-      setup: function() {
+      setup: function () {
         // This test wants to be in a different event
         var deferred = promise.defer();
-        executeSoon(function() {
+        executeSoon(function () {
           helpers.setInput(options, "calllog start").then(() => {
             deferred.resolve();
           });
         });
         return deferred.promise;
       },
       exec: {
         output: /Call logging started/,
--- a/devtools/client/commandline/test/browser_cmd_calllog_chrome.js
+++ b/devtools/client/commandline/test/browser_cmd_calllog_chrome.js
@@ -3,28 +3,28 @@
 
 // Tests that the calllog commands works as they should
 
 const TEST_URI = "data:text/html;charset=utf-8,cmd-calllog-chrome";
 
 var tests = {};
 
 function test() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let options = yield helpers.openTab(TEST_URI);
     yield helpers.openToolbar(options);
 
     yield helpers.runTests(options, tests);
 
     yield helpers.closeToolbar(options);
     yield helpers.closeTab(options);
   }).then(finish, helpers.handleError);
 }
 
-tests.testCallLogStatus = function(options) {
+tests.testCallLogStatus = function (options) {
   return helpers.audit(options, [
     {
       setup: "calllog",
       check: {
         status: "ERROR",
         emptyParameters: [ " " ]
       }
     },
@@ -47,17 +47,17 @@ tests.testCallLogStatus = function(optio
       check: {
         status: "VALID",
         emptyParameters: [ " " ]
       }
     },
   ]);
 };
 
-tests.testCallLogExec = function(options) {
+tests.testCallLogExec = function (options) {
   let deferred = promise.defer();
 
   function onWebConsoleOpen(subject) {
     Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
 
     subject.QueryInterface(Ci.nsISupportsString);
     let hud = HUDService.getHudReferenceById(subject.data);
     ok(hud, "console open");
@@ -73,30 +73,30 @@ tests.testCallLogExec = function(options
         setup: "calllog chromestart javascript XXX",
         exec: {
           output: /following exception/,
         }
       },
       {
         setup: "console clear",
         exec: {
-          output: '',
+          output: "",
         },
-        post: function() {
+        post: function () {
           let labels = hud.jsterm.outputNode.querySelectorAll(".webconsole-msg-output");
           is(labels.length, 0, "no output in console");
         }
       },
       {
         setup: "console close",
         exec: {
-          output: '',
+          output: "",
         },
       },
-    ]).then(function() {
+    ]).then(function () {
       deferred.resolve();
     });
   }
   Services.obs.addObserver(onWebConsoleOpen, "web-console-created", false);
 
   helpers.audit(options, [
     {
       setup: "calllog chromestop",
--- a/devtools/client/commandline/test/browser_cmd_cookie.js
+++ b/devtools/client/commandline/test/browser_cmd_cookie.js
@@ -1,114 +1,114 @@
 /* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the cookie commands works as they should
 
-const TEST_URI = "http://example.com/browser/devtools/client/commandline/"+
+const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                  "test/browser_cmd_cookie.html";
 
 function test() {
-  helpers.addTabWithToolbar(TEST_URI, function(options) {
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
       {
-        setup: 'cookie',
+        setup: "cookie",
         check: {
-          input:  'cookie',
-          hints:        ' list',
-          markup: 'IIIIII',
-          status: 'ERROR'
+          input:  "cookie",
+          hints:        " list",
+          markup: "IIIIII",
+          status: "ERROR"
         },
       },
       {
-        setup: 'cookie lis',
+        setup: "cookie lis",
         check: {
-          input:  'cookie lis',
-          hints:            't',
-          markup: 'IIIIIIVIII',
-          status: 'ERROR'
+          input:  "cookie lis",
+          hints:            "t",
+          markup: "IIIIIIVIII",
+          status: "ERROR"
         },
       },
       {
-        setup: 'cookie list',
+        setup: "cookie list",
         check: {
-          input:  'cookie list',
-          hints:             '',
-          markup: 'VVVVVVVVVVV',
-          status: 'VALID'
+          input:  "cookie list",
+          hints:             "",
+          markup: "VVVVVVVVVVV",
+          status: "VALID"
         },
       },
       {
-        setup: 'cookie remove',
+        setup: "cookie remove",
         check: {
-          input:  'cookie remove',
-          hints:               ' <name>',
-          markup: 'VVVVVVVVVVVVV',
-          status: 'ERROR'
+          input:  "cookie remove",
+          hints:               " <name>",
+          markup: "VVVVVVVVVVVVV",
+          status: "ERROR"
         },
       },
       {
-        setup: 'cookie set',
+        setup: "cookie set",
         check: {
-          input:  'cookie set',
-          hints:            ' <name> <value> [options]',
-          markup: 'VVVVVVVVVV',
-          status: 'ERROR'
+          input:  "cookie set",
+          hints:            " <name> <value> [options]",
+          markup: "VVVVVVVVVV",
+          status: "ERROR"
         },
       },
       {
-        setup: 'cookie set fruit',
+        setup: "cookie set fruit",
         check: {
-          input:  'cookie set fruit',
-          hints:                  ' <value> [options]',
-          markup: 'VVVVVVVVVVVVVVVV',
-          status: 'ERROR'
+          input:  "cookie set fruit",
+          hints:                  " <value> [options]",
+          markup: "VVVVVVVVVVVVVVVV",
+          status: "ERROR"
         },
       },
       {
-        setup: 'cookie set fruit ban',
+        setup: "cookie set fruit ban",
         check: {
-          input:  'cookie set fruit ban',
-          hints:                      ' [options]',
-          markup: 'VVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "cookie set fruit ban",
+          hints:                      " [options]",
+          markup: "VVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            name: { value: 'fruit' },
-            value: { value: 'ban' },
+            name: { value: "fruit" },
+            value: { value: "ban" },
             secure: { value: false },
           }
         },
       },
       {
         setup:    'cookie set fruit ban --path ""',
         check: {
           input:  'cookie set fruit ban --path ""',
-          hints:                                ' [options]',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          hints:                                " [options]",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            name: { value: 'fruit' },
-            value: { value: 'ban' },
-            path: { value: '' },
+            name: { value: "fruit" },
+            value: { value: "ban" },
+            path: { value: "" },
             secure: { value: false },
           }
         },
       },
       {
         setup: "cookie list",
         exec: {
           output: [ /zap=zep/, /zip=zop/, /Edit/ ]
         }
       },
       {
         setup: "cookie set zup banana",
         check: {
           args: {
-            name: { value: 'zup' },
-            value: { value: 'banana' },
+            name: { value: "zup" },
+            value: { value: "banana" },
           }
         },
         exec: {
           output: ""
         }
       },
       {
         setup: "cookie list",
@@ -120,47 +120,47 @@ function test() {
         setup: "cookie remove zip",
         exec: { },
       },
       {
         setup: "cookie list",
         exec: {
           output: [ /zap=zep/, /zup=banana/, /Edit/ ]
         },
-        post: function(output, text) {
+        post: function (output, text) {
           ok(!text.includes("zip"), "");
           ok(!text.includes("zop"), "");
         }
       },
       {
         setup: "cookie remove zap",
         exec: { },
       },
       {
         setup: "cookie list",
         exec: {
           output: [ /zup=banana/, /Edit/ ]
         },
-        post: function(output, text) {
+        post: function (output, text) {
           ok(!text.includes("zap"), "");
           ok(!text.includes("zep"), "");
           ok(!text.includes("zip"), "");
           ok(!text.includes("zop"), "");
         }
       },
       {
         setup: "cookie remove zup",
         exec: { }
       },
       {
         setup: "cookie list",
         exec: {
-          output: 'No cookies found for host example.com'
+          output: "No cookies found for host example.com"
         },
-        post: function(output, text) {
+        post: function (output, text) {
           ok(!text.includes("zap"), "");
           ok(!text.includes("zep"), "");
           ok(!text.includes("zip"), "");
           ok(!text.includes("zop"), "");
           ok(!text.includes("zup"), "");
           ok(!text.includes("banana"), "");
           ok(!text.includes("Edit"), "");
         }
--- a/devtools/client/commandline/test/browser_cmd_cookie_host.js
+++ b/devtools/client/commandline/test/browser_cmd_cookie_host.js
@@ -4,38 +4,38 @@
 "use strict";
 
 // Tests that the cookie command works for host with a port specified
 
 const TEST_URI = "http://mochi.test:8888/browser/devtools/client/commandline/" +
                  "test/browser_cmd_cookie.html";
 
 function test() {
-  helpers.addTabWithToolbar(TEST_URI, function(options) {
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
-        {
-          setup: 'cookie list',
-          exec: {
+      {
+        setup: "cookie list",
+        exec: {
             output: [ /zap=zep/, /zip=zop/, /zig=zag/ ],
           }
-        },
-        {
-          setup: "cookie set zup banana",
-          check: {
+      },
+      {
+        setup: "cookie set zup banana",
+        check: {
             args: {
-              name: { value: 'zup' },
-              value: { value: 'banana' },
+              name: { value: "zup" },
+              value: { value: "banana" },
             }
           },
-          exec: {
+        exec: {
             output: ""
           }
-        },
-        {
-          setup: "cookie list",
-          exec: {
+      },
+      {
+        setup: "cookie list",
+        exec: {
             output: [ /zap=zep/, /zip=zop/, /zig=zag/, /zup=banana/, /Edit/ ]
           }
-        }
+      }
     ]);
   }).then(finish, helpers.handleError);
 }
 
--- a/devtools/client/commandline/test/browser_cmd_csscoverage_oneshot.js
+++ b/devtools/client/commandline/test/browser_cmd_csscoverage_oneshot.js
@@ -9,17 +9,17 @@ const PAGE_1 = TEST_BASE_HTTPS + "browse
 const PAGE_2 = TEST_BASE_HTTPS + "browser_cmd_csscoverage_page2.html";
 const PAGE_3 = TEST_BASE_HTTPS + "browser_cmd_csscoverage_page3.html";
 
 const SHEET_A = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetA.css";
 const SHEET_B = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetB.css";
 const SHEET_C = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetC.css";
 const SHEET_D = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetD.css";
 
-add_task(function*() {
+add_task(function* () {
   let options = yield helpers.openTab(PAGE_3);
   yield helpers.openToolbar(options);
 
   let usage = yield csscoverage.getUsage(options.target);
 
   yield navigate(usage, options);
   yield checkPages(usage);
   yield checkEditorReport(usage);
@@ -46,56 +46,56 @@ function* navigate(usage, options) {
 }
 
 /**
  * Check the expected pages have been visited
  */
 function* checkPages(usage) {
   let expectedVisited = [ PAGE_3 ];
   let actualVisited = yield usage._testOnly_visitedPages();
-  isEqualJson(actualVisited, expectedVisited, 'Visited');
+  isEqualJson(actualVisited, expectedVisited, "Visited");
 }
 
 /**
  * Check that createEditorReport returns the expected JSON
  */
 function* checkEditorReport(usage) {
   // Page1
   let expectedPage1 = { reports: [] };
   let actualPage1 = yield usage.createEditorReport(PAGE_1 + " \u2192 <style> index 0");
-  isEqualJson(actualPage1, expectedPage1, 'Page1');
+  isEqualJson(actualPage1, expectedPage1, "Page1");
 
   // Page2
   let expectedPage2 = { reports: [] };
   let actualPage2 = yield usage.createEditorReport(PAGE_2 + " \u2192 <style> index 0");
-  isEqualJson(actualPage2, expectedPage2, 'Page2');
+  isEqualJson(actualPage2, expectedPage2, "Page2");
 
   // Page3a
   let expectedPage3a = {
     reports: [
       {
         selectorText: ".page3-test2",
         start: { line: 9, column: 5 },
       }
     ]
   };
   let actualPage3a = yield usage.createEditorReport(PAGE_3 + " \u2192 <style> index 0");
-  isEqualJson(actualPage3a, expectedPage3a, 'Page3a');
+  isEqualJson(actualPage3a, expectedPage3a, "Page3a");
 
   // Page3b
   let expectedPage3b = {
     reports: [
       {
         selectorText: ".page3-test3",
         start: { line: 3, column: 5 },
       }
     ]
   };
   let actualPage3b = yield usage.createEditorReport(PAGE_3 + " \u2192 <style> index 1");
-  isEqualJson(actualPage3b, expectedPage3b, 'Page3b');
+  isEqualJson(actualPage3b, expectedPage3b, "Page3b");
 
   // SheetA
   let expectedSheetA = {
     reports: [
       {
         selectorText: ".sheetA-test2",
         start: { line: 8, column: 1 },
       },
@@ -105,17 +105,17 @@ function* checkEditorReport(usage) {
       },
       {
         selectorText: ".sheetA-test4",
         start: { line: 16, column: 1 },
       }
     ]
   };
   let actualSheetA = yield usage.createEditorReport(SHEET_A);
-  isEqualJson(actualSheetA, expectedSheetA, 'SheetA');
+  isEqualJson(actualSheetA, expectedSheetA, "SheetA");
 
   // SheetB
   let expectedSheetB = {
     reports: [
       {
         selectorText: ".sheetB-test2",
         start: { line: 6, column: 1 },
       },
@@ -125,17 +125,17 @@ function* checkEditorReport(usage) {
       },
       {
         selectorText: ".sheetB-test4",
         start: { line: 14, column: 1 },
       }
     ]
   };
   let actualSheetB = yield usage.createEditorReport(SHEET_B);
-  isEqualJson(actualSheetB, expectedSheetB, 'SheetB');
+  isEqualJson(actualSheetB, expectedSheetB, "SheetB");
 
   // SheetC
   let expectedSheetC = {
     reports: [
       {
         selectorText: ".sheetC-test2",
         start: { line: 6, column: 1 },
       },
@@ -145,17 +145,17 @@ function* checkEditorReport(usage) {
       },
       {
         selectorText: ".sheetC-test4",
         start: { line: 14, column: 1 },
       }
     ]
   };
   let actualSheetC = yield usage.createEditorReport(SHEET_C);
-  isEqualJson(actualSheetC, expectedSheetC, 'SheetC');
+  isEqualJson(actualSheetC, expectedSheetC, "SheetC");
 
   // SheetD
   let expectedSheetD = {
     reports: [
       {
         selectorText: ".sheetD-test2",
         start: { line: 6, column: 1 },
       },
@@ -165,59 +165,59 @@ function* checkEditorReport(usage) {
       },
       {
         selectorText: ".sheetD-test4",
         start: { line: 14, column: 1 },
       }
     ]
   };
   let actualSheetD = yield usage.createEditorReport(SHEET_D);
-  isEqualJson(actualSheetD, expectedSheetD, 'SheetD');
+  isEqualJson(actualSheetD, expectedSheetD, "SheetD");
 }
 
 /**
  * Check that checkPageReport returns the expected JSON
  */
 function* checkPageReport(usage) {
   let actualReport = yield usage.createPageReport();
 
   // Quick check on trivial things. See doc comment for checkRuleProperties
   actualReport.preload.forEach(page => page.rules.forEach(checkRuleProperties));
   actualReport.unused.forEach(page => page.rules.forEach(checkRuleProperties));
 
   // Check the summary
   let expectedSummary = { "used": 23, "unused": 9, "preload": 0 };
-  isEqualJson(actualReport.summary, expectedSummary, 'summary');
+  isEqualJson(actualReport.summary, expectedSummary, "summary");
 
   // Check the preload header
-  isEqualJson(actualReport.preload.length, 0, 'preload length');
+  isEqualJson(actualReport.preload.length, 0, "preload length");
 
   // Check the unused header
-  isEqualJson(actualReport.unused.length, 6, 'unused length');
+  isEqualJson(actualReport.unused.length, 6, "unused length");
 
   // Check the unused rules
   isEqualJson(actualReport.unused[0].url, PAGE_3 + " \u2192 <style> index 0", "unused url 0");
   let expectedUnusedRules0 = [
     {
       "url": PAGE_3 + " \u2192 <style> index 0",
       "start": { "line": 9, "column": 5 },
       "selectorText": ".page3-test2"
     }
   ];
-  isEqualJson(actualReport.unused[0].rules, expectedUnusedRules0, 'unused rules 0');
+  isEqualJson(actualReport.unused[0].rules, expectedUnusedRules0, "unused rules 0");
 
   isEqualJson(actualReport.unused[1].url, PAGE_3 + " \u2192 <style> index 1", "unused url 1");
   let expectedUnusedRules1 = [
     {
       "url": PAGE_3 + " \u2192 <style> index 1",
       "start": { "line": 3, "column": 5 },
       "selectorText": ".page3-test3"
     }
   ];
-  isEqualJson(actualReport.unused[1].rules, expectedUnusedRules1, 'unused rules 1');
+  isEqualJson(actualReport.unused[1].rules, expectedUnusedRules1, "unused rules 1");
 
   isEqualJson(actualReport.unused[2].url, SHEET_A, "unused url 2");
   let expectedUnusedRules2 = [
     {
       "url": SHEET_A,
       "start": { "line": 8, "column": 1 },
       "selectorText": ".sheetA-test2"
     },
@@ -227,17 +227,17 @@ function* checkPageReport(usage) {
       "selectorText": ".sheetA-test3"
     },
     {
       "url": SHEET_A,
       "start": { "line": 16, "column": 1 },
       "selectorText": ".sheetA-test4"
     }
   ];
-  isEqualJson(actualReport.unused[2].rules, expectedUnusedRules2, 'unused rules 2');
+  isEqualJson(actualReport.unused[2].rules, expectedUnusedRules2, "unused rules 2");
 
   isEqualJson(actualReport.unused[3].url, SHEET_B, "unused url 3");
   let expectedUnusedRules3 = [
     {
       "url": SHEET_B,
       "start": { "line": 6, "column": 1 },
       "selectorText": ".sheetB-test2"
     },
@@ -247,17 +247,17 @@ function* checkPageReport(usage) {
       "selectorText": ".sheetB-test3"
     },
     {
       "url": SHEET_B,
       "start": { "line": 14, "column": 1 },
       "selectorText": ".sheetB-test4"
     }
   ];
-  isEqualJson(actualReport.unused[3].rules, expectedUnusedRules3, 'unused rules 3');
+  isEqualJson(actualReport.unused[3].rules, expectedUnusedRules3, "unused rules 3");
 
   isEqualJson(actualReport.unused[4].url, SHEET_D, "unused url 4");
   let expectedUnusedRules4 = [
     {
       "url": SHEET_D,
       "start": { "line": 6, "column": 1 },
       "selectorText": ".sheetD-test2"
     },
@@ -267,17 +267,17 @@ function* checkPageReport(usage) {
       "selectorText": ".sheetD-test3"
     },
     {
       "url": SHEET_D,
       "start": { "line": 14, "column": 1 },
       "selectorText": ".sheetD-test4"
     }
   ];
-  isEqualJson(actualReport.unused[4].rules, expectedUnusedRules4, 'unused rules 4');
+  isEqualJson(actualReport.unused[4].rules, expectedUnusedRules4, "unused rules 4");
 
   isEqualJson(actualReport.unused[5].url, SHEET_C, "unused url 5");
   let expectedUnusedRules5 = [
     {
       "url": SHEET_C,
       "start": { "line": 6, "column": 1 },
       "selectorText": ".sheetC-test2"
     },
@@ -287,17 +287,17 @@ function* checkPageReport(usage) {
       "selectorText": ".sheetC-test3"
     },
     {
       "url": SHEET_C,
       "start": { "line": 14, "column": 1 },
       "selectorText": ".sheetC-test4"
     }
   ];
-  isEqualJson(actualReport.unused[5].rules, expectedUnusedRules5, 'unused rules 5');
+  isEqualJson(actualReport.unused[5].rules, expectedUnusedRules5, "unused rules 5");
 }
 
 /**
  * We do basic tests on the shortUrl and formattedCssText because they are
  * very derivative, and so make for fragile tests, and having done those quick
  * existence checks we remove them so the JSON check later can ignore them
  */
 function checkRuleProperties(rule, index) {
--- a/devtools/client/commandline/test/browser_cmd_csscoverage_startstop.js
+++ b/devtools/client/commandline/test/browser_cmd_csscoverage_startstop.js
@@ -9,17 +9,17 @@ const PAGE_1 = TEST_BASE_HTTPS + "browse
 const PAGE_2 = TEST_BASE_HTTPS + "browser_cmd_csscoverage_page2.html";
 const PAGE_3 = TEST_BASE_HTTPS + "browser_cmd_csscoverage_page3.html";
 
 const SHEET_A = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetA.css";
 const SHEET_B = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetB.css";
 const SHEET_C = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetC.css";
 const SHEET_D = TEST_BASE_HTTPS + "browser_cmd_csscoverage_sheetD.css";
 
-add_task(function*() {
+add_task(function* () {
   let options = yield helpers.openTab("about:blank");
   yield helpers.openToolbar(options);
 
   let usage = yield csscoverage.getUsage(options.target);
 
   yield navigate(usage, options);
   yield checkPages(usage);
   yield checkEditorReport(usage);
@@ -58,149 +58,149 @@ function* navigate(usage, options) {
   yield toolboxReady;
 }
 
 /**
  * Check the expected pages have been visited
  */
 function* checkPages(usage) {
   // 'load' event order. '' is for the initial location
-  let expectedVisited = [ '', PAGE_2, PAGE_1, PAGE_3 ];
+  let expectedVisited = [ "", PAGE_2, PAGE_1, PAGE_3 ];
   let actualVisited = yield usage._testOnly_visitedPages();
-  isEqualJson(actualVisited, expectedVisited, 'Visited');
+  isEqualJson(actualVisited, expectedVisited, "Visited");
 }
 
 /**
  * Check that createEditorReport returns the expected JSON
  */
 function* checkEditorReport(usage) {
   // Page1
   let expectedPage1 = {
     reports: [
       {
         selectorText: ".page1-test2",
         start: { line: 8, column: 5 },
       }
     ]
   };
   let actualPage1 = yield usage.createEditorReport(PAGE_1 + " \u2192 <style> index 0");
-  isEqualJson(actualPage1, expectedPage1, 'Page1');
+  isEqualJson(actualPage1, expectedPage1, "Page1");
 
   // Page2
   let expectedPage2 = {
     reports: [
       {
         selectorText: ".page2-test2",
         start: { line: 9, column: 5 },
       },
     ]
   };
   let actualPage2 = yield usage.createEditorReport(PAGE_2 + " \u2192 <style> index 0");
-  isEqualJson(actualPage2, expectedPage2, 'Page2');
+  isEqualJson(actualPage2, expectedPage2, "Page2");
 
   // Page3a
   let expectedPage3a = {
     reports: [
       {
         selectorText: ".page3-test2",
         start: { line: 9, column: 5 },
       }
     ]
   };
   let actualPage3a = yield usage.createEditorReport(PAGE_3 + " \u2192 <style> index 0");
-  isEqualJson(actualPage3a, expectedPage3a, 'Page3a');
+  isEqualJson(actualPage3a, expectedPage3a, "Page3a");
 
   // Page3b
   let expectedPage3b = {
     reports: [
       {
         selectorText: ".page3-test3",
         start: { line: 3, column: 5 },
       }
     ]
   };
   let actualPage3b = yield usage.createEditorReport(PAGE_3 + " \u2192 <style> index 1");
-  isEqualJson(actualPage3b, expectedPage3b, 'Page3b');
+  isEqualJson(actualPage3b, expectedPage3b, "Page3b");
 
   // SheetA
   let expectedSheetA = {
     reports: [
       {
         selectorText: ".sheetA-test2",
         start: { line: 8, column: 1 },
       }
     ]
   };
   let actualSheetA = yield usage.createEditorReport(SHEET_A);
-  isEqualJson(actualSheetA, expectedSheetA, 'SheetA');
+  isEqualJson(actualSheetA, expectedSheetA, "SheetA");
 
   // SheetB
   let expectedSheetB = {
     reports: [
       {
         selectorText: ".sheetB-test2",
         start: { line: 6, column: 1 },
       }
     ]
   };
   let actualSheetB = yield usage.createEditorReport(SHEET_B);
-  isEqualJson(actualSheetB, expectedSheetB, 'SheetB');
+  isEqualJson(actualSheetB, expectedSheetB, "SheetB");
 
   // SheetC
   let expectedSheetC = {
     reports: [
       {
         selectorText: ".sheetC-test2",
         start: { line: 6, column: 1 },
       }
     ]
   };
   let actualSheetC = yield usage.createEditorReport(SHEET_C);
-  isEqualJson(actualSheetC, expectedSheetC, 'SheetC');
+  isEqualJson(actualSheetC, expectedSheetC, "SheetC");
 
   // SheetD
   let expectedSheetD = {
     reports: [
       {
         selectorText: ".sheetD-test2",
         start: { line: 6, column: 1 },
       }
     ]
   };
   let actualSheetD = yield usage.createEditorReport(SHEET_D);
-  isEqualJson(actualSheetD, expectedSheetD, 'SheetD');
+  isEqualJson(actualSheetD, expectedSheetD, "SheetD");
 }
 
 /**
  * Check that checkPageReport returns the expected JSON
  */
 function* checkPageReport(usage) {
   let actualReport = yield usage.createPageReport();
 
   // Quick check on trivial things. See doc comment for checkRuleProperties
   actualReport.preload.forEach(page => page.rules.forEach(checkRuleProperties));
   actualReport.unused.forEach(page => page.rules.forEach(checkRuleProperties));
 
   // Check the summary
   let expectedSummary = { "used": 92, "unused": 22, "preload": 28 };
-  isEqualJson(actualReport.summary, expectedSummary, 'summary');
+  isEqualJson(actualReport.summary, expectedSummary, "summary");
 
   checkPageReportPreload(actualReport);
   checkPageReportUnused(actualReport);
 }
 
 /**
  * Check that checkPageReport returns the expected preload JSON
  */
 function checkPageReportPreload(actualReport) {
   // Check the preload header
-  isEqualJson(actualReport.preload.length, 3, 'preload length');
+  isEqualJson(actualReport.preload.length, 3, "preload length");
 
   // Check the preload rules
-  isEqualJson(actualReport.preload[0].url, PAGE_2, 'preload url 0');
+  isEqualJson(actualReport.preload[0].url, PAGE_2, "preload url 0");
   let expectedPreloadRules0 = [
     // TODO: This is already pre-loaded, we should note this
     {
       url: PAGE_2 + " \u2192 <style> index 0",
       start: { line: 5, column: 5 },
       selectorText: ".page2-test1"
     },
     {
@@ -239,19 +239,19 @@ function checkPageReportPreload(actualRe
       selectorText: ".sheetC-test1"
     },
     {
       url: SHEET_C,
       start: { line: 14, column: 1 },
       selectorText: ".sheetC-test4"
     }
   ];
-  isEqualJson(actualReport.preload[0].rules, expectedPreloadRules0, 'preload rules 0');
+  isEqualJson(actualReport.preload[0].rules, expectedPreloadRules0, "preload rules 0");
 
-  isEqualJson(actualReport.preload[1].url, PAGE_1, 'preload url 1');
+  isEqualJson(actualReport.preload[1].url, PAGE_1, "preload url 1");
   let expectedPreloadRules1 = [
     {
       url:  SHEET_A,
       start: { line: 4, column: 1 },
       selectorText: ".sheetA-test1"
     },
     {
       url: SHEET_A,
@@ -294,19 +294,19 @@ function checkPageReportPreload(actualRe
       selectorText: ".page1-test1"
     },
     {
       url: PAGE_1 + " \u2192 <style> index 0",
       start: { line: 12, column: 5 },
       selectorText: ".page1-test3:hover"
     }
   ];
-  isEqualJson(actualReport.preload[1].rules, expectedPreloadRules1, 'preload rules 1');
+  isEqualJson(actualReport.preload[1].rules, expectedPreloadRules1, "preload rules 1");
 
-  isEqualJson(actualReport.preload[2].url, PAGE_3, 'preload url 2');
+  isEqualJson(actualReport.preload[2].url, PAGE_3, "preload url 2");
   let expectedPreloadRules2 = [
     {
       url: SHEET_A,
       start: { line: 4, column: 1 },
       selectorText: ".sheetA-test1"
     },
     {
       url: SHEET_A,
@@ -344,106 +344,106 @@ function checkPageReportPreload(actualRe
       selectorText: ".sheetC-test5"
     },
     {
       url: PAGE_3 + " \u2192 <style> index 0",
       start: { line: 5, column: 5 },
       selectorText: ".page3-test1"
     },
   ];
-  isEqualJson(actualReport.preload[2].rules, expectedPreloadRules2, 'preload rules 2');
+  isEqualJson(actualReport.preload[2].rules, expectedPreloadRules2, "preload rules 2");
 }
 
 /**
  * Check that checkPageReport returns the expected unused JSON
  */
 function checkPageReportUnused(actualReport) {
   // Check the unused header
-  isEqualJson(actualReport.unused.length, 8, 'unused length');
+  isEqualJson(actualReport.unused.length, 8, "unused length");
 
   // Check the unused rules
   isEqualJson(actualReport.unused[0].url, PAGE_2 + " \u2192 <style> index 0", "unused url 0");
   let expectedUnusedRules0 = [
     {
       url: PAGE_2 + " \u2192 <style> index 0",
       start: { line: 9, column: 5 },
       selectorText: ".page2-test2"
     }
   ];
-  isEqualJson(actualReport.unused[0].rules, expectedUnusedRules0, 'unused rules 0');
+  isEqualJson(actualReport.unused[0].rules, expectedUnusedRules0, "unused rules 0");
 
   isEqualJson(actualReport.unused[1].url, SHEET_A, "unused url 1");
   let expectedUnusedRules1 = [
     {
       url: SHEET_A,
       start: { line: 8, column: 1 },
       selectorText: ".sheetA-test2"
     }
   ];
-  isEqualJson(actualReport.unused[1].rules, expectedUnusedRules1, 'unused rules 1');
+  isEqualJson(actualReport.unused[1].rules, expectedUnusedRules1, "unused rules 1");
 
   isEqualJson(actualReport.unused[2].url, SHEET_B, "unused url 2");
   let expectedUnusedRules2 = [
     {
       url: SHEET_B,
       start: { line: 6, column: 1 },
       selectorText: ".sheetB-test2"
     }
   ];
-  isEqualJson(actualReport.unused[2].rules, expectedUnusedRules2, 'unused rules 2');
+  isEqualJson(actualReport.unused[2].rules, expectedUnusedRules2, "unused rules 2");
 
   isEqualJson(actualReport.unused[3].url, SHEET_D, "unused url 3");
   let expectedUnusedRules3 = [
     {
       url: SHEET_D,
       start: { line: 6, column: 1 },
       selectorText: ".sheetD-test2"
     }
   ];
-  isEqualJson(actualReport.unused[3].rules, expectedUnusedRules3, 'unused rules 3');
+  isEqualJson(actualReport.unused[3].rules, expectedUnusedRules3, "unused rules 3");
 
   isEqualJson(actualReport.unused[4].url, SHEET_C, "unused url 4");
   let expectedUnusedRules4 = [
     {
       url: SHEET_C,
       start: { line: 6, column: 1 },
       selectorText: ".sheetC-test2"
     }
   ];
-  isEqualJson(actualReport.unused[4].rules, expectedUnusedRules4, 'unused rules 4');
+  isEqualJson(actualReport.unused[4].rules, expectedUnusedRules4, "unused rules 4");
 
   isEqualJson(actualReport.unused[5].url, PAGE_1 + " \u2192 <style> index 0", "unused url 5");
   let expectedUnusedRules5 = [
     {
       url: PAGE_1 + " \u2192 <style> index 0",
       start: { line: 8, column: 5 },
       selectorText: ".page1-test2"
     }
   ];
-  isEqualJson(actualReport.unused[5].rules, expectedUnusedRules5, 'unused rules 5');
+  isEqualJson(actualReport.unused[5].rules, expectedUnusedRules5, "unused rules 5");
 
   isEqualJson(actualReport.unused[6].url, PAGE_3 + " \u2192 <style> index 0", "unused url 6");
   let expectedUnusedRules6 = [
     {
       url: PAGE_3 + " \u2192 <style> index 0",
       start: { line: 9, column: 5 },
       selectorText: ".page3-test2"
     }
   ];
-  isEqualJson(actualReport.unused[6].rules, expectedUnusedRules6, 'unused rules 6');
+  isEqualJson(actualReport.unused[6].rules, expectedUnusedRules6, "unused rules 6");
 
   isEqualJson(actualReport.unused[7].url, PAGE_3 + " \u2192 <style> index 1", "unused url 7");
   let expectedUnusedRules7 = [
     {
       url: PAGE_3 + " \u2192 <style> index 1",
       start: { line: 3, column: 5 },
       selectorText: ".page3-test3"
     }
   ];
-  isEqualJson(actualReport.unused[7].rules, expectedUnusedRules7, 'unused rules 7');
+  isEqualJson(actualReport.unused[7].rules, expectedUnusedRules7, "unused rules 7");
 }
 
 /**
  * We do basic tests on the shortUrl and formattedCssText because they are
  * very derivative, and so make for fragile tests, and having done those quick
  * existence checks we remove them so the JSON check later can ignore them
  */
 function checkRuleProperties(rule, index) {
--- a/devtools/client/commandline/test/browser_cmd_csscoverage_util.js
+++ b/devtools/client/commandline/test/browser_cmd_csscoverage_util.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the addon commands works as they should
 
 const csscoverage = require("devtools/server/actors/csscoverage");
 
-add_task(function*() {
+add_task(function* () {
   testDeconstructRuleId();
 });
 
 function testDeconstructRuleId() {
   // This is the easy case
   let rule = csscoverage.deconstructRuleId("http://thing/blah|10|20");
   is(rule.url, "http://thing/blah", "1 url");
   is(rule.line, 10, "1 line");
--- a/devtools/client/commandline/test/browser_cmd_folder.js
+++ b/devtools/client/commandline/test/browser_cmd_folder.js
@@ -1,58 +1,58 @@
 /* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the folder commands works as they should
 
 const TEST_URI = "data:text/html;charset=utf-8,cmd-folder";
 
 function test() {
-  helpers.addTabWithToolbar(TEST_URI, function(options) {
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
       {
-        setup: 'folder',
+        setup: "folder",
         check: {
-          input:  'folder',
-          hints:  ' open',
-          markup: 'IIIIII',
-          status: 'ERROR'
+          input:  "folder",
+          hints:  " open",
+          markup: "IIIIII",
+          status: "ERROR"
         },
       },
       {
-        setup: 'folder open',
+        setup: "folder open",
         check: {
-          input:  'folder open',
-          hints:  ' [path]',
-          markup: 'VVVVVVVVVVV',
-          status: 'VALID'
+          input:  "folder open",
+          hints:  " [path]",
+          markup: "VVVVVVVVVVV",
+          status: "VALID"
         }
       },
       {
-        setup: 'folder open ~',
+        setup: "folder open ~",
         check: {
-          input:  'folder open ~',
-          hints:  '',
-          markup: 'VVVVVVVVVVVVV',
-          status: 'VALID'
+          input:  "folder open ~",
+          hints:  "",
+          markup: "VVVVVVVVVVVVV",
+          status: "VALID"
         }
       },
       {
-        setup: 'folder openprofile',
+        setup: "folder openprofile",
         check: {
-          input:  'folder openprofile',
-          hints:  '',
-          markup: 'VVVVVVVVVVVVVVVVVV',
-          status: 'VALID'
+          input:  "folder openprofile",
+          hints:  "",
+          markup: "VVVVVVVVVVVVVVVVVV",
+          status: "VALID"
         }
       },
       {
-        setup: 'folder openprofile WRONG',
+        setup: "folder openprofile WRONG",
         check: {
-          input:  'folder openprofile WRONG',
-          hints:  '',
-          markup: 'VVVVVVVVVVVVVVVVVVVEEEEE',
-          status: 'ERROR'
+          input:  "folder openprofile WRONG",
+          hints:  "",
+          markup: "VVVVVVVVVVVVVVVVVVVEEEEE",
+          status: "ERROR"
         }
       }
     ]);
   }).then(finish, helpers.handleError);
 }
--- a/devtools/client/commandline/test/browser_cmd_highlight_01.js
+++ b/devtools/client/commandline/test/browser_cmd_highlight_01.js
@@ -2,151 +2,151 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Tests the various highlight command parameters and options
 
 // Creating a test page with many elements to test the --showall option
 var TEST_PAGE = "data:text/html;charset=utf-8,<body><ul>";
-for (let i = 0; i < 101; i ++) {
+for (let i = 0; i < 101; i++) {
   TEST_PAGE += "<li class='item'>" + i + "</li>";
 }
 TEST_PAGE += "</ul></body>";
 
 function test() {
   return Task.spawn(spawnTest).then(finish, helpers.handleError);
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_PAGE);
   yield helpers.openToolbar(options);
 
   yield helpers.audit(options, [
     {
-      setup: 'highlight',
+      setup: "highlight",
       check: {
-        input:  'highlight',
-        hints:           ' [selector] [options]',
-        markup: 'VVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight",
+        hints:           " [selector] [options]",
+        markup: "VVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '0 nodes highlighted'
+        output: "0 nodes highlighted"
       }
     },
     {
-      setup: 'highlight bo',
+      setup: "highlight bo",
       check: {
-        input:  'highlight bo',
-        hints:              ' [options]',
-        markup: 'VVVVVVVVVVII',
-        status: 'ERROR'
+        input:  "highlight bo",
+        hints:              " [options]",
+        markup: "VVVVVVVVVVII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: No matches'
+        output: "Error: No matches"
       }
     },
     {
-      setup: 'highlight body',
+      setup: "highlight body",
       check: {
-        input:  'highlight body',
-        hints:                ' [options]',
-        markup: 'VVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body",
+        hints:                " [options]",
+        markup: "VVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight body --hideguides',
+      setup: "highlight body --hideguides",
       check: {
-        input:  'highlight body --hideguides',
-        hints:                             ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body --hideguides",
+        hints:                             " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight body --showinfobar',
+      setup: "highlight body --showinfobar",
       check: {
-        input:  'highlight body --showinfobar',
-        hints:                              ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body --showinfobar",
+        hints:                              " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight body --showall',
+      setup: "highlight body --showall",
       check: {
-        input:  'highlight body --showall',
-        hints:                          ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body --showall",
+        hints:                          " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight body --keep',
+      setup: "highlight body --keep",
       check: {
-        input:  'highlight body --keep',
-        hints:                       ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body --keep",
+        hints:                       " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight body --hideguides --showinfobar --showall --region ' +
-        'content --fill red --keep',
+      setup: "highlight body --hideguides --showinfobar --showall --region " +
+        "content --fill red --keep",
       check: {
-        input:  'highlight body --hideguides --showinfobar --showall --region ' +
-          'content --fill red --keep',
-        hints: '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV' +
-          'VVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight body --hideguides --showinfobar --showall --region " +
+          "content --fill red --keep",
+        hints: "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" +
+          "VVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '1 node highlighted'
+        output: "1 node highlighted"
       }
     },
     {
-      setup: 'highlight .item',
+      setup: "highlight .item",
       check: {
-        input:  'highlight .item',
-        hints:                 ' [options]',
-        markup: 'VVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight .item",
+        hints:                 " [options]",
+        markup: "VVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '101 nodes matched, but only 100 nodes highlighted. Use ' +
-          '\u2018--showall\u2019 to show all'
+        output: "101 nodes matched, but only 100 nodes highlighted. Use " +
+          "\u2018--showall\u2019 to show all"
       }
     },
     {
-      setup: 'highlight .item --showall',
+      setup: "highlight .item --showall",
       check: {
-        input:  'highlight .item --showall',
-        hints:                           ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "highlight .item --showall",
+        hints:                           " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
       exec: {
-        output: '101 nodes highlighted'
+        output: "101 nodes highlighted"
       }
     }
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_highlight_02.js
+++ b/devtools/client/commandline/test/browser_cmd_highlight_02.js
@@ -3,17 +3,17 @@
 
 "use strict";
 
 // Tests that the highlight command actually creates a highlighter
 
 const TEST_PAGE = "data:text/html;charset=utf-8,<div></div>";
 
 function test() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let options = yield helpers.openTab(TEST_PAGE);
     yield helpers.openToolbar(options);
 
     info("highlighting the body node");
     yield runCommand("highlight body", options);
     is(getHighlighterNumber(), 1, "The highlighter element exists for body");
 
     info("highlighting the div node");
--- a/devtools/client/commandline/test/browser_cmd_highlight_03.js
+++ b/devtools/client/commandline/test/browser_cmd_highlight_03.js
@@ -13,117 +13,117 @@ function test() {
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_PAGE);
   yield helpers.openToolbar(options);
 
   yield helpers.audit(options, [
     {
-      setup: 'highlight body --hide',
+      setup: "highlight body --hide",
       check: {
-        input:  'highlight body --hide',
-        hints:                       'guides [options]',
-        markup: 'VVVVVVVVVVVVVVVIIIIII',
-        status: 'ERROR'
+        input:  "highlight body --hide",
+        hints:                       "guides [options]",
+        markup: "VVVVVVVVVVVVVVVIIIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'highlight body --show',
+      setup: "highlight body --show",
       check: {
-        input:  'highlight body --show',
-        hints:                       'infobar [options]',
-        markup: 'VVVVVVVVVVVVVVVIIIIII',
-        status: 'ERROR'
+        input:  "highlight body --show",
+        hints:                       "infobar [options]",
+        markup: "VVVVVVVVVVVVVVVIIIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'highlight body --showa',
+      setup: "highlight body --showa",
       check: {
-        input:  'highlight body --showa',
-        hints:                        'll [options]',
-        markup: 'VVVVVVVVVVVVVVVIIIIIII',
-        status: 'ERROR'
+        input:  "highlight body --showa",
+        hints:                        "ll [options]",
+        markup: "VVVVVVVVVVVVVVVIIIIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'highlight body --r',
+      setup: "highlight body --r",
       check: {
-        input:  'highlight body --r',
-        hints:                    'egion [options]',
-        markup: 'VVVVVVVVVVVVVVVIII',
-        status: 'ERROR'
+        input:  "highlight body --r",
+        hints:                    "egion [options]",
+        markup: "VVVVVVVVVVVVVVVIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'highlight body --region',
+      setup: "highlight body --region",
       check: {
-        input:  'highlight body --region',
-        hints:                         ' <selection> [options]',
-        markup: 'VVVVVVVVVVVVVVVIIIIIIII',
-        status: 'ERROR'
+        input:  "highlight body --region",
+        hints:                         " <selection> [options]",
+        markup: "VVVVVVVVVVVVVVVIIIIIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Value required for \u2018region\u2019.'
+        output: "Error: Value required for \u2018region\u2019."
       }
     },
     {
-      setup: 'highlight body --fi',
+      setup: "highlight body --fi",
       check: {
-        input:  'highlight body --fi',
-        hints:                     'll [options]',
-        markup: 'VVVVVVVVVVVVVVVIIII',
-        status: 'ERROR'
+        input:  "highlight body --fi",
+        hints:                     "ll [options]",
+        markup: "VVVVVVVVVVVVVVVIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'highlight body --fill',
+      setup: "highlight body --fill",
       check: {
-        input:  'highlight body --fill',
-        hints:                       ' <string> [options]',
-        markup: 'VVVVVVVVVVVVVVVIIIIII',
-        status: 'ERROR'
+        input:  "highlight body --fill",
+        hints:                       " <string> [options]",
+        markup: "VVVVVVVVVVVVVVVIIIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Value required for \u2018fill\u2019.'
+        output: "Error: Value required for \u2018fill\u2019."
       }
     },
     {
-      setup: 'highlight body --ke',
+      setup: "highlight body --ke",
       check: {
-        input:  'highlight body --ke',
-        hints:                     'ep [options]',
-        markup: 'VVVVVVVVVVVVVVVIIII',
-        status: 'ERROR'
+        input:  "highlight body --ke",
+        hints:                     "ep [options]",
+        markup: "VVVVVVVVVVVVVVVIIII",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'unhighlight',
+      setup: "unhighlight",
       check: {
-        input:  'unhighlight',
-        hints:  '',
-        markup: 'VVVVVVVVVVV',
-        status: 'VALID'
+        input:  "unhighlight",
+        hints:  "",
+        markup: "VVVVVVVVVVV",
+        status: "VALID"
       }
     }
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_inject.js
+++ b/devtools/client/commandline/test/browser_cmd_inject.js
@@ -1,67 +1,67 @@
 /* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the inject commands works as they should
 
-const TEST_URI = 'http://example.com/browser/devtools/client/commandline/'+
-                 'test/browser_cmd_inject.html';
+const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
+                 "test/browser_cmd_inject.html";
 
 function test() {
-  helpers.addTabWithToolbar(TEST_URI, function(options) {
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
       {
-        setup:    'inject',
+        setup:    "inject",
         check: {
-          input:  'inject',
-          markup: 'VVVVVV',
-          hints:        ' <library>',
-          status: 'ERROR'
+          input:  "inject",
+          markup: "VVVVVV",
+          hints:        " <library>",
+          status: "ERROR"
         },
       },
       {
-        setup:    'inject j',
+        setup:    "inject j",
         check: {
-          input:  'inject j',
-          markup: 'VVVVVVVI',
-          hints:          'Query',
-          status: 'ERROR'
+          input:  "inject j",
+          markup: "VVVVVVVI",
+          hints:          "Query",
+          status: "ERROR"
         },
       },
       {
-        setup: 'inject notauri',
+        setup: "inject notauri",
         check: {
-          input:  'inject notauri',
-          hints:                ' -> http://notauri/',
-          markup: 'VVVVVVVIIIIIII',
-          status: 'ERROR',
+          input:  "inject notauri",
+          hints:                " -> http://notauri/",
+          markup: "VVVVVVVIIIIIII",
+          status: "ERROR",
           args: {
             library: {
               value: undefined,
-              status: 'INCOMPLETE'
+              status: "INCOMPLETE"
             }
           }
         }
       },
       {
-        setup:    'inject http://example.com/browser/devtools/client/commandline/test/browser_cmd_inject.js',
+        setup:    "inject http://example.com/browser/devtools/client/commandline/test/browser_cmd_inject.js",
         check: {
-          input:  'inject http://example.com/browser/devtools/client/commandline/test/browser_cmd_inject.js',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-          hints:                                                                                           '',
-          status: 'VALID',
+          input:  "inject http://example.com/browser/devtools/client/commandline/test/browser_cmd_inject.js",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+          hints:                                                                                           "",
+          status: "VALID",
           args: {
             library: {
-              value: function(library) {
-                is(library.type, 'url', 'inject type name');
-                is(library.url.origin, 'http://example.com', 'inject url hostname');
-                ok(library.url.path.indexOf('_inject.js') != -1, 'inject url path');
+              value: function (library) {
+                is(library.type, "url", "inject type name");
+                is(library.url.origin, "http://example.com", "inject url hostname");
+                ok(library.url.path.indexOf("_inject.js") != -1, "inject url path");
               },
-              status: 'VALID'
+              status: "VALID"
             }
           }
         },
         exec: {
           output: [ /http:\/\/example.com\/browser\/devtools\/client\/commandline\/test\/browser_cmd_inject.js loaded/ ]
         }
       }
     ]);
--- a/devtools/client/commandline/test/browser_cmd_jsb.js
+++ b/devtools/client/commandline/test/browser_cmd_jsb.js
@@ -13,29 +13,29 @@ function test() {
 function* testTask() {
   let options = yield helpers.openTab("about:blank");
   yield helpers.openToolbar(options);
 
   let notifyPromise = wwNotifyOnce();
 
   helpers.audit(options, [
     {
-      setup: 'jsb',
+      setup: "jsb",
       check: {
-        input:  'jsb',
-        hints:     ' <url> [options]',
-        markup: 'VVV',
-        status: 'ERROR'
+        input:  "jsb",
+        hints:     " <url> [options]",
+        markup: "VVV",
+        status: "ERROR"
       }
     },
     {
-      setup: 'jsb ' + TEST_URI,
+      setup: "jsb " + TEST_URI,
       // Should result in a new scratchpad window
       exec: {
-        output: '',
+        output: "",
         error: false
       }
     }
   ]);
 
   let { subject } = yield notifyPromise;
   let scratchpadWin = subject.QueryInterface(Ci.nsIDOMWindow);
   yield helpers.listenOnce(scratchpadWin, "load");
@@ -88,16 +88,16 @@ function wwNotifyOnce() {
 
 /**
  * YET ANOTHER WRAPPER for a place where we are using events as poor-man's
  * promises. Perhaps this should be promoted to scratchpad?
  */
 function observeOnce(scratchpad) {
   return new Promise(resolve => {
     let observer = {
-      onReady: function() {
+      onReady: function () {
         scratchpad.removeObserver(observer);
         resolve();
       },
     };
     scratchpad.addObserver(observer);
   });
 }
--- a/devtools/client/commandline/test/browser_cmd_listen.js
+++ b/devtools/client/commandline/test/browser_cmd_listen.js
@@ -1,79 +1,79 @@
 /* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the listen/unlisten commands work as they should.
 
-const TEST_URI = "http://example.com/browser/devtools/client/commandline/"+
+const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                  "test/browser_cmd_cookie.html";
 
 function test() {
   return Task.spawn(testTask).then(finish, helpers.handleError);
 }
 
 var tests = {
-  testInput: function(options) {
+  testInput: function (options) {
     return helpers.audit(options, [
       {
-        setup:    'listen',
+        setup:    "listen",
         check: {
-          input:  'listen',
-          markup: 'VVVVVV',
-          status: 'VALID'
+          input:  "listen",
+          markup: "VVVVVV",
+          status: "VALID"
         },
       },
       {
-        setup:    'unlisten',
+        setup:    "unlisten",
         check: {
-          input:  'unlisten',
-          markup: 'VVVVVVVV',
-          status: 'VALID'
+          input:  "unlisten",
+          markup: "VVVVVVVV",
+          status: "VALID"
         },
         exec: {
-          output: 'All TCP ports closed'
+          output: "All TCP ports closed"
         }
       },
       {
-        setup: function() {
-          return helpers.setInput(options, 'listen');
+        setup: function () {
+          return helpers.setInput(options, "listen");
         },
         check: {
-          input:  'listen',
-          hints:        ' [port]',
-          markup: 'VVVVVV',
-          status: 'VALID'
+          input:  "listen",
+          hints:        " [port]",
+          markup: "VVVVVV",
+          status: "VALID"
         },
         exec: {
-          output: 'Listening on port 6080'
+          output: "Listening on port 6080"
         }
       },
       {
-        setup: function() {
-          return helpers.setInput(options, 'listen 8000');
+        setup: function () {
+          return helpers.setInput(options, "listen 8000");
         },
         exec: {
-          output: 'Listening on port 8000'
+          output: "Listening on port 8000"
         }
       },
       {
-        setup: function() {
-          return helpers.setInput(options, 'unlisten');
+        setup: function () {
+          return helpers.setInput(options, "unlisten");
         },
         exec: {
-          output: 'All TCP ports closed'
+          output: "All TCP ports closed"
         }
       }
     ]);
   },
 };
 
 function* testTask() {
-    Services.prefs.setBoolPref('devtools.debugger.remote-enabled', true);
-    let options = yield helpers.openTab(TEST_URI);
-    yield helpers.openToolbar(options);
+  Services.prefs.setBoolPref("devtools.debugger.remote-enabled", true);
+  let options = yield helpers.openTab(TEST_URI);
+  yield helpers.openToolbar(options);
 
-    yield helpers.runTests(options, tests);
+  yield helpers.runTests(options, tests);
 
-    yield helpers.closeToolbar(options);
-    yield helpers.closeTab(options);
-    Services.prefs.clearUserPref('devtools.debugger.remote-enabled');
+  yield helpers.closeToolbar(options);
+  yield helpers.closeTab(options);
+  Services.prefs.clearUserPref("devtools.debugger.remote-enabled");
 }
--- a/devtools/client/commandline/test/browser_cmd_media.js
+++ b/devtools/client/commandline/test/browser_cmd_media.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test that screenshot command works properly
 const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                  "test/browser_cmd_media.html";
 var tests = {
-  testInput: function(options) {
+  testInput: function (options) {
     return helpers.audit(options, [
       {
         setup: "media emulate braille",
         check: {
           input:  "media emulate braille",
           markup: "VVVVVVVVVVVVVVVVVVVVV",
           status: "VALID",
           args: {
@@ -26,60 +26,60 @@ var tests = {
           status: "VALID",
           args: {
           }
         },
       },
     ]);
   },
 
-  testEmulateMedia: function(options) {
+  testEmulateMedia: function (options) {
     return helpers.audit(options, [
       {
         setup: "media emulate braille",
         check: {
           args: {
             type: { value: "braille"}
           }
         },
         exec: {
           output: ""
         },
-        post: function() {
+        post: function () {
           let body = options.window.document.body;
           let style = options.window.getComputedStyle(body);
           is(style.backgroundColor, "rgb(255, 255, 0)", "media correctly emulated");
         }
       }
     ]);
   },
 
-  testEndMediaEmulation: function(options) {
+  testEndMediaEmulation: function (options) {
     return helpers.audit(options, [
       {
-        setup: function() {
+        setup: function () {
           let mDV = options.browser.markupDocumentViewer;
           mDV.emulateMedium("embossed");
           return helpers.setInput(options, "media reset");
         },
         exec: {
           output: ""
         },
-        post: function() {
+        post: function () {
           let body = options.window.document.body;
           let style = options.window.getComputedStyle(body);
           is(style.backgroundColor, "rgb(255, 255, 255)", "media reset");
         }
       }
     ]);
   }
 };
 
 function test() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let options = yield helpers.openTab(TEST_URI);
     yield helpers.openToolbar(options);
 
     yield helpers.runTests(options, tests);
 
     yield helpers.closeToolbar(options);
     yield helpers.closeTab(options);
   }).then(finish, helpers.handleError);
--- a/devtools/client/commandline/test/browser_cmd_pagemod_export.js
+++ b/devtools/client/commandline/test/browser_cmd_pagemod_export.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the inspect command works as it should
 
-const TEST_URI = "http://example.com/browser/devtools/client/commandline/"+
+const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                  "test/browser_cmd_pagemod_export.html";
 
 function test() {
   return Task.spawn(spawnTest).then(finish, helpers.handleError);
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_URI);
@@ -18,47 +18,47 @@ function* spawnTest() {
   const initialHtml = documentElement.innerHTML;
   function resetContent() {
     options.document.documentElement.innerHTML = initialHtml;
   }
 
   // Test exporting HTML
   let oldOpen = options.window.open;
   let openURL = "";
-  options.window.open = function(url) {
+  options.window.open = function (url) {
     // The URL is a data: URL that contains the document source
     openURL = decodeURIComponent(url);
   };
 
   yield helpers.audit(options, [
     {
-      setup:    'export html',
+      setup:    "export html",
       skipIf: true,
       check: {
-        input:  'export html',
-        hints:             ' [destination]',
-        markup: 'VVVVVVVVVVV',
-        status: 'VALID',
+        input:  "export html",
+        hints:             " [destination]",
+        markup: "VVVVVVVVVVV",
+        status: "VALID",
       },
       exec: {
-        output: ''
+        output: ""
       },
-      post: function() {
+      post: function () {
         isnot(openURL.indexOf('<html lang="en">'), -1, "export html works: <html>");
         isnot(openURL.indexOf("<title>GCLI"), -1, "export html works: <title>");
         isnot(openURL.indexOf('<p id="someid">#'), -1, "export html works: <p>");
       }
     },
     {
-      setup:    'export html stdout',
+      setup:    "export html stdout",
       check: {
-        input:  'export html stdout',
-        hints:                    '',
-        markup: 'VVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "export html stdout",
+        hints:                    "",
+        markup: "VVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
           destination: { value: "stdout" }
         },
       },
       exec: {
         output: [
           /<html lang="en">/,
           /<title>GCLI/,
@@ -69,218 +69,218 @@ function* spawnTest() {
   ]);
 
   options.window.open = oldOpen;
   oldOpen = undefined;
 
   // Test 'pagemod replace'
   yield helpers.audit(options, [
     {
-      setup: 'pagemod replace',
+      setup: "pagemod replace",
       check: {
-        input:  'pagemod replace',
-        hints:                 ' <search> <replace> [ignoreCase] [selector] [root] [attrOnly] [contentOnly] [attributes]',
-        markup: 'VVVVVVVVVVVVVVV',
-        status: 'ERROR'
+        input:  "pagemod replace",
+        hints:                 " <search> <replace> [ignoreCase] [selector] [root] [attrOnly] [contentOnly] [attributes]",
+        markup: "VVVVVVVVVVVVVVV",
+        status: "ERROR"
       }
     },
     {
-      setup: 'pagemod replace some foo',
+      setup: "pagemod replace some foo",
       check: {
-        input:  'pagemod replace some foo',
-        hints:                          ' [ignoreCase] [selector] [root] [attrOnly] [contentOnly] [attributes]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "pagemod replace some foo",
+        hints:                          " [ignoreCase] [selector] [root] [attrOnly] [contentOnly] [attributes]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       }
     },
     {
-      setup: 'pagemod replace some foo true',
+      setup: "pagemod replace some foo true",
       check: {
-        input:  'pagemod replace some foo true',
-        hints:                               ' [selector] [root] [attrOnly] [contentOnly] [attributes]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "pagemod replace some foo true",
+        hints:                               " [selector] [root] [attrOnly] [contentOnly] [attributes]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       }
     },
     {
-      setup: 'pagemod replace some foo true --attrOnly',
+      setup: "pagemod replace some foo true --attrOnly",
       check: {
-        input:  'pagemod replace some foo true --attrOnly',
-        hints:                                          ' [selector] [root] [contentOnly] [attributes]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "pagemod replace some foo true --attrOnly",
+        hints:                                          " [selector] [root] [contentOnly] [attributes]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       }
     },
     {
-      setup: 'pagemod replace sOme foOBar',
+      setup: "pagemod replace sOme foOBar",
       exec: {
         output: /^[^:]+: 13\. [^:]+: 0\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "no change in the page");
       }
     },
     {
-      setup: 'pagemod replace sOme foOBar true',
+      setup: "pagemod replace sOme foOBar true",
       exec: {
         output: /^[^:]+: 13\. [^:]+: 2\. [^:]+: 2\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         isnot(html.indexOf('<p class="foOBarclass">.foOBarclass'), -1,
               ".someclass changed to .foOBarclass");
         isnot(html.indexOf('<p id="foOBarid">#foOBarid'), -1,
               "#someid changed to #foOBarid");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod replace some foobar --contentOnly',
+      setup: "pagemod replace some foobar --contentOnly",
       exec: {
         output: /^[^:]+: 13\. [^:]+: 2\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         isnot(html.indexOf('<p class="someclass">.foobarclass'), -1,
               ".someclass changed to .foobarclass (content only)");
         isnot(html.indexOf('<p id="someid">#foobarid'), -1,
               "#someid changed to #foobarid (content only)");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod replace some foobar --attrOnly',
+      setup: "pagemod replace some foobar --attrOnly",
       exec: {
         output: /^[^:]+: 13\. [^:]+: 0\. [^:]+: 2\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         isnot(html.indexOf('<p class="foobarclass">.someclass'), -1,
               ".someclass changed to .foobarclass (attr only)");
         isnot(html.indexOf('<p id="foobarid">#someid'), -1,
               "#someid changed to #foobarid (attr only)");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod replace some foobar --root head',
+      setup: "pagemod replace some foobar --root head",
       exec: {
         output: /^[^:]+: 2\. [^:]+: 0\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed");
       }
     },
     {
-      setup: 'pagemod replace some foobar --selector .someclass,div,span',
+      setup: "pagemod replace some foobar --selector .someclass,div,span",
       exec: {
         output: /^[^:]+: 4\. [^:]+: 1\. [^:]+: 1\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         isnot(html.indexOf('<p class="foobarclass">.foobarclass'), -1,
               ".someclass changed to .foobarclass");
         isnot(html.indexOf('<p id="someid">#someid'), -1,
               "#someid did not change");
 
         resetContent();
       }
     },
   ]);
 
   // Test 'pagemod remove element'
   yield helpers.audit(options, [
     {
-      setup: 'pagemod remove',
+      setup: "pagemod remove",
       check: {
-        input:  'pagemod remove',
-        hints:                ' attribute',
-        markup: 'IIIIIIIVIIIIII',
-        status: 'ERROR'
+        input:  "pagemod remove",
+        hints:                " attribute",
+        markup: "IIIIIIIVIIIIII",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pagemod remove element',
+      setup: "pagemod remove element",
       check: {
-        input:  'pagemod remove element',
-        hints:                        ' <search> [root] [stripOnly] [ifEmptyOnly]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVV',
-        status: 'ERROR'
+        input:  "pagemod remove element",
+        hints:                        " <search> [root] [stripOnly] [ifEmptyOnly]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVV",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pagemod remove element foo',
+      setup: "pagemod remove element foo",
       check: {
-        input:  'pagemod remove element foo',
-        hints:                            ' [root] [stripOnly] [ifEmptyOnly]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "pagemod remove element foo",
+        hints:                            " [root] [stripOnly] [ifEmptyOnly]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
     },
     {
-      setup: 'pagemod remove element p',
+      setup: "pagemod remove element p",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 3\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         is(html.indexOf('<p class="someclass">'), -1, "p.someclass removed");
         is(html.indexOf('<p id="someid">'), -1, "p#someid removed");
         is(html.indexOf("<p><strong>"), -1, "<p> wrapping <strong> removed");
         isnot(html.indexOf("<span>"), -1, "<span> not removed");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod remove element p head',
+      setup: "pagemod remove element p head",
       exec: {
         output: /^[^:]+: 0\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed in the page");
       }
     },
     {
-      setup: 'pagemod remove element p --ifEmptyOnly',
+      setup: "pagemod remove element p --ifEmptyOnly",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed in the page");
       }
     },
     {
-      setup: 'pagemod remove element meta,title --ifEmptyOnly',
+      setup: "pagemod remove element meta,title --ifEmptyOnly",
       exec: {
         output: /^[^:]+: 2\. [^:]+: 1\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         is(html.indexOf("<meta charset="), -1, "<meta> removed");
         isnot(html.indexOf("<title>"), -1, "<title> not removed");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod remove element p --stripOnly',
+      setup: "pagemod remove element p --stripOnly",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 3\.\s*$/
       },
-      post: function() {
+      post: function () {
         let html = documentElement.innerHTML;
 
         is(html.indexOf('<p class="someclass">'), -1, "p.someclass removed");
         is(html.indexOf('<p id="someid">'), -1, "p#someid removed");
         is(html.indexOf("<p><strong>"), -1, "<p> wrapping <strong> removed");
         isnot(html.indexOf(".someclass"), -1, ".someclass still exists");
         isnot(html.indexOf("#someid"), -1, "#someid still exists");
         isnot(html.indexOf("<strong>p"), -1, "<strong> still exists");
@@ -288,99 +288,99 @@ function* spawnTest() {
         resetContent();
       }
     },
   ]);
 
   // Test 'pagemod remove attribute'
   yield helpers.audit(options, [
     {
-      setup: 'pagemod remove attribute',
+      setup: "pagemod remove attribute",
       check: {
-        input:  'pagemod remove attribute',
-        hints:                          ' <searchAttributes> <searchElements> [root] [ignoreCase]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'ERROR',
+        input:  "pagemod remove attribute",
+        hints:                          " <searchAttributes> <searchElements> [root] [ignoreCase]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "ERROR",
         args: {
-          searchAttributes: { value: undefined, status: 'INCOMPLETE' },
-          searchElements: { value: undefined, status: 'INCOMPLETE' },
+          searchAttributes: { value: undefined, status: "INCOMPLETE" },
+          searchElements: { value: undefined, status: "INCOMPLETE" },
           // root: { value: undefined }, // 'root' is a node which is remote
                                          // so we can't see the value in tests
           ignoreCase: { value: false },
         }
       },
     },
     {
-      setup: 'pagemod remove attribute foo bar',
+      setup: "pagemod remove attribute foo bar",
       check: {
-        input:  'pagemod remove attribute foo bar',
-        hints:                                  ' [root] [ignoreCase]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "pagemod remove attribute foo bar",
+        hints:                                  " [root] [ignoreCase]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          searchAttributes: { value: 'foo' },
-          searchElements: { value: 'bar' },
+          searchAttributes: { value: "foo" },
+          searchElements: { value: "bar" },
           // root: { value: undefined }, // 'root' is a node which is remote
                                          // so we can't see the value in tests
           ignoreCase: { value: false },
         }
       },
-      post: function() {
+      post: function () {
         return new Promise(resolve => {
           executeSoon(resolve);
         });
       }
     },
     {
-      setup: 'pagemod remove attribute foo bar',
+      setup: "pagemod remove attribute foo bar",
       exec: {
         output: /^[^:]+: 0\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed in the page");
       }
     },
     {
-      setup: 'pagemod remove attribute foo p',
+      setup: "pagemod remove attribute foo p",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed in the page");
       }
     },
     {
-      setup: 'pagemod remove attribute id p,span',
+      setup: "pagemod remove attribute id p,span",
       exec: {
         output: /^[^:]+: 5\. [^:]+: 1\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML.indexOf('<p id="someid">#someid'), -1,
            "p#someid attribute removed");
         isnot(documentElement.innerHTML.indexOf("<p>#someid"), -1,
            "p with someid content still exists");
 
         resetContent();
       }
     },
     {
-      setup: 'pagemod remove attribute Class p',
+      setup: "pagemod remove attribute Class p",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 0\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML, initialHtml, "nothing changed in the page");
       }
     },
     {
-      setup: 'pagemod remove attribute Class p --ignoreCase',
+      setup: "pagemod remove attribute Class p --ignoreCase",
       exec: {
         output: /^[^:]+: 3\. [^:]+: 1\.\s*$/
       },
-      post: function() {
+      post: function () {
         is(documentElement.innerHTML.indexOf('<p class="someclass">.someclass'), -1,
            "p.someclass attribute removed");
         isnot(documentElement.innerHTML.indexOf("<p>.someclass"), -1,
            "p with someclass content still exists");
 
         resetContent();
       }
     },
--- a/devtools/client/commandline/test/browser_cmd_paintflashing.js
+++ b/devtools/client/commandline/test/browser_cmd_paintflashing.js
@@ -8,17 +8,17 @@
 const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                  "test/browser_cmd_cookie.html";
 
 function test() {
   return Task.spawn(testTask).then(finish, helpers.handleError);
 }
 
 var tests = {
-  testInput: function(options) {
+  testInput: function (options) {
     let toggleCommand = options.requisition.system.commands.get("paintflashing toggle");
 
     let _tab = options.tab;
 
     let actions = [
       {
         command: "paintflashing on",
         isChecked: true,
--- a/devtools/client/commandline/test/browser_cmd_pref1.js
+++ b/devtools/client/commandline/test/browser_cmd_pref1.js
@@ -17,138 +17,138 @@ function* spawnTest() {
   let options = yield helpers.openTab(TEST_URI);
   yield helpers.openToolbar(options);
 
   let netmonEnabledOrig = prefBranch.getBoolPref("devtools.netmonitor.enabled");
   info("originally: devtools.netmonitor.enabled = " + netmonEnabledOrig);
 
   yield helpers.audit(options, [
     {
-      setup: 'pref',
+      setup: "pref",
       check: {
-        input:  'pref',
-        hints:      ' reset',
-        markup: 'IIII',
-        status: 'ERROR'
+        input:  "pref",
+        hints:      " reset",
+        markup: "IIII",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref s',
+      setup: "pref s",
       check: {
-        input:  'pref s',
-        hints:        'et',
-        markup: 'IIIIVI',
-        status: 'ERROR'
+        input:  "pref s",
+        hints:        "et",
+        markup: "IIIIVI",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref sh',
+      setup: "pref sh",
       check: {
-        input:  'pref sh',
-        hints:         'ow',
-        markup: 'IIIIVII',
-        status: 'ERROR'
+        input:  "pref sh",
+        hints:         "ow",
+        markup: "IIIIVII",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref show ',
+      setup: "pref show ",
       check: {
-        input:  'pref show ',
-        markup: 'VVVVVVVVVV',
-        status: 'ERROR'
+        input:  "pref show ",
+        markup: "VVVVVVVVVV",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref show usetexttospeech',
+      setup: "pref show usetexttospeech",
       check: {
-        input:  'pref show usetexttospeech',
-        hints:                           ' -> accessibility.usetexttospeech',
-        markup: 'VVVVVVVVVVIIIIIIIIIIIIIII',
-        status: 'ERROR'
+        input:  "pref show usetexttospeech",
+        hints:                           " -> accessibility.usetexttospeech",
+        markup: "VVVVVVVVVVIIIIIIIIIIIIIII",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref show devtools.netmoni',
+      setup: "pref show devtools.netmoni",
       check: {
-        input:  'pref show devtools.netmoni',
-        hints:                        'tor.enabled',
-        markup: 'VVVVVVVVVVIIIIIIIIIIIIIIII',
-        status: 'ERROR',
-        tooltipState: 'true:importantFieldFlag',
+        input:  "pref show devtools.netmoni",
+        hints:                        "tor.enabled",
+        markup: "VVVVVVVVVVIIIIIIIIIIIIIIII",
+        status: "ERROR",
+        tooltipState: "true:importantFieldFlag",
         args: {
-          setting: { value: undefined, status: 'INCOMPLETE' },
+          setting: { value: undefined, status: "INCOMPLETE" },
         }
       },
     },
     {
-      setup: 'pref reset devtools.netmonitor.enabled',
+      setup: "pref reset devtools.netmonitor.enabled",
       check: {
-        input:  'pref reset devtools.netmonitor.enabled',
-        hints:                                  '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID'
+        input:  "pref reset devtools.netmonitor.enabled",
+        hints:                                  "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID"
       },
     },
     {
-      setup: 'pref show devtools.netmonitor.enabled 4',
+      setup: "pref show devtools.netmonitor.enabled 4",
       check: {
-        input:  'pref show devtools.netmonitor.enabled 4',
-        hints:                                   '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVE',
-        status: 'ERROR'
+        input:  "pref show devtools.netmonitor.enabled 4",
+        hints:                                   "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVE",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref set devtools.netmonitor.enabled 4',
+      setup: "pref set devtools.netmonitor.enabled 4",
       check: {
-        input:  'pref set devtools.netmonitor.enabled 4',
-        hints:                                  '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVE',
-        status: 'ERROR',
+        input:  "pref set devtools.netmonitor.enabled 4",
+        hints:                                  "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVE",
+        status: "ERROR",
         args: {
-          setting: { arg: ' devtools.netmonitor.enabled' },
-          value: { status: 'ERROR', message: 'Can\u2019t use \u20184\u2019.' },
+          setting: { arg: " devtools.netmonitor.enabled" },
+          value: { status: "ERROR", message: "Can\u2019t use \u20184\u2019." },
         }
       },
     },
     {
-      setup: 'pref set devtools.editor.tabsize 4',
+      setup: "pref set devtools.editor.tabsize 4",
       check: {
-        input:  'pref set devtools.editor.tabsize 4',
-        hints:                                    '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "pref set devtools.editor.tabsize 4",
+        hints:                                    "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          setting: { arg: ' devtools.editor.tabsize' },
+          setting: { arg: " devtools.editor.tabsize" },
           value: { value: 4 },
         }
       },
     },
     {
-      setup: 'pref list',
+      setup: "pref list",
       check: {
-        input:  'pref list',
-        hints:           ' -> pref set',
-        markup: 'IIIIVIIII',
-        status: 'ERROR'
+        input:  "pref list",
+        hints:           " -> pref set",
+        markup: "IIIIVIIII",
+        status: "ERROR"
       },
     },
     {
-      setup: 'pref show devtools.netmonitor.enabled',
+      setup: "pref show devtools.netmonitor.enabled",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.netmonitor.enabled")
           }
         },
       },
       exec: {
         output: "devtools.netmonitor.enabled: " + netmonEnabledOrig,
       },
-      post: function() {
+      post: function () {
         prefBranch.setBoolPref("devtools.netmonitor.enabled", netmonEnabledOrig);
       }
     },
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_pref2.js
+++ b/devtools/client/commandline/test/browser_cmd_pref2.js
@@ -17,86 +17,86 @@ function* spawnTest() {
   let options = yield helpers.openTab(TEST_URI);
   yield helpers.openToolbar(options);
 
   let tabSizeOrig = prefBranch.getIntPref("devtools.editor.tabsize");
   info("originally: devtools.editor.tabsize = " + tabSizeOrig);
 
   yield helpers.audit(options, [
     {
-      setup: 'pref show devtools.editor.tabsize',
+      setup: "pref show devtools.editor.tabsize",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.editor.tabsize")
           }
         },
       },
       exec: {
         output: "devtools.editor.tabsize: " + tabSizeOrig,
       },
     },
     {
-      setup: 'pref set devtools.editor.tabsize 20',
+      setup: "pref set devtools.editor.tabsize 20",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.editor.tabsize")
           },
           value: { value: 20 }
         },
       },
       exec: {
-        output: '',
+        output: "",
       },
-      post: function() {
+      post: function () {
         is(prefBranch.getIntPref("devtools.editor.tabsize"), 20,
                                  "devtools.editor.tabsize is 20");
       }
     },
     {
-      setup: 'pref show devtools.editor.tabsize',
+      setup: "pref show devtools.editor.tabsize",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.editor.tabsize")
           }
         },
       },
       exec: {
         output: "devtools.editor.tabsize: 20",
       }
     },
     {
-      setup: 'pref set devtools.editor.tabsize 1',
+      setup: "pref set devtools.editor.tabsize 1",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.editor.tabsize")
           },
           value: { value: 1 }
         },
       },
       exec: {
-        output: '',
+        output: "",
       },
     },
     {
-      setup: 'pref show devtools.editor.tabsize',
+      setup: "pref show devtools.editor.tabsize",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.editor.tabsize")
           }
         },
       },
       exec: {
         output: "devtools.editor.tabsize: 1",
       },
-      post: function() {
+      post: function () {
         is(prefBranch.getIntPref("devtools.editor.tabsize"), 1,
                                  "devtools.editor.tabsize is 1");
       }
     },
   ]);
 
   prefBranch.setIntPref("devtools.editor.tabsize", tabSizeOrig);
 
--- a/devtools/client/commandline/test/browser_cmd_pref3.js
+++ b/devtools/client/commandline/test/browser_cmd_pref3.js
@@ -21,87 +21,87 @@ function* spawnTest() {
   yield helpers.openToolbar(options);
 
   let remoteHostOrig = prefBranch.getComplexValue("devtools.debugger.remote-host",
                                                   Ci.nsISupportsString).data;
   info("originally: devtools.debugger.remote-host = " + remoteHostOrig);
 
   yield helpers.audit(options, [
     {
-      setup: 'pref show devtools.debugger.remote-host',
+      setup: "pref show devtools.debugger.remote-host",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.debugger.remote-host")
           }
         },
       },
       exec: {
         output: new RegExp("^devtools\.debugger\.remote-host: " + remoteHostOrig + "$"),
       },
     },
     {
-      setup: 'pref set devtools.debugger.remote-host e.com',
+      setup: "pref set devtools.debugger.remote-host e.com",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.debugger.remote-host")
           },
           value: { value: "e.com" }
         },
       },
       exec: {
-        output: '',
+        output: "",
       },
     },
     {
-      setup: 'pref show devtools.debugger.remote-host',
+      setup: "pref show devtools.debugger.remote-host",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.debugger.remote-host")
           }
         },
       },
       exec: {
         output: new RegExp("^devtools\.debugger\.remote-host: e.com$"),
       },
-      post: function() {
+      post: function () {
         var ecom = prefBranch.getComplexValue("devtools.debugger.remote-host",
                                               Ci.nsISupportsString).data;
         is(ecom, "e.com", "devtools.debugger.remote-host is e.com");
       }
     },
     {
-      setup: 'pref set devtools.debugger.remote-host moz.foo',
+      setup: "pref set devtools.debugger.remote-host moz.foo",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.debugger.remote-host")
           },
           value: { value: "moz.foo" }
         },
       },
       exec: {
-        output: '',
+        output: "",
       },
     },
     {
-      setup: 'pref show devtools.debugger.remote-host',
+      setup: "pref show devtools.debugger.remote-host",
       check: {
         args: {
           setting: {
             value: options.requisition.system.settings.get("devtools.debugger.remote-host")
           }
         },
       },
       exec: {
         output: new RegExp("^devtools\.debugger\.remote-host: moz.foo$"),
       },
-      post: function() {
+      post: function () {
         var mozfoo = prefBranch.getComplexValue("devtools.debugger.remote-host",
                                                 Ci.nsISupportsString).data;
         is(mozfoo, "moz.foo", "devtools.debugger.remote-host is moz.foo");
       }
     },
   ]);
 
   supportsString.data = remoteHostOrig;
--- a/devtools/client/commandline/test/browser_cmd_qsa.js
+++ b/devtools/client/commandline/test/browser_cmd_qsa.js
@@ -3,31 +3,31 @@
 
 "use strict";
 
 // Tests that the qsa commands work as they should.
 
 const TEST_URI = "data:text/html;charset=utf-8,<body></body>";
 
 function test() {
- helpers.addTabWithToolbar(TEST_URI, function(options) {
-   return helpers.audit(options, [
-     {
-       setup: 'qsa',
-       check: {
-         input:  'qsa',
-         hints:  ' [query]',
-         markup: 'VVV',
-         status: 'VALID'
-       }
-     },
-     {
-       setup: 'qsa body',
-       check: {
-         input:  'qsa body',
-         hints:  '',
-         markup: 'VVVVVVVV',
-         status: 'VALID'
-       }
-     }
-   ]);
- }).then(finish, helpers.handleError);
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
+    return helpers.audit(options, [
+      {
+        setup: "qsa",
+        check: {
+          input:  "qsa",
+          hints:  " [query]",
+          markup: "VVV",
+          status: "VALID"
+        }
+      },
+      {
+        setup: "qsa body",
+        check: {
+          input:  "qsa body",
+          hints:  "",
+          markup: "VVVVVVVV",
+          status: "VALID"
+        }
+      }
+    ]);
+  }).then(finish, helpers.handleError);
 }
--- a/devtools/client/commandline/test/browser_cmd_restart.js
+++ b/devtools/client/commandline/test/browser_cmd_restart.js
@@ -1,60 +1,60 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test that restart command works properly (input wise)
 
 const TEST_URI = "data:text/html;charset=utf-8,gcli-command-restart";
 
 function test() {
-  helpers.addTabWithToolbar(TEST_URI, function(options) {
+  helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
       {
-        setup: 'restart',
+        setup: "restart",
         check: {
-          input:  'restart',
-          markup: 'VVVVVVV',
-          status: 'VALID',
+          input:  "restart",
+          markup: "VVVVVVV",
+          status: "VALID",
           args: {
             nocache: { value: false },
             safemode: { value: false },
           }
         },
       },
       {
-        setup: 'restart --nocache',
+        setup: "restart --nocache",
         check: {
-          input:  'restart --nocache',
-          markup: 'VVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "restart --nocache",
+          markup: "VVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
             nocache: { value: true },
             safemode: { value: false },
           }
         },
       },
       {
-        setup: 'restart --safemode',
+        setup: "restart --safemode",
         check: {
-          input:  'restart --safemode',
-          markup: 'VVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "restart --safemode",
+          markup: "VVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
             nocache: { value: false },
             safemode: { value: true },
           }
         },
       },
       {
-        setup: 'restart --safemode --nocache',
+        setup: "restart --safemode --nocache",
         check: {
-          input:  'restart --safemode --nocache',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "restart --safemode --nocache",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
             nocache: { value: true },
             safemode: { value: true },
           }
         },
       },
     ]);
   }).then(finish, helpers.handleError);
--- a/devtools/client/commandline/test/browser_cmd_rulers.js
+++ b/devtools/client/commandline/test/browser_cmd_rulers.js
@@ -12,42 +12,42 @@ function test() {
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_PAGE);
   yield helpers.openToolbar(options);
 
   yield helpers.audit(options, [
     {
-      setup: 'rulers',
+      setup: "rulers",
       check: {
-        input:  'rulers',
-        markup: 'VVVVVV',
-        status: 'VALID'
+        input:  "rulers",
+        markup: "VVVVVV",
+        status: "VALID"
       }
     },
     {
-      setup: 'rulers on',
+      setup: "rulers on",
       check: {
-        input:  'rulers on',
-        markup: 'VVVVVVVEE',
-        status: 'ERROR'
+        input:  "rulers on",
+        markup: "VVVVVVVEE",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     },
     {
-      setup: 'rulers --visible',
+      setup: "rulers --visible",
       check: {
-        input:  'rulers --visible',
-        markup: 'VVVVVVVEEEEEEEEE',
-        status: 'ERROR'
+        input:  "rulers --visible",
+        markup: "VVVVVVVEEEEEEEEE",
+        status: "ERROR"
       },
       exec: {
-        output: 'Error: Too many arguments'
+        output: "Error: Too many arguments"
       }
     }
   ]);
 
   yield helpers.closeToolbar(options);
   yield helpers.closeTab(options);
 }
--- a/devtools/client/commandline/test/browser_cmd_screenshot.js
+++ b/devtools/client/commandline/test/browser_cmd_screenshot.js
@@ -30,87 +30,87 @@ function* spawnTest() {
 function* addTabWithToolbarRunTests(win) {
   let options = yield helpers.openTab(TEST_URI, { chromeWindow: win });
   let browser = options.browser;
   yield helpers.openToolbar(options);
 
   // Test input status
   yield helpers.audit(options, [
     {
-      setup: 'screenshot',
+      setup: "screenshot",
       check: {
-        input:  'screenshot',
-        markup: 'VVVVVVVVVV',
-        status: 'VALID',
+        input:  "screenshot",
+        markup: "VVVVVVVVVV",
+        status: "VALID",
         args: {
         }
       },
     },
     {
-      setup: 'screenshot abc.png',
+      setup: "screenshot abc.png",
       check: {
-        input:  'screenshot abc.png',
-        markup: 'VVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "screenshot abc.png",
+        markup: "VVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
           filename: { value: "abc.png"},
         }
       },
     },
     {
-      setup: 'screenshot --fullpage',
+      setup: "screenshot --fullpage",
       check: {
-        input:  'screenshot --fullpage',
-        markup: 'VVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "screenshot --fullpage",
+        markup: "VVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
           fullpage: { value: true},
         }
       },
     },
     {
-      setup: 'screenshot abc --delay 5',
+      setup: "screenshot abc --delay 5",
       check: {
-        input:  'screenshot abc --delay 5',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "screenshot abc --delay 5",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
           filename: { value: "abc"},
           delay: { value: 5 },
         }
       },
     },
     {
-      setup: 'screenshot --selector img#testImage',
+      setup: "screenshot --selector img#testImage",
       check: {
-        input:  'screenshot --selector img#testImage',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "screenshot --selector img#testImage",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
       },
     },
   ]);
 
   // Test capture to file
   let file = FileUtils.getFile("TmpD", [ "TestScreenshotFile.png" ]);
 
   yield helpers.audit(options, [
     {
-      setup: 'screenshot ' + file.path,
+      setup: "screenshot " + file.path,
       check: {
         args: {
           filename: { value: "" + file.path },
           fullpage: { value: false },
           clipboard: { value: false },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Saved to "),
       },
-      post: function() {
+      post: function () {
         // Bug 849168: screenshot command tests fail in try but not locally
         // ok(file.exists(), "Screenshot file exists");
 
         if (file.exists()) {
           file.remove(false);
         }
       }
     },
@@ -124,19 +124,19 @@ function* addTabWithToolbarRunTests(win)
         args: {
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           Assert.equal(imgSize.width, content.innerWidth, "Image width matches window size");
           Assert.equal(imgSize.height, content.innerHeight, "Image height matches window size");
         });
       })
     },
     {
       setup: "screenshot --fullpage --clipboard",
       check: {
@@ -144,19 +144,19 @@ function* addTabWithToolbarRunTests(win)
           fullpage: { value: true },
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           Assert.equal(imgSize.width,
             content.innerWidth + content.scrollMaxX - content.scrollMinX,
             "Image width matches page size");
           Assert.equal(imgSize.height,
             content.innerHeight + content.scrollMaxY - content.scrollMinY,
             "Image height matches page size");
         });
       })
@@ -167,39 +167,39 @@ function* addTabWithToolbarRunTests(win)
         args: {
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           let img = content.document.querySelector("img#testImage");
           Assert.equal(imgSize.width, img.clientWidth,
              "Image width matches element size");
           Assert.equal(imgSize.height, img.clientHeight,
              "Image height matches element size");
         });
       })
     },
   ]);
 
   // Trigger scrollbars by forcing document to overflow
   // This only affects results on OSes with scrollbars that reduce document size
   // (non-floating scrollbars).  With default OS settings, this means Windows
   // and Linux are affected, but Mac is not.  For Mac to exhibit this behavior,
   // change System Preferences -> General -> Show scroll bars to Always.
-  yield ContentTask.spawn(browser, {}, function*() {
+  yield ContentTask.spawn(browser, {}, function* () {
     content.document.body.classList.add("overflow");
   });
 
-  let scrollbarSize = yield ContentTask.spawn(browser, {}, function*() {
+  let scrollbarSize = yield ContentTask.spawn(browser, {}, function* () {
     const winUtils = content.QueryInterface(Ci.nsIInterfaceRequestor)
                             .getInterface(Ci.nsIDOMWindowUtils);
     let scrollbarHeight = {};
     let scrollbarWidth = {};
     winUtils.getScrollbarSize(true, scrollbarWidth, scrollbarHeight);
     return {
       width: scrollbarWidth.value,
       height: scrollbarHeight.value,
@@ -216,21 +216,21 @@ function* addTabWithToolbarRunTests(win)
         args: {
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
         imgSize.scrollbarWidth = scrollbarSize.width;
         imgSize.scrollbarHeight = scrollbarSize.height;
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           Assert.equal(imgSize.width, content.innerWidth - imgSize.scrollbarWidth,
              "Image width matches window size minus scrollbar size");
           Assert.equal(imgSize.height, content.innerHeight - imgSize.scrollbarHeight,
              "Image height matches window size minus scrollbar size");
         });
       })
     },
     {
@@ -240,21 +240,21 @@ function* addTabWithToolbarRunTests(win)
           fullpage: { value: true },
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
         imgSize.scrollbarWidth = scrollbarSize.width;
         imgSize.scrollbarHeight = scrollbarSize.height;
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           Assert.equal(imgSize.width,
             (content.innerWidth + content.scrollMaxX - content.scrollMinX) - imgSize.scrollbarWidth,
             "Image width matches page size minus scrollbar size");
           Assert.equal(imgSize.height,
             (content.innerHeight + content.scrollMaxY - content.scrollMinY) - imgSize.scrollbarHeight,
             "Image height matches page size minus scrollbar size");
         });
       })
@@ -265,19 +265,19 @@ function* addTabWithToolbarRunTests(win)
         args: {
           clipboard: { value: true },
           chrome: { value: false },
         },
       },
       exec: {
         output: new RegExp("^Copied to clipboard.$"),
       },
-      post: Task.async(function*() {
+      post: Task.async(function* () {
         let imgSize = yield getImageSizeFromClipboard();
-        yield ContentTask.spawn(browser, imgSize, function*(imgSize) {
+        yield ContentTask.spawn(browser, imgSize, function* (imgSize) {
           let img = content.document.querySelector("img#testImage");
           Assert.equal(imgSize.width, img.clientWidth,
              "Image width matches element size");
           Assert.equal(imgSize.height, img.clientHeight,
              "Image height matches element size");
         });
       })
     },
@@ -297,17 +297,17 @@ function addWindow(windowOptions) {
       // (TEST_URI) provided in addTabWithToolbarRunTests hasn't loaded
       executeSoon(() => {
         resolve(win);
       });
     });
   });
 }
 
-let getImageSizeFromClipboard = Task.async(function*() {
+let getImageSizeFromClipboard = Task.async(function* () {
   let clipid = Ci.nsIClipboard;
   let clip = Cc["@mozilla.org/widget/clipboard;1"].getService(clipid);
   let trans = Cc["@mozilla.org/widget/transferable;1"]
                 .createInstance(Ci.nsITransferable);
   let flavor = "image/png";
   trans.init(null);
   trans.addDataFlavor(flavor);
 
--- a/devtools/client/commandline/test/browser_gcli_async.js
+++ b/devtools/client/commandline/test/browser_gcli_async.js
@@ -9,102 +9,102 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_async.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsslo',
+      setup:    "tsslo",
       check: {
-        input:  'tsslo',
-        hints:       'w',
-        markup: 'IIIII',
+        input:  "tsslo",
+        hints:       "w",
+        markup: "IIIII",
         cursor: 5,
-        current: '__command',
-        status: 'ERROR',
-        predictions: ['tsslow'],
+        current: "__command",
+        status: "ERROR",
+        predictions: ["tsslow"],
         unassigned: [ ]
       }
     },
     {
-      setup:    'tsslo<TAB>',
+      setup:    "tsslo<TAB>",
       check: {
-        input:  'tsslow ',
-        hints:         'Shalom',
-        markup: 'VVVVVVV',
+        input:  "tsslow ",
+        hints:         "Shalom",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'hello',
-        status: 'ERROR',
+        current: "hello",
+        status: "ERROR",
         predictions: [
-          'Shalom', 'Namasté', 'Hallo', 'Dydd-da', 'Chào', 'Hej',
-          'Saluton', 'Sawubona'
+          "Shalom", "Namasté", "Hallo", "Dydd-da", "Chào", "Hej",
+          "Saluton", "Sawubona"
         ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsslow' },
+          command: { name: "tsslow" },
           hello: {
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           },
         }
       }
     },
     {
-      setup:    'tsslow S',
+      setup:    "tsslow S",
       check: {
-        input:  'tsslow S',
-        hints:          'halom',
-        markup: 'VVVVVVVI',
+        input:  "tsslow S",
+        hints:          "halom",
+        markup: "VVVVVVVI",
         cursor: 8,
-        current: 'hello',
-        status: 'ERROR',
-        predictions: [ 'Shalom', 'Saluton', 'Sawubona', 'Namasté' ],
+        current: "hello",
+        status: "ERROR",
+        predictions: [ "Shalom", "Saluton", "Sawubona", "Namasté" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsslow' },
+          command: { name: "tsslow" },
           hello: {
-            arg: ' S',
-            status: 'INCOMPLETE'
+            arg: " S",
+            status: "INCOMPLETE"
           },
         }
       }
     },
     {
-      setup:    'tsslow S<TAB>',
+      setup:    "tsslow S<TAB>",
       check: {
-        input:  'tsslow Shalom ',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "tsslow Shalom ",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'hello',
-        status: 'VALID',
-        predictions: [ 'Shalom' ],
+        current: "hello",
+        status: "VALID",
+        predictions: [ "Shalom" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsslow' },
+          command: { name: "tsslow" },
           hello: {
-            arg: ' Shalom ',
-            status: 'VALID',
-            message: ''
+            arg: " Shalom ",
+            status: "VALID",
+            message: ""
           },
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_canon.js
+++ b/devtools/client/commandline/test/browser_gcli_canon.js
@@ -9,278 +9,278 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_canon.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
-var Commands = require('gcli/commands/commands').Commands;
+var Commands = require("gcli/commands/commands").Commands;
 
 var startCount;
 var events;
 
-var commandsChange = function(ev) {
+var commandsChange = function (ev) {
   events++;
 };
 
-exports.setup = function(options) {
+exports.setup = function (options) {
   startCount = options.requisition.system.commands.getAll().length;
   events = 0;
 };
 
-exports.shutdown = function(options) {
+exports.shutdown = function (options) {
   startCount = undefined;
   events = undefined;
 };
 
-exports.testAddRemove1 = function(options) {
+exports.testAddRemove1 = function (options) {
   var commands = options.requisition.system.commands;
 
   return helpers.audit(options, [
     {
-      name: 'testadd add',
-      setup: function() {
+      name: "testadd add",
+      setup: function () {
         commands.onCommandsChange.add(commandsChange);
 
         commands.add({
-          name: 'testadd',
-          exec: function() {
+          name: "testadd",
+          exec: function () {
             return 1;
           }
         });
 
         assert.is(commands.getAll().length,
                   startCount + 1,
-                  'add command success');
-        assert.is(events, 1, 'add event');
+                  "add command success");
+        assert.is(events, 1, "add event");
 
-        return helpers.setInput(options, 'testadd');
+        return helpers.setInput(options, "testadd");
       },
       check: {
-        input:  'testadd',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "testadd",
+        hints:         "",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: { }
       },
       exec: {
         output: /^1$/
       }
     },
     {
-      name: 'testadd alter',
-      setup: function() {
+      name: "testadd alter",
+      setup: function () {
         commands.add({
-          name: 'testadd',
-          exec: function() {
+          name: "testadd",
+          exec: function () {
             return 2;
           }
         });
 
         assert.is(commands.getAll().length,
                   startCount + 1,
-                  'read command success');
-        assert.is(events, 2, 'read event');
+                  "read command success");
+        assert.is(events, 2, "read event");
 
-        return helpers.setInput(options, 'testadd');
+        return helpers.setInput(options, "testadd");
       },
       check: {
-        input:  'testadd',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "testadd",
+        hints:         "",
+        markup: "VVVVVVV",
       },
       exec: {
-        output: '2'
+        output: "2"
       }
     },
     {
-      name: 'testadd remove',
-      setup: function() {
-        commands.remove('testadd');
+      name: "testadd remove",
+      setup: function () {
+        commands.remove("testadd");
 
         assert.is(commands.getAll().length,
                   startCount,
-                  'remove command success');
-        assert.is(events, 3, 'remove event');
+                  "remove command success");
+        assert.is(events, 3, "remove event");
 
-        return helpers.setInput(options, 'testadd');
+        return helpers.setInput(options, "testadd");
       },
       check: {
-        typed: 'testadd',
+        typed: "testadd",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         unassigned: [ ],
       }
     }
   ]);
 };
 
-exports.testAddRemove2 = function(options) {
+exports.testAddRemove2 = function (options) {
   var commands = options.requisition.system.commands;
 
   commands.add({
-    name: 'testadd',
-    exec: function() {
+    name: "testadd",
+    exec: function () {
       return 3;
     }
   });
 
   assert.is(commands.getAll().length,
             startCount + 1,
-            'rereadd command success');
-  assert.is(events, 4, 'rereadd event');
+            "rereadd command success");
+  assert.is(events, 4, "rereadd event");
 
   return helpers.audit(options, [
     {
-      setup: 'testadd',
+      setup: "testadd",
       exec: {
         output: /^3$/
       },
-      post: function() {
+      post: function () {
         commands.remove({
-          name: 'testadd'
+          name: "testadd"
         });
 
         assert.is(commands.getAll().length,
                   startCount,
-                  'reremove command success');
-        assert.is(events, 5, 'reremove event');
+                  "reremove command success");
+        assert.is(events, 5, "reremove event");
       }
     },
     {
-      setup: 'testadd',
+      setup: "testadd",
       check: {
-        typed: 'testadd',
-        status: 'ERROR'
+        typed: "testadd",
+        status: "ERROR"
       }
     }
   ]);
 };
 
-exports.testAddRemove3 = function(options) {
+exports.testAddRemove3 = function (options) {
   var commands = options.requisition.system.commands;
 
-  commands.remove({ name: 'nonexistant' });
+  commands.remove({ name: "nonexistant" });
   assert.is(commands.getAll().length,
             startCount,
-            'nonexistant1 command success');
-  assert.is(events, 5, 'nonexistant1 event');
+            "nonexistant1 command success");
+  assert.is(events, 5, "nonexistant1 event");
 
-  commands.remove('nonexistant');
+  commands.remove("nonexistant");
   assert.is(commands.getAll().length,
             startCount,
-            'nonexistant2 command success');
-  assert.is(events, 5, 'nonexistant2 event');
+            "nonexistant2 command success");
+  assert.is(events, 5, "nonexistant2 event");
 
   commands.onCommandsChange.remove(commandsChange);
 };
 
-exports.testAltCommands = function(options) {
+exports.testAltCommands = function (options) {
   var commands = options.requisition.system.commands;
   var altCommands = new Commands(options.requisition.system.types);
 
   var tss = {
-    name: 'tss',
+    name: "tss",
     params: [
-      { name: 'str', type: 'string' },
-      { name: 'num', type: 'number' },
-      { name: 'opt', type: { name: 'selection', data: [ '1', '2', '3' ] } },
+      { name: "str", type: "string" },
+      { name: "num", type: "number" },
+      { name: "opt", type: { name: "selection", data: [ "1", "2", "3" ] } },
     ],
-    customProp1: 'localValue',
+    customProp1: "localValue",
     customProp2: true,
     customProp3: 42,
-    exec: function(args, context) {
-      return context.commandName + ':' +
-              args.str + ':' + args.num + ':' + args.opt;
+    exec: function (args, context) {
+      return context.commandName + ":" +
+              args.str + ":" + args.num + ":" + args.opt;
     }
   };
   altCommands.add(tss);
 
   var commandSpecs = altCommands.getCommandSpecs();
   assert.is(JSON.stringify(commandSpecs),
             '[{"item":"command","name":"tss","params":[' +
               '{"name":"str","type":"string"},' +
               '{"name":"num","type":"number"},' +
               '{"name":"opt","type":{"name":"selection","data":["1","2","3"]}}' +
             '],"isParent":false}]',
-            'JSON.stringify(commandSpecs)');
+            "JSON.stringify(commandSpecs)");
 
-  var customProps = [ 'customProp1', 'customProp2', 'customProp3', ];
+  var customProps = [ "customProp1", "customProp2", "customProp3", ];
   var commandSpecs2 = altCommands.getCommandSpecs(customProps);
   assert.is(JSON.stringify(commandSpecs2),
-            '[{' +
+            "[{" +
               '"item":"command",' +
               '"name":"tss",' +
               '"params":[' +
                 '{"name":"str","type":"string"},' +
                 '{"name":"num","type":"number"},' +
                 '{"name":"opt","type":{"name":"selection","data":["1","2","3"]}}' +
-              '],' +
+              "]," +
               '"isParent":false,' +
               '"customProp1":"localValue",' +
               '"customProp2":true,' +
               '"customProp3":42' +
-            '}]',
-            'JSON.stringify(commandSpecs)');
+            "}]",
+            "JSON.stringify(commandSpecs)");
 
-  var remoter = function(args, context) {
-    assert.is(context.commandName, 'tss', 'commandName is tss');
+  var remoter = function (args, context) {
+    assert.is(context.commandName, "tss", "commandName is tss");
 
     var cmd = altCommands.get(context.commandName);
     return cmd.exec(args, context);
   };
 
-  commands.addProxyCommands(commandSpecs, remoter, 'proxy', 'test');
+  commands.addProxyCommands(commandSpecs, remoter, "proxy", "test");
 
-  var parent = commands.get('proxy');
-  assert.is(parent.name, 'proxy', 'Parent command called proxy');
+  var parent = commands.get("proxy");
+  assert.is(parent.name, "proxy", "Parent command called proxy");
 
-  var child = commands.get('proxy tss');
-  assert.is(child.name, 'proxy tss', 'child command called proxy tss');
+  var child = commands.get("proxy tss");
+  assert.is(child.name, "proxy tss", "child command called proxy tss");
 
   return helpers.audit(options, [
     {
-      setup:    'proxy tss foo 6 3',
+      setup:    "proxy tss foo 6 3",
       check: {
-        input:  'proxy tss foo 6 3',
-        hints:                    '',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        input:  "proxy tss foo 6 3",
+        hints:                    "",
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        status: 'VALID',
+        status: "VALID",
         args: {
-          str: { value: 'foo', status: 'VALID' },
-          num: { value: 6, status: 'VALID' },
-          opt: { value: '3', status: 'VALID' }
+          str: { value: "foo", status: "VALID" },
+          num: { value: 6, status: "VALID" },
+          opt: { value: "3", status: "VALID" }
         }
       },
       exec: {
-        output: 'tss:foo:6:3'
+        output: "tss:foo:6:3"
       },
-      post: function() {
-        commands.remove('proxy');
-        commands.remove('proxy tss');
+      post: function () {
+        commands.remove("proxy");
+        commands.remove("proxy tss");
 
-        assert.is(commands.get('proxy'), undefined, 'remove proxy');
-        assert.is(commands.get('proxy tss'), undefined, 'remove proxy tss');
+        assert.is(commands.get("proxy"), undefined, "remove proxy");
+        assert.is(commands.get("proxy tss"), undefined, "remove proxy tss");
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_cli1.js
+++ b/devtools/client/commandline/test/browser_gcli_cli1.js
@@ -9,520 +9,520 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_cli1.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testBlank = function(options) {
+exports.testBlank = function (options) {
   return helpers.audit(options, [
     {
-      setup:    '',
+      setup:    "",
       check: {
-        input:  '',
-        hints:  '',
-        markup: '',
+        input:  "",
+        hints:  "",
+        markup: "",
         cursor: 0,
-        current: '__command',
-        status: 'ERROR'
+        current: "__command",
+        status: "ERROR"
       },
-      post: function() {
+      post: function () {
         assert.is(options.requisition.commandAssignment.value, undefined);
       }
     },
     {
-      setup:    ' ',
+      setup:    " ",
       check: {
-        input:  ' ',
-        hints:   '',
-        markup: 'V',
+        input:  " ",
+        hints:   "",
+        markup: "V",
         cursor: 1,
-        current: '__command',
-        status: 'ERROR'
+        current: "__command",
+        status: "ERROR"
       },
-      post: function() {
+      post: function () {
         assert.is(options.requisition.commandAssignment.value, undefined);
       }
     },
     {
-      name: '| ',
-      setup: function() {
-        return helpers.setInput(options, ' ', 0);
+      name: "| ",
+      setup: function () {
+        return helpers.setInput(options, " ", 0);
       },
       check: {
-        input:  ' ',
-        hints:   '',
-        markup: 'V',
+        input:  " ",
+        hints:   "",
+        markup: "V",
         cursor: 0,
-        current: '__command',
-        status: 'ERROR'
+        current: "__command",
+        status: "ERROR"
       },
-      post: function() {
+      post: function () {
         assert.is(options.requisition.commandAssignment.value, undefined);
       }
     }
   ]);
 };
 
-exports.testDelete = function(options) {
+exports.testDelete = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'x<BACKSPACE>',
+      setup:    "x<BACKSPACE>",
       check: {
-        input:  '',
-        hints:  '',
-        markup: '',
+        input:  "",
+        hints:  "",
+        markup: "",
         cursor: 0,
-        current: '__command',
-        status: 'ERROR'
+        current: "__command",
+        status: "ERROR"
       },
-      post: function() {
+      post: function () {
         assert.is(options.requisition.commandAssignment.value, undefined);
       }
     }
   ]);
 };
 
-exports.testIncompleteMultiMatch = function(options) {
+exports.testIncompleteMultiMatch = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsn ex',
+      setup:    "tsn ex",
       check: {
-        input:  'tsn ex',
-        hints:        't',
-        markup: 'IIIVII',
+        input:  "tsn ex",
+        hints:        "t",
+        markup: "IIIVII",
         cursor: 6,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictionsContains: [
-          'tsn ext', 'tsn exte', 'tsn exten', 'tsn extend'
+          "tsn ext", "tsn exte", "tsn exten", "tsn extend"
         ]
       }
     }
   ]);
 };
 
-exports.testIncompleteSingleMatch = function(options) {
+exports.testIncompleteSingleMatch = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tselar',
+      setup:    "tselar",
       check: {
-        input:  'tselar',
-        hints:        'r',
-        markup: 'IIIIII',
+        input:  "tselar",
+        hints:        "r",
+        markup: "IIIIII",
         cursor: 6,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tselarr' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tselarr" ],
         unassigned: [ ]
       }
     }
   ]);
 };
 
-exports.testTsv = function(options) {
+exports.testTsv = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsv',
+      setup:    "tsv",
       check: {
-        input:  'tsv',
-        hints:     ' <optionType> <optionValue>',
-        markup: 'VVV',
+        input:  "tsv",
+        hints:     " <optionType> <optionValue>",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
-          optionType: { arg: '', status: 'INCOMPLETE' },
-          optionValue: { arg: '', status: 'INCOMPLETE' }
+          command: { name: "tsv" },
+          optionType: { arg: "", status: "INCOMPLETE" },
+          optionValue: { arg: "", status: "INCOMPLETE" }
         }
       }
     },
     {
-      setup:    'tsv ',
+      setup:    "tsv ",
       check: {
-        input:  'tsv ',
-        hints:      'option1 <optionValue>',
-        markup: 'VVVV',
+        input:  "tsv ",
+        hints:      "option1 <optionValue>",
+        markup: "VVVV",
         cursor: 4,
-        current: 'optionType',
-        status: 'ERROR',
-        predictions: [ 'option1', 'option2', 'option3' ],
+        current: "optionType",
+        status: "ERROR",
+        predictions: [ "option1", "option2", "option3" ],
         unassigned: [ ],
-        tooltipState: 'true:importantFieldFlag',
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tsv' },
-          optionType: { arg: '', status: 'INCOMPLETE' },
-          optionValue: { arg: '', status: 'INCOMPLETE' }
+          command: { name: "tsv" },
+          optionType: { arg: "", status: "INCOMPLETE" },
+          optionValue: { arg: "", status: "INCOMPLETE" }
         }
       }
     },
     {
-      name: 'ts|v',
-      setup: function() {
-        return helpers.setInput(options, 'tsv ', 2);
+      name: "ts|v",
+      setup: function () {
+        return helpers.setInput(options, "tsv ", 2);
       },
       check: {
-        input:  'tsv ',
-        hints:      '<optionType> <optionValue>',
-        markup: 'VVVV',
+        input:  "tsv ",
+        hints:      "<optionType> <optionValue>",
+        markup: "VVVV",
         cursor: 2,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
-          optionType: { arg: '', status: 'INCOMPLETE' },
-          optionValue: { arg: '', status: 'INCOMPLETE' }
+          command: { name: "tsv" },
+          optionType: { arg: "", status: "INCOMPLETE" },
+          optionValue: { arg: "", status: "INCOMPLETE" }
         }
       }
     },
     {
-      setup:    'tsv o',
+      setup:    "tsv o",
       check: {
-        input:  'tsv o',
-        hints:       'ption1 <optionValue>',
-        markup: 'VVVVI',
+        input:  "tsv o",
+        hints:       "ption1 <optionValue>",
+        markup: "VVVVI",
         cursor: 5,
-        current: 'optionType',
-        status: 'ERROR',
-        predictions: [ 'option1', 'option2', 'option3' ],
+        current: "optionType",
+        status: "ERROR",
+        predictions: [ "option1", "option2", "option3" ],
         unassigned: [ ],
-        tooltipState: 'true:importantFieldFlag',
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
             value: undefined,
-            arg: ' o',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionType\u2019.'
+            arg: " o",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionType\u2019."
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsv option',
+      setup:    "tsv option",
       check: {
-        input:  'tsv option',
-        hints:            '1 <optionValue>',
-        markup: 'VVVVIIIIII',
+        input:  "tsv option",
+        hints:            "1 <optionValue>",
+        markup: "VVVVIIIIII",
         cursor: 10,
-        current: 'optionType',
-        status: 'ERROR',
-        predictions: [ 'option1', 'option2', 'option3' ],
+        current: "optionType",
+        status: "ERROR",
+        predictions: [ "option1", "option2", "option3" ],
         unassigned: [ ],
-        tooltipState: 'true:importantFieldFlag',
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
             value: undefined,
-            arg: ' option',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionType\u2019.'
+            arg: " option",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionType\u2019."
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      name: '|tsv option',
-      setup: function() {
-        return helpers.setInput(options, 'tsv option', 0);
+      name: "|tsv option",
+      setup: function () {
+        return helpers.setInput(options, "tsv option", 0);
       },
       check: {
-        input:  'tsv option',
-        hints:            ' <optionValue>',
-        markup: 'VVVVEEEEEE',
+        input:  "tsv option",
+        hints:            " <optionValue>",
+        markup: "VVVVEEEEEE",
         cursor: 0,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
             value: undefined,
-            arg: ' option',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionType\u2019.'
+            arg: " option",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionType\u2019."
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsv option ',
+      setup:    "tsv option ",
       check: {
-        input:  'tsv option ',
-        hints:             '<optionValue>',
-        markup: 'VVVVEEEEEEV',
+        input:  "tsv option ",
+        hints:             "<optionValue>",
+        markup: "VVVVEEEEEEV",
         cursor: 11,
-        current: 'optionValue',
-        status: 'ERROR',
+        current: "optionValue",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'false:default',
+        tooltipState: "false:default",
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
             value: undefined,
-            arg: ' option ',
-            status: 'ERROR',
-            message: 'Can\u2019t use \u2018option\u2019.'
+            arg: " option ",
+            status: "ERROR",
+            message: "Can\u2019t use \u2018option\u2019."
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsv option1',
+      setup:    "tsv option1",
       check: {
-        input:  'tsv option1',
-        hints:             ' <optionValue>',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsv option1",
+        hints:             " <optionValue>",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'optionType',
-        status: 'ERROR',
-        predictions: [ 'option1' ],
+        current: "optionType",
+        status: "ERROR",
+        predictions: [ "option1" ],
         unassigned: [ ],
-        tooltipState: 'true:importantFieldFlag',
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'string',
-            arg: ' option1',
-            status: 'VALID',
-            message: ''
+            value: "string",
+            arg: " option1",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsv option1 ',
+      setup:    "tsv option1 ",
       check: {
-        input:  'tsv option1 ',
-        hints:              '<optionValue>',
-        markup: 'VVVVVVVVVVVV',
+        input:  "tsv option1 ",
+        hints:              "<optionValue>",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'optionValue',
-        status: 'ERROR',
+        current: "optionValue",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'string',
-            arg: ' option1 ',
-            status: 'VALID',
-            message: ''
+            value: "string",
+            arg: " option1 ",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsv option2',
+      setup:    "tsv option2",
       check: {
-        input:  'tsv option2',
-        hints:             ' <optionValue>',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsv option2",
+        hints:             " <optionValue>",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'optionType',
-        status: 'ERROR',
-        predictions: [ 'option2' ],
+        current: "optionType",
+        status: "ERROR",
+        predictions: [ "option2" ],
         unassigned: [ ],
-        tooltipState: 'true:importantFieldFlag',
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'number',
-            arg: ' option2',
-            status: 'VALID',
-            message: ''
+            value: "number",
+            arg: " option2",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018optionValue\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018optionValue\u2019."
           }
         }
       }
     }
   ]);
 };
 
-exports.testTsvValues = function(options) {
+exports.testTsvValues = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsv option1 6',
+      setup:    "tsv option1 6",
       check: {
-        input:  'tsv option1 6',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tsv option1 6",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'optionValue',
-        status: 'VALID',
+        current: "optionValue",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'string',
-            arg: ' option1',
-            status: 'VALID',
-            message: ''
+            value: "string",
+            arg: " option1",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
-            arg: ' 6',
-            status: 'VALID',
-            message: ''
+            arg: " 6",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsv option2 6',
+      setup:    "tsv option2 6",
       check: {
-        input:  'tsv option2 6',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tsv option2 6",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'optionValue',
-        status: 'VALID',
+        current: "optionValue",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'number',
-            arg: ' option2',
-            status: 'VALID',
-            message: ''
+            value: "number",
+            arg: " option2",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
-            arg: ' 6',
-            status: 'VALID',
-            message: ''
+            arg: " 6",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     // Delegated remote types can't transfer value types so we only test for
     // the value of 'value' when we're local
     {
       skipIf: options.isRemote,
-      setup: 'tsv option1 6',
+      setup: "tsv option1 6",
       check: {
         args: {
-          optionValue: { value: '6' }
+          optionValue: { value: "6" }
         }
       }
     },
     {
       skipIf: options.isRemote,
-      setup: 'tsv option2 6',
+      setup: "tsv option2 6",
       check: {
         args: {
           optionValue: { value: 6 }
         }
       }
     }
   ]);
 };
 
-exports.testInvalid = function(options) {
+exports.testInvalid = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'zxjq',
+      setup:    "zxjq",
       check: {
-        input:  'zxjq',
-        hints:      '',
-        markup: 'EEEE',
+        input:  "zxjq",
+        hints:      "",
+        markup: "EEEE",
         cursor: 4,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError'
+        tooltipState: "true:isError"
       }
     },
     {
-      setup:    'zxjq ',
+      setup:    "zxjq ",
       check: {
-        input:  'zxjq ',
-        hints:       '',
-        markup: 'EEEEV',
+        input:  "zxjq ",
+        hints:       "",
+        markup: "EEEEV",
         cursor: 5,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError'
+        tooltipState: "true:isError"
       }
     },
     {
-      setup:    'zxjq one',
+      setup:    "zxjq one",
       check: {
-        input:  'zxjq one',
-        hints:          '',
-        markup: 'EEEEVEEE',
+        input:  "zxjq one",
+        hints:          "",
+        markup: "EEEEVEEE",
         cursor: 8,
-        current: '__unassigned',
-        status: 'ERROR',
+        current: "__unassigned",
+        status: "ERROR",
         predictions: [ ],
-        unassigned: [ ' one' ],
-        tooltipState: 'true:isError'
+        unassigned: [ " one" ],
+        tooltipState: "true:isError"
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_cli2.js
+++ b/devtools/client/commandline/test/browser_gcli_cli2.js
@@ -9,780 +9,780 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_cli2.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testSingleString = function(options) {
+exports.testSingleString = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsr',
+      setup:    "tsr",
       check: {
-        input:  'tsr',
-        hints:     ' <text>',
-        markup: 'VVV',
+        input:  "tsr",
+        hints:     " <text>",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsr ',
+      setup:    "tsr ",
       check: {
-        input:  'tsr ',
-        hints:      '<text>',
-        markup: 'VVVV',
+        input:  "tsr ",
+        hints:      "<text>",
+        markup: "VVVV",
         cursor: 4,
-        current: 'text',
-        status: 'ERROR',
+        current: "text",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsr h',
+      setup:    "tsr h",
       check: {
-        input:  'tsr h',
-        hints:       '',
-        markup: 'VVVVV',
+        input:  "tsr h",
+        hints:       "",
+        markup: "VVVVV",
         cursor: 5,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'h',
-            arg: ' h',
-            status: 'VALID',
-            message: ''
+            value: "h",
+            arg: " h",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       setup:    'tsr "h h"',
       check: {
         input:  'tsr "h h"',
-        hints:           '',
-        markup: 'VVVVVVVVV',
+        hints:           "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'h h',
+            value: "h h",
             arg: ' "h h"',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsr h h h',
+      setup:    "tsr h h h",
       check: {
-        input:  'tsr h h h',
-        hints:           '',
-        markup: 'VVVVVVVVV',
+        input:  "tsr h h h",
+        hints:           "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'h h h',
-            arg: ' h h h',
-            status: 'VALID',
-            message: ''
+            value: "h h h",
+            arg: " h h h",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testSingleNumber = function(options) {
+exports.testSingleNumber = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsu',
+      setup:    "tsu",
       check: {
-        input:  'tsu',
-        hints:     ' <num>',
-        markup: 'VVV',
+        input:  "tsu",
+        hints:     " <num>",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
+          command: { name: "tsu" },
           num: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018num\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018num\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsu ',
+      setup:    "tsu ",
       check: {
-        input:  'tsu ',
-        hints:      '<num>',
-        markup: 'VVVV',
+        input:  "tsu ",
+        hints:      "<num>",
+        markup: "VVVV",
         cursor: 4,
-        current: 'num',
-        status: 'ERROR',
+        current: "num",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
+          command: { name: "tsu" },
           num: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018num\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018num\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsu 1',
+      setup:    "tsu 1",
       check: {
-        input:  'tsu 1',
-        hints:       '',
-        markup: 'VVVVV',
+        input:  "tsu 1",
+        hints:       "",
+        markup: "VVVVV",
         cursor: 5,
-        current: 'num',
-        status: 'VALID',
+        current: "num",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
-          num: { value: 1, arg: ' 1', status: 'VALID', message: '' }
+          command: { name: "tsu" },
+          num: { value: 1, arg: " 1", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tsu x',
+      setup:    "tsu x",
       check: {
-        input:  'tsu x',
-        hints:       '',
-        markup: 'VVVVE',
+        input:  "tsu x",
+        hints:       "",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'num',
-        status: 'ERROR',
+        current: "num",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError',
+        tooltipState: "true:isError",
         args: {
-          command: { name: 'tsu' },
+          command: { name: "tsu" },
           num: {
             value: undefined,
-            arg: ' x',
-            status: 'ERROR',
-            message: 'Can\u2019t convert \u201cx\u201d to a number.'
+            arg: " x",
+            status: "ERROR",
+            message: "Can\u2019t convert \u201cx\u201d to a number."
           }
         }
       }
     },
     {
-      setup:    'tsu 1.5',
+      setup:    "tsu 1.5",
       check: {
-        input:  'tsu 1.5',
-        hints:       '',
-        markup: 'VVVVEEE',
+        input:  "tsu 1.5",
+        hints:       "",
+        markup: "VVVVEEE",
         cursor: 7,
-        current: 'num',
-        status: 'ERROR',
+        current: "num",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
+          command: { name: "tsu" },
           num: {
             value: undefined,
-            arg: ' 1.5',
-            status: 'ERROR',
-            message: 'Can\u2019t convert \u201c1.5\u201d to an integer.'
+            arg: " 1.5",
+            status: "ERROR",
+            message: "Can\u2019t convert \u201c1.5\u201d to an integer."
           }
         }
       }
     }
   ]);
 };
 
-exports.testSingleFloat = function(options) {
+exports.testSingleFloat = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsf',
+      setup:    "tsf",
       check: {
-        input:  'tsf',
-        hints:     ' <num>',
-        markup: 'VVV',
+        input:  "tsf",
+        hints:     " <num>",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
-        error: '',
+        current: "__command",
+        status: "ERROR",
+        error: "",
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
+          command: { name: "tsf" },
           num: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018num\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018num\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsf 1',
+      setup:    "tsf 1",
       check: {
-        input:  'tsf 1',
-        hints:       '',
-        markup: 'VVVVV',
+        input:  "tsf 1",
+        hints:       "",
+        markup: "VVVVV",
         cursor: 5,
-        current: 'num',
-        status: 'VALID',
-        error: '',
+        current: "num",
+        status: "VALID",
+        error: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
-          num: { value: 1, arg: ' 1', status: 'VALID', message: '' }
+          command: { name: "tsf" },
+          num: { value: 1, arg: " 1", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tsf 1.',
+      setup:    "tsf 1.",
       check: {
-        input:  'tsf 1.',
-        hints:        '',
-        markup: 'VVVVVV',
+        input:  "tsf 1.",
+        hints:        "",
+        markup: "VVVVVV",
         cursor: 6,
-        current: 'num',
-        status: 'VALID',
-        error: '',
+        current: "num",
+        status: "VALID",
+        error: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
-          num: { value: 1, arg: ' 1.', status: 'VALID', message: '' }
+          command: { name: "tsf" },
+          num: { value: 1, arg: " 1.", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tsf 1.5',
+      setup:    "tsf 1.5",
       check: {
-        input:  'tsf 1.5',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "tsf 1.5",
+        hints:         "",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'num',
-        status: 'VALID',
-        error: '',
+        current: "num",
+        status: "VALID",
+        error: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
-          num: { value: 1.5, arg: ' 1.5', status: 'VALID', message: '' }
+          command: { name: "tsf" },
+          num: { value: 1.5, arg: " 1.5", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tsf 1.5x',
+      setup:    "tsf 1.5x",
       check: {
-        input:  'tsf 1.5x',
-        hints:          '',
-        markup: 'VVVVVVVV',
+        input:  "tsf 1.5x",
+        hints:          "",
+        markup: "VVVVVVVV",
         cursor: 8,
-        current: 'num',
-        status: 'VALID',
-        error: '',
+        current: "num",
+        status: "VALID",
+        error: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
-          num: { value: 1.5, arg: ' 1.5x', status: 'VALID', message: '' }
+          command: { name: "tsf" },
+          num: { value: 1.5, arg: " 1.5x", status: "VALID", message: "" }
         }
       }
     },
     {
-      name: 'tsf x (cursor=4)',
-      setup: function() {
-        return helpers.setInput(options, 'tsf x', 4);
+      name: "tsf x (cursor=4)",
+      setup: function () {
+        return helpers.setInput(options, "tsf x", 4);
       },
       check: {
-        input:  'tsf x',
-        hints:       '',
-        markup: 'VVVVE',
+        input:  "tsf x",
+        hints:       "",
+        markup: "VVVVE",
         cursor: 4,
-        current: 'num',
-        status: 'ERROR',
-        error: 'Can\u2019t convert \u201cx\u201d to a number.',
+        current: "num",
+        status: "ERROR",
+        error: "Can\u2019t convert \u201cx\u201d to a number.",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsf' },
+          command: { name: "tsf" },
           num: {
             value: undefined,
-            arg: ' x',
-            status: 'ERROR',
-            message: 'Can\u2019t convert \u201cx\u201d to a number.'
+            arg: " x",
+            status: "ERROR",
+            message: "Can\u2019t convert \u201cx\u201d to a number."
           }
         }
       }
     }
   ]);
 };
 
-exports.testElementWeb = function(options) {
+exports.testElementWeb = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tse #gcli-root',
+      setup:    "tse #gcli-root",
       check: {
-        input:  'tse #gcli-root',
-        hints:                 ' [options]',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "tse #gcli-root",
+        hints:                 " [options]",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'node',
-        status: 'VALID',
+        current: "node",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
-            arg: ' #gcli-root',
-            status: 'VALID',
-            message: ''
+            arg: " #gcli-root",
+            status: "VALID",
+            message: ""
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     }
   ]);
 };
 
-exports.testElement = function(options) {
+exports.testElement = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tse',
+      setup:    "tse",
       check: {
-        input:  'tse',
-        hints:     ' <node> [options]',
-        markup: 'VVV',
+        input:  "tse",
+        hints:     " <node> [options]",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tse', 'tselarr' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tse", "tselarr" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tse' },
-          node: { arg: '', status: 'INCOMPLETE' },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          command: { name: "tse" },
+          node: { arg: "", status: "INCOMPLETE" },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     },
     {
-      setup:    'tse #gcli-nomatch',
+      setup:    "tse #gcli-nomatch",
       check: {
-        input:  'tse #gcli-nomatch',
-        hints:                   ' [options]',
-        markup: 'VVVVIIIIIIIIIIIII',
+        input:  "tse #gcli-nomatch",
+        hints:                   " [options]",
+        markup: "VVVVIIIIIIIIIIIII",
         cursor: 17,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'true:isError',
+        outputState: "false:default",
+        tooltipState: "true:isError",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' #gcli-nomatch',
+            arg: " #gcli-nomatch",
             // This is somewhat debatable because this input can't be corrected
             // simply by typing so it's and error rather than incomplete,
             // however without digging into the CSS engine we can't tell that
             // so we default to incomplete
-            status: 'INCOMPLETE',
-            message: 'No matches'
+            status: "INCOMPLETE",
+            message: "No matches"
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     },
     {
-      setup:    'tse #',
+      setup:    "tse #",
       check: {
-        input:  'tse #',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse #",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError',
+        tooltipState: "true:isError",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' #',
-            status: 'ERROR',
-            message: 'Syntax error in CSS query'
+            arg: " #",
+            status: "ERROR",
+            message: "Syntax error in CSS query"
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     },
     {
-      setup:    'tse .',
+      setup:    "tse .",
       check: {
-        input:  'tse .',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse .",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError',
+        tooltipState: "true:isError",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' .',
-            status: 'ERROR',
-            message: 'Syntax error in CSS query'
+            arg: " .",
+            status: "ERROR",
+            message: "Syntax error in CSS query"
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     },
     {
-      setup:    'tse *',
+      setup:    "tse *",
       check: {
-        input:  'tse *',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse *",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError',
+        tooltipState: "true:isError",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' *',
-            status: 'ERROR',
+            arg: " *",
+            status: "ERROR",
             message: /^Too many matches \([0-9]*\)/
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: '', status: 'VALID', message: '' },
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: "", status: "VALID", message: "" },
         }
       }
     }
   ]);
 };
 
-exports.testNestedCommand = function(options) {
+exports.testNestedCommand = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsn',
+      setup:    "tsn",
       check: {
-        input:  'tsn',
-        hints:     ' deep down nested cmd',
-        markup: 'III',
+        input:  "tsn",
+        hints:     " deep down nested cmd",
+        markup: "III",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictionsInclude: [
-          'tsn deep', 'tsn deep down', 'tsn deep down nested',
-          'tsn deep down nested cmd', 'tsn dif'
+          "tsn deep", "tsn deep down", "tsn deep down nested",
+          "tsn deep down nested cmd", "tsn dif"
         ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn' }
+          command: { name: "tsn" }
         }
       }
     },
     {
-      setup:    'tsn ',
+      setup:    "tsn ",
       check: {
-        input:  'tsn ',
-        hints:      ' deep down nested cmd',
-        markup: 'IIIV',
+        input:  "tsn ",
+        hints:      " deep down nested cmd",
+        markup: "IIIV",
         cursor: 4,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         unassigned: [ ]
       }
     },
     {
       skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
-      setup:    'tsn x',
+      setup:    "tsn x",
       check: {
-        input:  'tsn x',
-        hints:       ' -> tsn ext',
-        markup: 'IIIVI',
+        input:  "tsn x",
+        hints:       " -> tsn ext",
+        markup: "IIIVI",
         cursor: 5,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tsn ext' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tsn ext" ],
         unassigned: [ ]
       }
     },
     {
-      setup:    'tsn dif',
+      setup:    "tsn dif",
       check: {
-        input:  'tsn dif',
-        hints:         ' <text>',
-        markup: 'VVVVVVV',
+        input:  "tsn dif",
+        hints:         " <text>",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn dif' },
+          command: { name: "tsn dif" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsn dif ',
+      setup:    "tsn dif ",
       check: {
-        input:  'tsn dif ',
-        hints:          '<text>',
-        markup: 'VVVVVVVV',
+        input:  "tsn dif ",
+        hints:          "<text>",
+        markup: "VVVVVVVV",
         cursor: 8,
-        current: 'text',
-        status: 'ERROR',
+        current: "text",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn dif' },
+          command: { name: "tsn dif" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsn dif x',
+      setup:    "tsn dif x",
       check: {
-        input:  'tsn dif x',
-        hints:           '',
-        markup: 'VVVVVVVVV',
+        input:  "tsn dif x",
+        hints:           "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn dif' },
-          text: { value: 'x', arg: ' x', status: 'VALID', message: '' }
+          command: { name: "tsn dif" },
+          text: { value: "x", arg: " x", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tsn ext',
+      setup:    "tsn ext",
       check: {
-        input:  'tsn ext',
-        hints:         ' <text>',
-        markup: 'VVVVVVV',
+        input:  "tsn ext",
+        hints:         " <text>",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tsn ext', 'tsn exte', 'tsn exten', 'tsn extend' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn ext' },
+          command: { name: "tsn ext" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsn exte',
+      setup:    "tsn exte",
       check: {
-        input:  'tsn exte',
-        hints:          ' <text>',
-        markup: 'VVVVVVVV',
+        input:  "tsn exte",
+        hints:          " <text>",
+        markup: "VVVVVVVV",
         cursor: 8,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tsn exte', 'tsn exten', 'tsn extend' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tsn exte", "tsn exten", "tsn extend" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn exte' },
+          command: { name: "tsn exte" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsn exten',
+      setup:    "tsn exten",
       check: {
-        input:  'tsn exten',
-        hints:           ' <text>',
-        markup: 'VVVVVVVVV',
+        input:  "tsn exten",
+        hints:           " <text>",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tsn exten', 'tsn extend' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tsn exten", "tsn extend" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn exten' },
+          command: { name: "tsn exten" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'tsn extend',
+      setup:    "tsn extend",
       check: {
-        input:  'tsn extend',
-        hints:            ' <text>',
-        markup: 'VVVVVVVVVV',
+        input:  "tsn extend",
+        hints:            " <text>",
+        markup: "VVVVVVVVVV",
         cursor: 10,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn extend' },
+          command: { name: "tsn extend" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \u2018text\u2019.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for \u2018text\u2019."
           }
         }
       }
     },
     {
-      setup:    'ts ',
+      setup:    "ts ",
       check: {
-        input:  'ts ',
-        hints:     '',
-        markup: 'EEV',
+        input:  "ts ",
+        hints:     "",
+        markup: "EEV",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
-        tooltipState: 'true:isError'
+        tooltipState: "true:isError"
       }
     },
   ]);
 };
 
 // From Bug 664203
-exports.testDeeplyNested = function(options) {
+exports.testDeeplyNested = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsn deep down nested',
+      setup:    "tsn deep down nested",
       check: {
-        input:  'tsn deep down nested',
-        hints:                      ' cmd',
-        markup: 'IIIVIIIIVIIIIVIIIIII',
+        input:  "tsn deep down nested",
+        hints:                      " cmd",
+        markup: "IIIVIIIIVIIIIVIIIIII",
         cursor: 20,
-        current: '__command',
-        status: 'ERROR',
-        predictions: [ 'tsn deep down nested cmd' ],
+        current: "__command",
+        status: "ERROR",
+        predictions: [ "tsn deep down nested cmd" ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'false:default',
+        outputState: "false:default",
+        tooltipState: "false:default",
         args: {
-          command: { name: 'tsn deep down nested' },
+          command: { name: "tsn deep down nested" },
         }
       }
     },
     {
-      setup:    'tsn deep down nested cmd',
+      setup:    "tsn deep down nested cmd",
       check: {
-        input:  'tsn deep down nested cmd',
-        hints:                          '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsn deep down nested cmd",
+        hints:                          "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 24,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn deep down nested cmd' },
+          command: { name: "tsn deep down nested cmd" },
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_completion1.js
+++ b/devtools/client/commandline/test/browser_gcli_completion1.js
@@ -9,269 +9,269 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_completion1.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testActivate = function(options) {
+exports.testActivate = function (options) {
   return helpers.audit(options, [
     {
-      setup: '',
+      setup: "",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      setup: ' ',
+      setup: " ",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      setup: 'tsr',
+      setup: "tsr",
       check: {
-        hints: ' <text>'
+        hints: " <text>"
       }
     },
     {
-      setup: 'tsr ',
+      setup: "tsr ",
       check: {
-        hints: '<text>'
+        hints: "<text>"
       }
     },
     {
-      setup: 'tsr b',
+      setup: "tsr b",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      setup: 'tsb',
+      setup: "tsb",
       check: {
-        hints: ' [toggle]'
+        hints: " [toggle]"
       }
     },
     {
-      setup: 'tsm',
+      setup: "tsm",
       check: {
-        hints: ' <abc> <txt> <num>'
+        hints: " <abc> <txt> <num>"
       }
     },
     {
-      setup: 'tsm ',
+      setup: "tsm ",
       check: {
-        hints: 'a <txt> <num>'
+        hints: "a <txt> <num>"
       }
     },
     {
-      setup: 'tsm a',
+      setup: "tsm a",
       check: {
-        hints: ' <txt> <num>'
+        hints: " <txt> <num>"
       }
     },
     {
-      setup: 'tsm a ',
+      setup: "tsm a ",
       check: {
-        hints: '<txt> <num>'
+        hints: "<txt> <num>"
       }
     },
     {
-      setup: 'tsm a  ',
+      setup: "tsm a  ",
       check: {
-        hints: '<txt> <num>'
+        hints: "<txt> <num>"
       }
     },
     {
-      setup: 'tsm a  d',
+      setup: "tsm a  d",
       check: {
-        hints: ' <num>'
+        hints: " <num>"
       }
     },
     {
       setup: 'tsm a "d d"',
       check: {
-        hints: ' <num>'
+        hints: " <num>"
       }
     },
     {
       setup: 'tsm a "d ',
       check: {
-        hints: ' <num>'
+        hints: " <num>"
       }
     },
     {
       setup: 'tsm a "d d" ',
       check: {
-        hints: '<num>'
+        hints: "<num>"
       }
     },
     {
       setup: 'tsm a "d d ',
       check: {
-        hints: ' <num>'
+        hints: " <num>"
       }
     },
     {
-      setup: 'tsm d r',
+      setup: "tsm d r",
       check: {
-        hints: ' <num>'
+        hints: " <num>"
       }
     },
     {
-      setup: 'tsm a d ',
+      setup: "tsm a d ",
       check: {
-        hints: '<num>'
+        hints: "<num>"
       }
     },
     {
-      setup: 'tsm a d 4',
+      setup: "tsm a d 4",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      setup: 'tsg',
+      setup: "tsg",
       check: {
-        hints: ' <solo> [options]'
+        hints: " <solo> [options]"
       }
     },
     {
-      setup: 'tsg ',
+      setup: "tsg ",
       check: {
-        hints: 'aaa [options]'
+        hints: "aaa [options]"
       }
     },
     {
-      setup: 'tsg a',
+      setup: "tsg a",
       check: {
-        hints: 'aa [options]'
+        hints: "aa [options]"
       }
     },
     {
-      setup: 'tsg b',
+      setup: "tsg b",
       check: {
-        hints: 'bb [options]'
+        hints: "bb [options]"
       }
     },
     {
       skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
-      setup: 'tsg d',
+      setup: "tsg d",
       check: {
-        hints: ' [options] -> ccc'
+        hints: " [options] -> ccc"
       }
     },
     {
-      setup: 'tsg aa',
+      setup: "tsg aa",
       check: {
-        hints: 'a [options]'
+        hints: "a [options]"
       }
     },
     {
-      setup: 'tsg aaa',
+      setup: "tsg aaa",
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
-      setup: 'tsg aaa ',
+      setup: "tsg aaa ",
       check: {
-        hints: '[options]'
+        hints: "[options]"
       }
     },
     {
-      setup: 'tsg aaa d',
+      setup: "tsg aaa d",
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
-      setup: 'tsg aaa dddddd',
+      setup: "tsg aaa dddddd",
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
-      setup: 'tsg aaa dddddd ',
+      setup: "tsg aaa dddddd ",
       check: {
-        hints: '[options]'
+        hints: "[options]"
       }
     },
     {
       setup: 'tsg aaa "d',
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
       setup: 'tsg aaa "d d',
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
       setup: 'tsg aaa "d d"',
       check: {
-        hints: ' [options]'
+        hints: " [options]"
       }
     },
     {
-      setup: 'tsn ex ',
+      setup: "tsn ex ",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      setup: 'selarr',
+      setup: "selarr",
       check: {
-        hints: ' -> tselarr'
+        hints: " -> tselarr"
       }
     },
     {
-      setup: 'tselar 1',
+      setup: "tselar 1",
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      name: 'tselar |1',
-      setup: function() {
-        return helpers.setInput(options, 'tselar 1', 7);
+      name: "tselar |1",
+      setup: function () {
+        return helpers.setInput(options, "tselar 1", 7);
       },
       check: {
-        hints: ''
+        hints: ""
       }
     },
     {
-      name: 'tselar| 1',
-      setup: function() {
-        return helpers.setInput(options, 'tselar 1', 6);
+      name: "tselar| 1",
+      setup: function () {
+        return helpers.setInput(options, "tselar 1", 6);
       },
       check: {
-        hints: ' -> tselarr'
+        hints: " -> tselarr"
       }
     },
     {
-      name: 'tsela|r 1',
-      setup: function() {
-        return helpers.setInput(options, 'tselar 1', 5);
+      name: "tsela|r 1",
+      setup: function () {
+        return helpers.setInput(options, "tselar 1", 5);
       },
       check: {
-        hints: ' -> tselarr'
+        hints: " -> tselarr"
       }
     },
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_completion2.js
+++ b/devtools/client/commandline/test/browser_gcli_completion2.js
@@ -9,255 +9,255 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_completion2.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testLong = function(options) {
+exports.testLong = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tslong --sel',
+      setup:    "tslong --sel",
       check: {
-        input:  'tslong --sel',
-        hints:              ' <selection> <msg> [options]',
-        markup: 'VVVVVVVIIIII'
+        input:  "tslong --sel",
+        hints:              " <selection> <msg> [options]",
+        markup: "VVVVVVVIIIII"
       }
     },
     {
-      setup:    'tslong --sel<TAB>',
+      setup:    "tslong --sel<TAB>",
       check: {
-        input:  'tslong --sel ',
-        hints:               'space <msg> [options]',
-        markup: 'VVVVVVVIIIIIV'
+        input:  "tslong --sel ",
+        hints:               "space <msg> [options]",
+        markup: "VVVVVVVIIIIIV"
       }
     },
     {
-      setup:    'tslong --sel ',
+      setup:    "tslong --sel ",
       check: {
-        input:  'tslong --sel ',
-        hints:               'space <msg> [options]',
-        markup: 'VVVVVVVIIIIIV'
+        input:  "tslong --sel ",
+        hints:               "space <msg> [options]",
+        markup: "VVVVVVVIIIIIV"
       }
     },
     {
-      setup:    'tslong --sel s',
+      setup:    "tslong --sel s",
       check: {
-        input:  'tslong --sel s',
-        hints:                'pace <msg> [options]',
-        markup: 'VVVVVVVIIIIIVI'
+        input:  "tslong --sel s",
+        hints:                "pace <msg> [options]",
+        markup: "VVVVVVVIIIIIVI"
       }
     },
     {
-      setup:    'tslong --num ',
+      setup:    "tslong --num ",
       check: {
-        input:  'tslong --num ',
-        hints:               '<number> <msg> [options]',
-        markup: 'VVVVVVVIIIIIV'
+        input:  "tslong --num ",
+        hints:               "<number> <msg> [options]",
+        markup: "VVVVVVVIIIIIV"
       }
     },
     {
-      setup:    'tslong --num 42',
+      setup:    "tslong --num 42",
       check: {
-        input:  'tslong --num 42',
-        hints:                 ' <msg> [options]',
-        markup: 'VVVVVVVVVVVVVVV'
+        input:  "tslong --num 42",
+        hints:                 " <msg> [options]",
+        markup: "VVVVVVVVVVVVVVV"
       }
     },
     {
-      setup:    'tslong --num 42 ',
+      setup:    "tslong --num 42 ",
       check: {
-        input:  'tslong --num 42 ',
-        hints:                  '<msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVV'
+        input:  "tslong --num 42 ",
+        hints:                  "<msg> [options]",
+        markup: "VVVVVVVVVVVVVVVV"
       }
     },
     {
-      setup:    'tslong --num 42 --se',
+      setup:    "tslong --num 42 --se",
       check: {
-        input:  'tslong --num 42 --se',
-        hints:                      'l <msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVIIII'
+        input:  "tslong --num 42 --se",
+        hints:                      "l <msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVIIII"
       }
     },
     {
-      setup:    'tslong --num 42 --se<TAB>',
+      setup:    "tslong --num 42 --se<TAB>",
       check: {
-        input:  'tslong --num 42 --sel ',
-        hints:                        'space <msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVIIIIIV'
+        input:  "tslong --num 42 --sel ",
+        hints:                        "space <msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVIIIIIV"
       }
     },
     {
-      setup:    'tslong --num 42 --se<TAB><TAB>',
+      setup:    "tslong --num 42 --se<TAB><TAB>",
       check: {
-        input:  'tslong --num 42 --sel space ',
-        hints:                              '<msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV'
+        input:  "tslong --num 42 --sel space ",
+        hints:                              "<msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV"
       }
     },
     {
-      setup:    'tslong --num 42 --sel ',
+      setup:    "tslong --num 42 --sel ",
       check: {
-        input:  'tslong --num 42 --sel ',
-        hints:                        'space <msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVIIIIIV'
+        input:  "tslong --num 42 --sel ",
+        hints:                        "space <msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVIIIIIV"
       }
     },
     {
-      setup:    'tslong --num 42 --sel space ',
+      setup:    "tslong --num 42 --sel space ",
       check: {
-        input:  'tslong --num 42 --sel space ',
-        hints:                              '<msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV'
+        input:  "tslong --num 42 --sel space ",
+        hints:                              "<msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV"
       }
     }
   ]);
 };
 
-exports.testNoTab = function(options) {
+exports.testNoTab = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tss<TAB>',
+      setup:    "tss<TAB>",
       check: {
-        input:  'tss ',
-        markup: 'VVVV',
-        hints: ''
+        input:  "tss ",
+        markup: "VVVV",
+        hints: ""
       }
     },
     {
-      setup:    'tss<TAB><TAB>',
+      setup:    "tss<TAB><TAB>",
       check: {
-        input:  'tss ',
-        markup: 'VVVV',
-        hints: ''
+        input:  "tss ",
+        markup: "VVVV",
+        hints: ""
       }
     },
     {
-      setup:    'xxxx',
+      setup:    "xxxx",
       check: {
-        input:  'xxxx',
-        markup: 'EEEE',
-        hints: ''
+        input:  "xxxx",
+        markup: "EEEE",
+        hints: ""
       }
     },
     {
-      name: '<TAB>',
-      setup: function() {
+      name: "<TAB>",
+      setup: function () {
         // Doing it this way avoids clearing the input buffer
         return helpers.pressTab(options);
       },
       check: {
-        input:  'xxxx',
-        markup: 'EEEE',
-        hints: ''
+        input:  "xxxx",
+        markup: "EEEE",
+        hints: ""
       }
     }
   ]);
 };
 
-exports.testOutstanding = function(options) {
+exports.testOutstanding = function (options) {
   // See bug 779800
   /*
   return helpers.audit(options, [
     {
       setup:    'tsg --txt1 ddd ',
       check: {
         input:  'tsg --txt1 ddd ',
         hints:                 'aaa [options]',
         markup: 'VVVVVVVVVVVVVVV'
       }
     },
   ]);
   */
 };
 
-exports.testCompleteIntoOptional = function(options) {
+exports.testCompleteIntoOptional = function (options) {
   // From bug 779816
   return helpers.audit(options, [
     {
-      setup:    'tso ',
+      setup:    "tso ",
       check: {
-        typed:  'tso ',
-        hints:      '[text]',
-        markup: 'VVVV',
-        status: 'VALID'
+        typed:  "tso ",
+        hints:      "[text]",
+        markup: "VVVV",
+        status: "VALID"
       }
     },
     {
-      setup:    'tso<TAB>',
+      setup:    "tso<TAB>",
       check: {
-        typed:  'tso ',
-        hints:      '[text]',
-        markup: 'VVVV',
-        status: 'VALID'
+        typed:  "tso ",
+        hints:      "[text]",
+        markup: "VVVV",
+        status: "VALID"
       }
     }
   ]);
 };
 
-exports.testSpaceComplete = function(options) {
+exports.testSpaceComplete = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tslong --sel2 wit',
+      setup:    "tslong --sel2 wit",
       check: {
-        input:  'tslong --sel2 wit',
-        hints:                   'h space <msg> [options]',
-        markup: 'VVVVVVVIIIIIIVIII',
+        input:  "tslong --sel2 wit",
+        hints:                   "h space <msg> [options]",
+        markup: "VVVVVVVIIIIIIVIII",
         cursor: 17,
-        current: 'sel2',
-        status: 'ERROR',
-        tooltipState: 'true:importantFieldFlag',
+        current: "sel2",
+        status: "ERROR",
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tslong' },
-          msg: { status: 'INCOMPLETE' },
-          num: { status: 'VALID' },
-          sel: { status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          num2: { status: 'VALID' },
-          bool2: { value: false, status: 'VALID' },
-          sel2: { arg: ' --sel2 wit', status: 'INCOMPLETE' }
+          command: { name: "tslong" },
+          msg: { status: "INCOMPLETE" },
+          num: { status: "VALID" },
+          sel: { status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          num2: { status: "VALID" },
+          bool2: { value: false, status: "VALID" },
+          sel2: { arg: " --sel2 wit", status: "INCOMPLETE" }
         }
       }
     },
     {
-      setup:    'tslong --sel2 wit<TAB>',
+      setup:    "tslong --sel2 wit<TAB>",
       check: {
-        input:  'tslong --sel2 \'with space\' ',
-        hints:                             '<msg> [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tslong --sel2 'with space' ",
+        hints:                             "<msg> [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 27,
-        current: 'sel2',
-        status: 'ERROR',
-        tooltipState: 'true:importantFieldFlag',
+        current: "sel2",
+        status: "ERROR",
+        tooltipState: "true:importantFieldFlag",
         args: {
-          command: { name: 'tslong' },
-          msg: { status: 'INCOMPLETE' },
-          num: { status: 'VALID' },
-          sel: { status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          num2: { status: 'VALID' },
-          bool2: { value: false, status: 'VALID' },
+          command: { name: "tslong" },
+          msg: { status: "INCOMPLETE" },
+          num: { status: "VALID" },
+          sel: { status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          num2: { status: "VALID" },
+          bool2: { value: false, status: "VALID" },
           sel2: {
-            value: 'with space',
-            arg: ' --sel2 \'with space\' ',
-            status: 'VALID'
+            value: "with space",
+            arg: " --sel2 'with space' ",
+            status: "VALID"
           }
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_context.js
+++ b/devtools/client/commandline/test/browser_gcli_context.js
@@ -9,190 +9,190 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_context.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testBaseline = function(options) {
+exports.testBaseline = function (options) {
   return helpers.audit(options, [
     // These 3 establish a baseline for comparison when we have used the
     // context command
     {
-      setup:    'ext',
+      setup:    "ext",
       check: {
-        input:  'ext',
-        hints:     ' -> context',
-        markup: 'III',
-        message: '',
-        predictions: [ 'context', 'tsn ext', 'tsn exte', 'tsn exten', 'tsn extend' ],
+        input:  "ext",
+        hints:     " -> context",
+        markup: "III",
+        message: "",
+        predictions: [ "context", "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
         unassigned: [ ],
       }
     },
     {
-      setup:    'ext test',
+      setup:    "ext test",
       check: {
-        input:  'ext test',
-        hints:          '',
-        markup: 'IIIVEEEE',
-        status: 'ERROR',
-        message: 'Too many arguments',
-        unassigned: [ ' test' ],
+        input:  "ext test",
+        hints:          "",
+        markup: "IIIVEEEE",
+        status: "ERROR",
+        message: "Too many arguments",
+        unassigned: [ " test" ],
       }
     },
     {
-      setup:    'tsn',
+      setup:    "tsn",
       check: {
-        input:  'tsn',
-        hints:     ' deep down nested cmd',
-        markup: 'III',
+        input:  "tsn",
+        hints:     " deep down nested cmd",
+        markup: "III",
         cursor: 3,
-        current: '__command',
-        status: 'ERROR',
-        predictionsContains: [ 'tsn deep down nested cmd', 'tsn ext', 'tsn exte' ],
+        current: "__command",
+        status: "ERROR",
+        predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
         args: {
-          command: { name: 'tsn' },
+          command: { name: "tsn" },
         }
       }
     }
   ]);
 };
 
-exports.testContext = function(options) {
+exports.testContext = function (options) {
   return helpers.audit(options, [
     // Use the 'tsn' context
     {
-      setup:    'context tsn',
+      setup:    "context tsn",
       check: {
-        input:  'context tsn',
-        hints:             ' deep down nested cmd',
-        markup: 'VVVVVVVVVVV',
-        message: '',
-        predictionsContains: [ 'tsn deep down nested cmd', 'tsn ext', 'tsn exte' ],
+        input:  "context tsn",
+        hints:             " deep down nested cmd",
+        markup: "VVVVVVVVVVV",
+        message: "",
+        predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
         args: {
-          command: { name: 'context' },
+          command: { name: "context" },
           prefix: {
-            value: options.requisition.system.commands.get('tsn'),
-            status: 'VALID',
-            message: ''
+            value: options.requisition.system.commands.get("tsn"),
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Using tsn as a command prefix'
+        output: "Using tsn as a command prefix"
       }
     },
     // For comparison with earlier
     {
-      setup:    'ext',
+      setup:    "ext",
       check: {
-        input:  'ext',
-        hints:     ' <text>',
-        markup: 'VVV',
-        predictions: [ 'tsn ext', 'tsn exte', 'tsn exten', 'tsn extend' ],
+        input:  "ext",
+        hints:     " <text>",
+        markup: "VVV",
+        predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
         args: {
-          command: { name: 'tsn ext' },
+          command: { name: "tsn ext" },
           text: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    'ext test',
+      setup:    "ext test",
       check: {
-        input:  'ext test',
-        hints:          '',
-        markup: 'VVVVVVVV',
+        input:  "ext test",
+        hints:          "",
+        markup: "VVVVVVVV",
         args: {
-          command: { name: 'tsn ext' },
+          command: { name: "tsn ext" },
           text: {
-            value: 'test',
-            arg: ' test',
-            status: 'VALID',
-            message: ''
+            value: "test",
+            arg: " test",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsnExt text=test'
+        output: "Exec: tsnExt text=test"
       }
     },
     {
-      setup:    'tsn',
+      setup:    "tsn",
       check: {
-        input:  'tsn',
-        hints:     ' deep down nested cmd',
-        markup: 'III',
-        message: '',
-        predictionsContains: [ 'tsn deep down nested cmd', 'tsn ext', 'tsn exte' ],
+        input:  "tsn",
+        hints:     " deep down nested cmd",
+        markup: "III",
+        message: "",
+        predictionsContains: [ "tsn deep down nested cmd", "tsn ext", "tsn exte" ],
         args: {
-          command: { name: 'tsn' },
+          command: { name: "tsn" },
         }
       }
     },
     // Does it actually work?
     {
-      setup:    'tsb true',
+      setup:    "tsb true",
       check: {
-        input:  'tsb true',
-        hints:          '',
-        markup: 'VVVVVVVV',
-        options: [ 'true' ],
-        message: '',
-        predictions: [ 'true' ],
+        input:  "tsb true",
+        hints:          "",
+        markup: "VVVVVVVV",
+        options: [ "true" ],
+        message: "",
+        predictions: [ "true" ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsb' },
-          toggle: { value: true, arg: ' true', status: 'VALID', message: '' }
+          command: { name: "tsb" },
+          toggle: { value: true, arg: " true", status: "VALID", message: "" }
         }
       }
     },
     {
       // Bug 866710 - GCLI should allow argument merging for non-string parameters
-      setup: 'context tsn ext',
+      setup: "context tsn ext",
       skip: true
     },
     {
       setup:    'context "tsn ext"',
       check: {
         input:  'context "tsn ext"',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        message: '',
-        predictions: [ 'tsn ext', 'tsn exte', 'tsn exten', 'tsn extend' ],
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
+        message: "",
+        predictions: [ "tsn ext", "tsn exte", "tsn exten", "tsn extend" ],
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
+          command: { name: "context" },
           prefix: {
-            value: options.requisition.system.commands.get('tsn ext'),
-            status: 'VALID',
-            message: ''
+            value: options.requisition.system.commands.get("tsn ext"),
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Can\'t use \'tsn ext\' as a prefix because it is not a parent command.',
+        output: "Can't use 'tsn ext' as a prefix because it is not a parent command.",
         error: true
       }
     },
     /*
     {
       setup:    'context "tsn deep"',
       check: {
         input:  'context "tsn deep"',
@@ -212,28 +212,28 @@ exports.testContext = function(options) 
         }
       },
       exec: {
         output: ''
       }
     },
     */
     {
-      setup:    'context',
+      setup:    "context",
       check: {
-        input:  'context',
-        hints:         ' [prefix]',
-        markup: 'VVVVVVV',
-        status: 'VALID',
+        input:  "context",
+        hints:         " [prefix]",
+        markup: "VVVVVVV",
+        status: "VALID",
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
-          prefix: { value: undefined, arg: '', status: 'VALID', message: '' },
+          command: { name: "context" },
+          prefix: { value: undefined, arg: "", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Command prefix is unset',
-        type: 'string',
+        output: "Command prefix is unset",
+        type: "string",
         error: false
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_date.js
+++ b/devtools/client/commandline/test/browser_gcli_date.js
@@ -9,350 +9,350 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_date.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-var Status = require('gcli/types/types').Status;
+var Status = require("gcli/types/types").Status;
 
-exports.testParse = function(options) {
-  var date = options.requisition.system.types.createType('date');
-  return date.parseString('now').then(function(conversion) {
+exports.testParse = function (options) {
+  var date = options.requisition.system.types.createType("date");
+  return date.parseString("now").then(function (conversion) {
     // Date comparison - these 2 dates may not be the same, but how close is
     // close enough? If this test takes more than 30secs to run the it will
     // probably time out, so we'll assume that these 2 values must be within
     // 1 min of each other
     var gap = new Date().getTime() - conversion.value.getTime();
-    assert.ok(gap < 60000, 'now is less than a minute away');
+    assert.ok(gap < 60000, "now is less than a minute away");
 
-    assert.is(conversion.getStatus(), Status.VALID, 'now parse');
+    assert.is(conversion.getStatus(), Status.VALID, "now parse");
   });
 };
 
-exports.testMaxMin = function(options) {
+exports.testMaxMin = function (options) {
   var max = new Date();
   var min = new Date();
   var types = options.requisition.system.types;
-  var date = types.createType({ name: 'date', max: max, min: min });
-  assert.is(date.getMax(), max, 'max setup');
+  var date = types.createType({ name: "date", max: max, min: min });
+  assert.is(date.getMax(), max, "max setup");
 
   var incremented = date.nudge(min, 1);
-  assert.is(incremented, max, 'incremented');
+  assert.is(incremented, max, "incremented");
 };
 
-exports.testIncrement = function(options) {
-  var date = options.requisition.system.types.createType('date');
-  return date.parseString('now').then(function(conversion) {
+exports.testIncrement = function (options) {
+  var date = options.requisition.system.types.createType("date");
+  return date.parseString("now").then(function (conversion) {
     var plusOne = date.nudge(conversion.value, 1);
     var minusOne = date.nudge(plusOne, -1);
 
     // See comments in testParse
     var gap = new Date().getTime() - minusOne.getTime();
-    assert.ok(gap < 60000, 'now is less than a minute away');
+    assert.ok(gap < 60000, "now is less than a minute away");
   });
 };
 
-exports.testInput = function(options) {
+exports.testInput = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsdate 2001-01-01 1980-01-03',
+      setup:    "tsdate 2001-01-01 1980-01-03",
       check: {
-        input:  'tsdate 2001-01-01 1980-01-03',
-        hints:                              '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsdate 2001-01-01 1980-01-03",
+        hints:                              "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
-              assert.is(d1.getFullYear(), 2001, 'd1 year');
-              assert.is(d1.getMonth(), 0, 'd1 month');
-              assert.is(d1.getDate(), 1, 'd1 date');
-              assert.is(d1.getHours(), 0, 'd1 hours');
-              assert.is(d1.getMinutes(), 0, 'd1 minutes');
-              assert.is(d1.getSeconds(), 0, 'd1 seconds');
-              assert.is(d1.getMilliseconds(), 0, 'd1 millis');
+            value: function (d1) {
+              assert.is(d1.getFullYear(), 2001, "d1 year");
+              assert.is(d1.getMonth(), 0, "d1 month");
+              assert.is(d1.getDate(), 1, "d1 date");
+              assert.is(d1.getHours(), 0, "d1 hours");
+              assert.is(d1.getMinutes(), 0, "d1 minutes");
+              assert.is(d1.getSeconds(), 0, "d1 seconds");
+              assert.is(d1.getMilliseconds(), 0, "d1 millis");
             },
-            arg: ' 2001-01-01',
-            status: 'VALID',
-            message: ''
+            arg: " 2001-01-01",
+            status: "VALID",
+            message: ""
           },
           d2: {
-            value: function(d2) {
-              assert.is(d2.getFullYear(), 1980, 'd2 year');
-              assert.is(d2.getMonth(), 0, 'd2 month');
-              assert.is(d2.getDate(), 3, 'd2 date');
-              assert.is(d2.getHours(), 0, 'd2 hours');
-              assert.is(d2.getMinutes(), 0, 'd2 minutes');
-              assert.is(d2.getSeconds(), 0, 'd2 seconds');
-              assert.is(d2.getMilliseconds(), 0, 'd2 millis');
+            value: function (d2) {
+              assert.is(d2.getFullYear(), 1980, "d2 year");
+              assert.is(d2.getMonth(), 0, "d2 month");
+              assert.is(d2.getDate(), 3, "d2 date");
+              assert.is(d2.getHours(), 0, "d2 hours");
+              assert.is(d2.getMinutes(), 0, "d2 minutes");
+              assert.is(d2.getSeconds(), 0, "d2 seconds");
+              assert.is(d2.getMilliseconds(), 0, "d2 millis");
             },
-            arg: ' 1980-01-03',
-            status: 'VALID',
-            message: ''
+            arg: " 1980-01-03",
+            status: "VALID",
+            message: ""
           },
         }
       },
       exec: {
         output: [ /^Exec: tsdate/, /2001/, /1980/ ],
-        type: 'testCommandOutput',
+        type: "testCommandOutput",
         error: false
       }
     },
     {
-      setup:    'tsdate 2001/01/01 1980/01/03',
+      setup:    "tsdate 2001/01/01 1980/01/03",
       check: {
-        input:  'tsdate 2001/01/01 1980/01/03',
-        hints:                              '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsdate 2001/01/01 1980/01/03",
+        hints:                              "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
-              assert.is(d1.getFullYear(), 2001, 'd1 year');
-              assert.is(d1.getMonth(), 0, 'd1 month');
-              assert.is(d1.getDate(), 1, 'd1 date');
-              assert.is(d1.getHours(), 0, 'd1 hours');
-              assert.is(d1.getMinutes(), 0, 'd1 minutes');
-              assert.is(d1.getSeconds(), 0, 'd1 seconds');
-              assert.is(d1.getMilliseconds(), 0, 'd1 millis');
+            value: function (d1) {
+              assert.is(d1.getFullYear(), 2001, "d1 year");
+              assert.is(d1.getMonth(), 0, "d1 month");
+              assert.is(d1.getDate(), 1, "d1 date");
+              assert.is(d1.getHours(), 0, "d1 hours");
+              assert.is(d1.getMinutes(), 0, "d1 minutes");
+              assert.is(d1.getSeconds(), 0, "d1 seconds");
+              assert.is(d1.getMilliseconds(), 0, "d1 millis");
             },
-            arg: ' 2001/01/01',
-            status: 'VALID',
-            message: ''
+            arg: " 2001/01/01",
+            status: "VALID",
+            message: ""
           },
           d2: {
-            value: function(d2) {
-              assert.is(d2.getFullYear(), 1980, 'd2 year');
-              assert.is(d2.getMonth(), 0, 'd2 month');
-              assert.is(d2.getDate(), 3, 'd2 date');
-              assert.is(d2.getHours(), 0, 'd2 hours');
-              assert.is(d2.getMinutes(), 0, 'd2 minutes');
-              assert.is(d2.getSeconds(), 0, 'd2 seconds');
-              assert.is(d2.getMilliseconds(), 0, 'd2 millis');
+            value: function (d2) {
+              assert.is(d2.getFullYear(), 1980, "d2 year");
+              assert.is(d2.getMonth(), 0, "d2 month");
+              assert.is(d2.getDate(), 3, "d2 date");
+              assert.is(d2.getHours(), 0, "d2 hours");
+              assert.is(d2.getMinutes(), 0, "d2 minutes");
+              assert.is(d2.getSeconds(), 0, "d2 seconds");
+              assert.is(d2.getMilliseconds(), 0, "d2 millis");
             },
-            arg: ' 1980/01/03',
-            status: 'VALID',
-            message: ''
+            arg: " 1980/01/03",
+            status: "VALID",
+            message: ""
           },
         }
       },
       exec: {
         output: [ /^Exec: tsdate/, /2001/, /1980/ ],
-        type: 'testCommandOutput',
+        type: "testCommandOutput",
         error: false
       }
     },
     {
-      setup:    'tsdate now today',
+      setup:    "tsdate now today",
       check: {
-        input:  'tsdate now today',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsdate now today",
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
+            value: function (d1) {
               // How long should we allow between d1 and now? Mochitest will
               // time out after 30 secs, so that seems like a decent upper
               // limit, although 30 ms should probably do it. I don't think
               // reducing the limit from 30 secs will find any extra bugs
               assert.ok(d1.getTime() - new Date().getTime() < 30 * 1000,
-                        'd1 time');
+                        "d1 time");
             },
-            arg: ' now',
-            status: 'VALID',
-            message: ''
+            arg: " now",
+            status: "VALID",
+            message: ""
           },
           d2: {
-            value: function(d2) {
+            value: function (d2) {
               // See comment for d1 above
               assert.ok(d2.getTime() - new Date().getTime() < 30 * 1000,
-                        'd2 time');
+                        "d2 time");
             },
-            arg: ' today',
-            status: 'VALID',
-            message: ''
+            arg: " today",
+            status: "VALID",
+            message: ""
           },
         }
       },
       exec: {
         output: [ /^Exec: tsdate/, new Date().getFullYear() ],
-        type: 'testCommandOutput',
+        type: "testCommandOutput",
         error: false
       }
     },
     {
-      setup:    'tsdate yesterday tomorrow',
+      setup:    "tsdate yesterday tomorrow",
       check: {
-        input:  'tsdate yesterday tomorrow',
-        hints:                           '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsdate yesterday tomorrow",
+        hints:                           "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
+            value: function (d1) {
               var compare = new Date().getTime() - (24 * 60 * 60 * 1000);
               // See comment for d1 in the test for 'tsdate now today'
               assert.ok(d1.getTime() - compare < 30 * 1000,
-                        'd1 time');
+                        "d1 time");
             },
-            arg: ' yesterday',
-            status: 'VALID',
-            message: ''
+            arg: " yesterday",
+            status: "VALID",
+            message: ""
           },
           d2: {
-            value: function(d2) {
+            value: function (d2) {
               var compare = new Date().getTime() + (24 * 60 * 60 * 1000);
               // See comment for d1 in the test for 'tsdate now today'
               assert.ok(d2.getTime() - compare < 30 * 1000,
-                        'd2 time');
+                        "d2 time");
             },
-            arg: ' tomorrow',
-            status: 'VALID',
-            message: ''
+            arg: " tomorrow",
+            status: "VALID",
+            message: ""
           },
         }
       },
       exec: {
         output: [ /^Exec: tsdate/, new Date().getFullYear() ],
-        type: 'testCommandOutput',
+        type: "testCommandOutput",
         error: false
       }
     }
   ]);
 };
 
-exports.testIncrDecr = function(options) {
+exports.testIncrDecr = function (options) {
   return helpers.audit(options, [
     {
       // createRequisitionAutomator doesn't fake UP/DOWN well enough
       skipRemainingIf: options.isNode,
-      setup:    'tsdate 2001-01-01<UP>',
+      setup:    "tsdate 2001-01-01<UP>",
       check: {
-        input:  'tsdate 2001-01-02',
-        hints:                    ' <d2>',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'ERROR',
-        message: '',
+        input:  "tsdate 2001-01-02",
+        hints:                    " <d2>",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
-              assert.is(d1.getFullYear(), 2001, 'd1 year');
-              assert.is(d1.getMonth(), 0, 'd1 month');
-              assert.is(d1.getDate(), 2, 'd1 date');
-              assert.is(d1.getHours(), 0, 'd1 hours');
-              assert.is(d1.getMinutes(), 0, 'd1 minutes');
-              assert.is(d1.getSeconds(), 0, 'd1 seconds');
-              assert.is(d1.getMilliseconds(), 0, 'd1 millis');
+            value: function (d1) {
+              assert.is(d1.getFullYear(), 2001, "d1 year");
+              assert.is(d1.getMonth(), 0, "d1 month");
+              assert.is(d1.getDate(), 2, "d1 date");
+              assert.is(d1.getHours(), 0, "d1 hours");
+              assert.is(d1.getMinutes(), 0, "d1 minutes");
+              assert.is(d1.getSeconds(), 0, "d1 seconds");
+              assert.is(d1.getMilliseconds(), 0, "d1 millis");
             },
-            arg: ' 2001-01-02',
-            status: 'VALID',
-            message: ''
+            arg: " 2001-01-02",
+            status: "VALID",
+            message: ""
           },
           d2: {
             value: undefined,
-            status: 'INCOMPLETE'
+            status: "INCOMPLETE"
           },
         }
       }
     },
     {
       // Check wrapping on decrement
-      setup:    'tsdate 2001-02-01<DOWN>',
+      setup:    "tsdate 2001-02-01<DOWN>",
       check: {
-        input:  'tsdate 2001-01-31',
-        hints:                    ' <d2>',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'ERROR',
-        message: '',
+        input:  "tsdate 2001-01-31",
+        hints:                    " <d2>",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
-              assert.is(d1.getFullYear(), 2001, 'd1 year');
-              assert.is(d1.getMonth(), 0, 'd1 month');
-              assert.is(d1.getDate(), 31, 'd1 date');
-              assert.is(d1.getHours(), 0, 'd1 hours');
-              assert.is(d1.getMinutes(), 0, 'd1 minutes');
-              assert.is(d1.getSeconds(), 0, 'd1 seconds');
-              assert.is(d1.getMilliseconds(), 0, 'd1 millis');
+            value: function (d1) {
+              assert.is(d1.getFullYear(), 2001, "d1 year");
+              assert.is(d1.getMonth(), 0, "d1 month");
+              assert.is(d1.getDate(), 31, "d1 date");
+              assert.is(d1.getHours(), 0, "d1 hours");
+              assert.is(d1.getMinutes(), 0, "d1 minutes");
+              assert.is(d1.getSeconds(), 0, "d1 seconds");
+              assert.is(d1.getMilliseconds(), 0, "d1 millis");
             },
-            arg: ' 2001-01-31',
-            status: 'VALID',
-            message: ''
+            arg: " 2001-01-31",
+            status: "VALID",
+            message: ""
           },
           d2: {
             value: undefined,
-            status: 'INCOMPLETE'
+            status: "INCOMPLETE"
           },
         }
       }
     },
     {
       // Check 'max' value capping on increment
       setup:    'tsdate 2001-02-01 "27 feb 2000"<UP>',
       check: {
         input:  'tsdate 2001-02-01 "2000-02-28"',
-        hints:                                '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        hints:                                "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsdate' },
+          command: { name: "tsdate" },
           d1: {
-            value: function(d1) {
-              assert.is(d1.getFullYear(), 2001, 'd1 year');
-              assert.is(d1.getMonth(), 1, 'd1 month');
-              assert.is(d1.getDate(), 1, 'd1 date');
-              assert.is(d1.getHours(), 0, 'd1 hours');
-              assert.is(d1.getMinutes(), 0, 'd1 minutes');
-              assert.is(d1.getSeconds(), 0, 'd1 seconds');
-              assert.is(d1.getMilliseconds(), 0, 'd1 millis');
+            value: function (d1) {
+              assert.is(d1.getFullYear(), 2001, "d1 year");
+              assert.is(d1.getMonth(), 1, "d1 month");
+              assert.is(d1.getDate(), 1, "d1 date");
+              assert.is(d1.getHours(), 0, "d1 hours");
+              assert.is(d1.getMinutes(), 0, "d1 minutes");
+              assert.is(d1.getSeconds(), 0, "d1 seconds");
+              assert.is(d1.getMilliseconds(), 0, "d1 millis");
             },
-            arg: ' 2001-02-01',
-            status: 'VALID',
-            message: ''
+            arg: " 2001-02-01",
+            status: "VALID",
+            message: ""
           },
           d2: {
-            value: function(d2) {
-              assert.is(d2.getFullYear(), 2000, 'd2 year');
-              assert.is(d2.getMonth(), 1, 'd2 month');
-              assert.is(d2.getDate(), 28, 'd2 date');
-              assert.is(d2.getHours(), 0, 'd2 hours');
-              assert.is(d2.getMinutes(), 0, 'd2 minutes');
-              assert.is(d2.getSeconds(), 0, 'd2 seconds');
-              assert.is(d2.getMilliseconds(), 0, 'd2 millis');
+            value: function (d2) {
+              assert.is(d2.getFullYear(), 2000, "d2 year");
+              assert.is(d2.getMonth(), 1, "d2 month");
+              assert.is(d2.getDate(), 28, "d2 date");
+              assert.is(d2.getHours(), 0, "d2 hours");
+              assert.is(d2.getMinutes(), 0, "d2 minutes");
+              assert.is(d2.getSeconds(), 0, "d2 seconds");
+              assert.is(d2.getMilliseconds(), 0, "d2 millis");
             },
             arg: ' "2000-02-28"',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           },
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_exec.js
+++ b/devtools/client/commandline/test/browser_gcli_exec.js
@@ -9,648 +9,648 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_exec.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testParamGroup = function(options) {
-  var tsg = options.requisition.system.commands.get('tsg');
+exports.testParamGroup = function (options) {
+  var tsg = options.requisition.system.commands.get("tsg");
 
-  assert.is(tsg.params[0].groupName, null, 'tsg param 0 group null');
-  assert.is(tsg.params[1].groupName, 'First', 'tsg param 1 group First');
-  assert.is(tsg.params[2].groupName, 'First', 'tsg param 2 group First');
-  assert.is(tsg.params[3].groupName, 'Second', 'tsg param 3 group Second');
-  assert.is(tsg.params[4].groupName, 'Second', 'tsg param 4 group Second');
+  assert.is(tsg.params[0].groupName, null, "tsg param 0 group null");
+  assert.is(tsg.params[1].groupName, "First", "tsg param 1 group First");
+  assert.is(tsg.params[2].groupName, "First", "tsg param 2 group First");
+  assert.is(tsg.params[3].groupName, "Second", "tsg param 3 group Second");
+  assert.is(tsg.params[4].groupName, "Second", "tsg param 4 group Second");
 };
 
-exports.testWithHelpers = function(options) {
+exports.testWithHelpers = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tss',
+      setup:    "tss",
       check: {
-        input:  'tss',
-        hints:     '',
-        markup: 'VVV',
+        input:  "tss",
+        hints:     "",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         unassigned: [ ],
         args: {
-          command: { name: 'tss' },
+          command: { name: "tss" },
         }
       },
       exec: {
         output: /^Exec: tss/,
       }
     },
     {
-      setup:    'tsv option1 10',
+      setup:    "tsv option1 10",
       check: {
-        input:  'tsv option1 10',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "tsv option1 10",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'optionValue',
-        status: 'VALID',
+        current: "optionValue",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'string',
-            arg: ' option1',
-            status: 'VALID',
-            message: ''
+            value: "string",
+            arg: " option1",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
-            arg: ' 10',
-            status: 'VALID',
-            message: ''
+            arg: " 10",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsv optionType=option1 optionValue=10'
+        output: "Exec: tsv optionType=option1 optionValue=10"
       }
     },
     {
-      setup:    'tsv option2 10',
+      setup:    "tsv option2 10",
       check: {
-        input:  'tsv option2 10',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "tsv option2 10",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'optionValue',
-        status: 'VALID',
+        current: "optionValue",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsv' },
+          command: { name: "tsv" },
           optionType: {
-            value: 'number',
-            arg: ' option2',
-            status: 'VALID',
-            message: ''
+            value: "number",
+            arg: " option2",
+            status: "VALID",
+            message: ""
           },
           optionValue: {
-            arg: ' 10',
-            status: 'VALID',
-            message: ''
+            arg: " 10",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsv optionType=option2 optionValue=10'
+        output: "Exec: tsv optionType=option2 optionValue=10"
       }
     },
     // Delegated remote types can't transfer value types so we only test for
     // the value of optionValue when we're local
     {
       skipIf: options.isRemote,
-      setup: 'tsv option1 10',
+      setup: "tsv option1 10",
       check: {
-        args: { optionValue: { value: '10' } }
+        args: { optionValue: { value: "10" } }
       },
       exec: {
-        output: 'Exec: tsv optionType=option1 optionValue=10'
+        output: "Exec: tsv optionType=option1 optionValue=10"
       }
     },
     {
       skipIf: options.isRemote,
-      setup: 'tsv option2 10',
+      setup: "tsv option2 10",
       check: {
         args: { optionValue: { value: 10 } }
       },
       exec: {
-        output: 'Exec: tsv optionType=option2 optionValue=10'
+        output: "Exec: tsv optionType=option2 optionValue=10"
       }
     }
   ]);
 };
 
-exports.testExecText = function(options) {
+exports.testExecText = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsr fred',
+      setup:    "tsr fred",
       check: {
-        input:  'tsr fred',
-        hints:          '',
-        markup: 'VVVVVVVV',
+        input:  "tsr fred",
+        hints:          "",
+        markup: "VVVVVVVV",
         cursor: 8,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'fred',
-            arg: ' fred',
-            status: 'VALID',
-            message: ''
+            value: "fred",
+            arg: " fred",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsr text=fred'
+        output: "Exec: tsr text=fred"
       }
     },
     {
-      setup:    'tsr fred bloggs',
+      setup:    "tsr fred bloggs",
       check: {
-        input:  'tsr fred bloggs',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVV',
+        input:  "tsr fred bloggs",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVV",
         cursor: 15,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'fred bloggs',
-            arg: ' fred bloggs',
-            status: 'VALID',
-            message: ''
+            value: "fred bloggs",
+            arg: " fred bloggs",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsr text=fred\\ bloggs'
+        output: "Exec: tsr text=fred\\ bloggs"
       }
     },
     {
       setup:    'tsr "fred bloggs"',
       check: {
         input:  'tsr "fred bloggs"',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'fred bloggs',
+            value: "fred bloggs",
             arg: ' "fred bloggs"',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsr text=fred\\ bloggs'
+        output: "Exec: tsr text=fred\\ bloggs"
       }
     },
     {
       setup:    'tsr "fred bloggs',
       check: {
         input:  'tsr "fred bloggs',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
         cursor: 16,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsr' },
+          command: { name: "tsr" },
           text: {
-            value: 'fred bloggs',
+            value: "fred bloggs",
             arg: ' "fred bloggs',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsr text=fred\\ bloggs'
+        output: "Exec: tsr text=fred\\ bloggs"
       }
     }
   ]);
 };
 
-exports.testExecBoolean = function(options) {
+exports.testExecBoolean = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsb',
+      setup:    "tsb",
       check: {
-        input:  'tsb',
-        hints:     ' [toggle]',
-        markup: 'VVV',
+        input:  "tsb",
+        hints:     " [toggle]",
+        markup: "VVV",
         cursor: 3,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsb' },
+          command: { name: "tsb" },
           toggle: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsb toggle=false'
+        output: "Exec: tsb toggle=false"
       }
     },
     {
-      setup:    'tsb --toggle',
+      setup:    "tsb --toggle",
       check: {
-        input:  'tsb --toggle',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
+        input:  "tsb --toggle",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'toggle',
-        status: 'VALID',
+        current: "toggle",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
-        outputState: 'false:default',
+        outputState: "false:default",
         args: {
-          command: { name: 'tsb' },
+          command: { name: "tsb" },
           toggle: {
             value: true,
-            arg: ' --toggle',
-            status: 'VALID',
-            message: ''
+            arg: " --toggle",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsb toggle=true'
+        output: "Exec: tsb toggle=true"
       }
     }
   ]);
 };
 
-exports.testExecNumber = function(options) {
+exports.testExecNumber = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsu 10',
+      setup:    "tsu 10",
       check: {
-        input:  'tsu 10',
-        hints:        '',
-        markup: 'VVVVVV',
+        input:  "tsu 10",
+        hints:        "",
+        markup: "VVVVVV",
         cursor: 6,
-        current: 'num',
-        status: 'VALID',
+        current: "num",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
-          num: { value: 10, arg: ' 10', status: 'VALID', message: '' }
+          command: { name: "tsu" },
+          num: { value: 10, arg: " 10", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Exec: tsu num=10'
+        output: "Exec: tsu num=10"
       }
     },
     {
-      setup:    'tsu --num 10',
+      setup:    "tsu --num 10",
       check: {
-        input:  'tsu --num 10',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
+        input:  "tsu --num 10",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'num',
-        status: 'VALID',
+        current: "num",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsu' },
-          num: { value: 10, arg: ' --num 10', status: 'VALID', message: '' }
+          command: { name: "tsu" },
+          num: { value: 10, arg: " --num 10", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Exec: tsu num=10'
+        output: "Exec: tsu num=10"
       }
     }
   ]);
 };
 
-exports.testExecScript = function(options) {
+exports.testExecScript = function (options) {
   return helpers.audit(options, [
     {
       // Bug 704829 - Enable GCLI Javascript parameters
       // The answer to this should be 2
-      setup:    'tsj { 1 + 1 }',
+      setup:    "tsj { 1 + 1 }",
       check: {
-        input:  'tsj { 1 + 1 }',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tsj { 1 + 1 }",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsj' },
+          command: { name: "tsj" },
           javascript: {
-            arg: ' { 1 + 1 }',
-            status: 'VALID',
-            message: ''
+            arg: " { 1 + 1 }",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Exec: tsj javascript=1 + 1'
+        output: "Exec: tsj javascript=1 + 1"
       }
     }
   ]);
 };
 
-exports.testExecNode = function(options) {
+exports.testExecNode = function (options) {
   return helpers.audit(options, [
     {
       skipIf: options.isRemote,
-      setup:    'tse :root',
+      setup:    "tse :root",
       check: {
-        input:  'tse :root',
-        hints:           ' [options]',
-        markup: 'VVVVVVVVV',
+        input:  "tse :root",
+        hints:           " [options]",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'node',
-        status: 'VALID',
+        current: "node",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
-            arg: ' :root',
-            status: 'VALID',
-            message: ''
+            arg: " :root",
+            status: "VALID",
+            message: ""
           },
           nodes: {
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           nodes2: {
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         output: /^Exec: tse/
       },
-      post: function(output) {
-        assert.is(output.data.args.node, ':root', 'node should be :root');
-        assert.is(output.data.args.nodes, 'Error', 'nodes should be Error');
-        assert.is(output.data.args.nodes2, 'Error', 'nodes2 should be Error');
+      post: function (output) {
+        assert.is(output.data.args.node, ":root", "node should be :root");
+        assert.is(output.data.args.nodes, "Error", "nodes should be Error");
+        assert.is(output.data.args.nodes2, "Error", "nodes2 should be Error");
       }
     }
   ]);
 };
 
-exports.testExecSubCommand = function(options) {
+exports.testExecSubCommand = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsn dif fred',
+      setup:    "tsn dif fred",
       check: {
-        input:  'tsn dif fred',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
+        input:  "tsn dif fred",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn dif' },
-          text: { value: 'fred', arg: ' fred', status: 'VALID', message: '' }
+          command: { name: "tsn dif" },
+          text: { value: "fred", arg: " fred", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Exec: tsnDif text=fred'
+        output: "Exec: tsnDif text=fred"
       }
     },
     {
-      setup:    'tsn exten fred',
+      setup:    "tsn exten fred",
       check: {
-        input:  'tsn exten fred',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "tsn exten fred",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn exten' },
-          text: { value: 'fred', arg: ' fred', status: 'VALID', message: '' },
+          command: { name: "tsn exten" },
+          text: { value: "fred", arg: " fred", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tsnExten text=fred'
+        output: "Exec: tsnExten text=fred"
       }
     },
     {
-      setup:    'tsn extend fred',
+      setup:    "tsn extend fred",
       check: {
-        input:  'tsn extend fred',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVV',
+        input:  "tsn extend fred",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVV",
         cursor: 15,
-        current: 'text',
-        status: 'VALID',
+        current: "text",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsn extend' },
-          text: { value: 'fred', arg: ' fred', status: 'VALID', message: '' },
+          command: { name: "tsn extend" },
+          text: { value: "fred", arg: " fred", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tsnExtend text=fred'
+        output: "Exec: tsnExtend text=fred"
       }
     }
   ]);
 };
 
-exports.testExecArray = function(options) {
+exports.testExecArray = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tselarr 1',
+      setup:    "tselarr 1",
       check: {
-        input:  'tselarr 1',
-        hints:           '',
-        markup: 'VVVVVVVVV',
+        input:  "tselarr 1",
+        hints:           "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'num',
-        status: 'VALID',
-        predictions: ['1'],
+        current: "num",
+        status: "VALID",
+        predictions: ["1"],
         unassigned: [ ],
-        outputState: 'false:default',
+        outputState: "false:default",
         args: {
-          command: { name: 'tselarr' },
-          num: { value: '1', arg: ' 1', status: 'VALID', message: '' },
-          arr: { /*value:,*/ arg: '{}', status: 'VALID', message: '' },
+          command: { name: "tselarr" },
+          num: { value: "1", arg: " 1", status: "VALID", message: "" },
+          arr: { /* value:,*/ arg: "{}", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tselarr num=1 arr='
+        output: "Exec: tselarr num=1 arr="
       }
     },
     {
-      setup:    'tselarr 1 a',
+      setup:    "tselarr 1 a",
       check: {
-        input:  'tselarr 1 a',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tselarr 1 a",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'arr',
-        status: 'VALID',
+        current: "arr",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tselarr' },
-          num: { value: '1', arg: ' 1', status: 'VALID', message: '' },
-          arr: { /*value:a,*/ arg: '{ a}', status: 'VALID', message: '' },
+          command: { name: "tselarr" },
+          num: { value: "1", arg: " 1", status: "VALID", message: "" },
+          arr: { /* value:a,*/ arg: "{ a}", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tselarr num=1 arr=a'
+        output: "Exec: tselarr num=1 arr=a"
       }
     },
     {
-      setup:    'tselarr 1 a b',
+      setup:    "tselarr 1 a b",
       check: {
-        input:  'tselarr 1 a b',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tselarr 1 a b",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'arr',
-        status: 'VALID',
+        current: "arr",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tselarr' },
-          num: { value: '1', arg: ' 1', status: 'VALID', message: '' },
-          arr: { /*value:a,b,*/ arg: '{ a, b}', status: 'VALID', message: '' },
+          command: { name: "tselarr" },
+          num: { value: "1", arg: " 1", status: "VALID", message: "" },
+          arr: { /* value:a,b,*/ arg: "{ a, b}", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tselarr num=1 arr=a b'
+        output: "Exec: tselarr num=1 arr=a b"
       }
     }
   ]);
 };
 
-exports.testExecMultiple = function(options) {
+exports.testExecMultiple = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsm a 10 10',
+      setup:    "tsm a 10 10",
       check: {
-        input:  'tsm a 10 10',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsm a 10 10",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'num',
-        status: 'VALID',
+        current: "num",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tsm' },
-          abc: { value: 'a', arg: ' a', status: 'VALID', message: '' },
-          txt: { value: '10', arg: ' 10', status: 'VALID', message: '' },
-          num: { value: 10, arg: ' 10', status: 'VALID', message: '' },
+          command: { name: "tsm" },
+          abc: { value: "a", arg: " a", status: "VALID", message: "" },
+          txt: { value: "10", arg: " 10", status: "VALID", message: "" },
+          num: { value: 10, arg: " 10", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tsm abc=a txt=10 num=10'
+        output: "Exec: tsm abc=a txt=10 num=10"
       }
     }
   ]);
 };
 
-exports.testExecDefaults = function(options) {
+exports.testExecDefaults = function (options) {
   return helpers.audit(options, [
     {
       // Bug 707009 - GCLI doesn't always fill in default parameters properly
-      setup:    'tsg aaa',
+      setup:    "tsg aaa",
       check: {
-        input:  'tsg aaa',
-        hints:         ' [options]',
-        markup: 'VVVVVVV',
+        input:  "tsg aaa",
+        hints:         " [options]",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'solo',
-        status: 'VALID',
-        predictions: ['aaa'],
+        current: "solo",
+        status: "VALID",
+        predictions: ["aaa"],
         unassigned: [ ],
         args: {
-          command: { name: 'tsg' },
-          solo: { value: 'aaa', arg: ' aaa', status: 'VALID', message: '' },
-          txt1: { value: undefined, arg: '', status: 'VALID', message: '' },
-          bool: { value: false, arg: '', status: 'VALID', message: '' },
-          txt2: { value: undefined, arg: '', status: 'VALID', message: '' },
-          num: { value: undefined, arg: '', status: 'VALID', message: '' },
+          command: { name: "tsg" },
+          solo: { value: "aaa", arg: " aaa", status: "VALID", message: "" },
+          txt1: { value: undefined, arg: "", status: "VALID", message: "" },
+          bool: { value: false, arg: "", status: "VALID", message: "" },
+          txt2: { value: undefined, arg: "", status: "VALID", message: "" },
+          num: { value: undefined, arg: "", status: "VALID", message: "" },
         }
       },
       exec: {
-        output: 'Exec: tsg solo=aaa txt1= bool=false txt2=d num=42'
+        output: "Exec: tsg solo=aaa txt1= bool=false txt2=d num=42"
       }
     }
   ]);
 };
 
-exports.testNested = function(options) {
+exports.testNested = function (options) {
   var commands = options.requisition.system.commands;
   commands.add({
-    name: 'nestorama',
-    exec: function(args, context) {
-      return context.updateExec('tsb').then(function(tsbOutput) {
-        return context.updateExec('tsu 6').then(function(tsuOutput) {
+    name: "nestorama",
+    exec: function (args, context) {
+      return context.updateExec("tsb").then(function (tsbOutput) {
+        return context.updateExec("tsu 6").then(function (tsuOutput) {
           return JSON.stringify({
             tsb: tsbOutput.data,
             tsu: tsuOutput.data
           });
         });
       });
     }
   });
 
   return helpers.audit(options, [
     {
-      setup: 'nestorama',
+      setup: "nestorama",
       exec: {
         output:
-          '{' +
+          "{" +
             '"tsb":{' +
               '"name":"tsb",' +
               '"args":{"toggle":"false"}' +
-            '},' +
+            "}," +
             '"tsu":{' +
               '"name":"tsu",' +
               '"args":{"num":"6"}' +
-            '}' +
-          '}'
+            "}" +
+          "}"
       },
-      post: function() {
-        commands.remove('nestorama');
+      post: function () {
+        commands.remove("nestorama");
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_fail.js
+++ b/devtools/client/commandline/test/browser_gcli_fail.js
@@ -9,65 +9,65 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_fail.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsfail reject',
+      setup: "tsfail reject",
       exec: {
-        output: 'rejected promise',
-        type: 'error',
+        output: "rejected promise",
+        type: "error",
         error: true
       }
     },
     {
-      setup: 'tsfail rejecttyped',
+      setup: "tsfail rejecttyped",
       exec: {
-        output: '54',
-        type: 'number',
+        output: "54",
+        type: "number",
         error: true
       }
     },
     {
-      setup: 'tsfail throwerror',
+      setup: "tsfail throwerror",
       exec: {
         output: /thrown error$/,
-        type: 'error',
+        type: "error",
         error: true
       }
     },
     {
-      setup: 'tsfail throwstring',
+      setup: "tsfail throwstring",
       exec: {
-        output: 'thrown string',
-        type: 'error',
+        output: "thrown string",
+        type: "error",
         error: true
       }
     },
     {
-      setup: 'tsfail noerror',
+      setup: "tsfail noerror",
       exec: {
-        output: 'no error',
-        type: 'string',
+        output: "no error",
+        type: "string",
         error: false
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_file.js
+++ b/devtools/client/commandline/test/browser_gcli_file.js
@@ -9,813 +9,813 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_file.js");
 }
 
 // var helpers = require('./helpers');
 
 var local = false;
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: options.isFirefox, // No file implementation in Firefox
-      setup:    'tsfile open /',
+      setup:    "tsfile open /",
       check: {
-        input:  'tsfile open /',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVI',
+        input:  "tsfile open /",
+        hints:               "",
+        markup: "VVVVVVVVVVVVI",
         cursor: 13,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' is not a file',
+        current: "p1",
+        status: "ERROR",
+        message: "'/' is not a file",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' is not a file'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' is not a file"
           }
         }
       }
     },
     {
-      setup:    'tsfile open /zxcv',
+      setup:    "tsfile open /zxcv",
       check: {
-        input:  'tsfile open /zxcv',
+        input:  "tsfile open /zxcv",
         // hints:                   ' -> /etc/',
-        markup: 'VVVVVVVVVVVVIIIII',
+        markup: "VVVVVVVVVVVVIIIII",
         cursor: 17,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        current: "p1",
+        status: "ERROR",
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
-            status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            arg: " /zxcv",
+            status: "INCOMPLETE",
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile open /mach_kernel',
+      setup:    "tsfile open /mach_kernel",
       check: {
-        input:  'tsfile open /mach_kernel',
-        hints:                          '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile open /mach_kernel",
+        hints:                          "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 24,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
-           }
-        }
-      }
-    },
-    {
-      setup:    'tsfile saveas /',
-      check: {
-        input:  'tsfile saveas /',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVI',
-        cursor: 15,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' already exists',
-        args: {
-          command: { name: 'tsfile saveas' },
-          p1: {
-            value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' already exists'
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile saveas /zxcv',
+      setup:    "tsfile saveas /",
       check: {
-        input:  'tsfile saveas /zxcv',
+        input:  "tsfile saveas /",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVI",
+        cursor: 15,
+        current: "p1",
+        status: "ERROR",
+        message: "'/' already exists",
+        args: {
+          command: { name: "tsfile saveas" },
+          p1: {
+            value: undefined,
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' already exists"
+          }
+        }
+      }
+    },
+    {
+      setup:    "tsfile saveas /zxcv",
+      check: {
+        input:  "tsfile saveas /zxcv",
         // hints:                     ' -> /etc/',
-        markup: 'VVVVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVVVV",
         cursor: 19,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile saveas' },
+          command: { name: "tsfile saveas" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile saveas /mach_kernel',
+      setup:    "tsfile saveas /mach_kernel",
       check: {
-        input:  'tsfile saveas /mach_kernel',
-        hints:                            '',
-        markup: 'VVVVVVVVVVVVVVIIIIIIIIIIII',
+        input:  "tsfile saveas /mach_kernel",
+        hints:                            "",
+        markup: "VVVVVVVVVVVVVVIIIIIIIIIIII",
         cursor: 26,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/mach_kernel\' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "'/mach_kernel' already exists",
         args: {
-          command: { name: 'tsfile saveas' },
+          command: { name: "tsfile saveas" },
           p1: {
             value: undefined,
-            arg: ' /mach_kernel',
-            status: 'INCOMPLETE',
-            message: '\'/mach_kernel\' already exists'
+            arg: " /mach_kernel",
+            status: "INCOMPLETE",
+            message: "'/mach_kernel' already exists"
           }
         }
       }
     },
     {
-      setup:    'tsfile save /',
+      setup:    "tsfile save /",
       check: {
-        input:  'tsfile save /',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVI',
+        input:  "tsfile save /",
+        hints:               "",
+        markup: "VVVVVVVVVVVVI",
         cursor: 13,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' is not a file',
+        current: "p1",
+        status: "ERROR",
+        message: "'/' is not a file",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' is not a file'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' is not a file"
           }
         }
       }
     },
     {
-      setup:    'tsfile save /zxcv',
+      setup:    "tsfile save /zxcv",
       check: {
-        input:  'tsfile save /zxcv',
+        input:  "tsfile save /zxcv",
         // hints:                   ' -> /etc/',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile save /mach_kernel',
+      setup:    "tsfile save /mach_kernel",
       check: {
-        input:  'tsfile save /mach_kernel',
-        hints:                          '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile save /mach_kernel",
+        hints:                          "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 24,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile cd /',
+      setup:    "tsfile cd /",
       check: {
-        input:  'tsfile cd /',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsfile cd /",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
-            value: '/',
-            arg: ' /',
-            status: 'VALID',
-            message: ''
+            value: "/",
+            arg: " /",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile cd /zxcv',
+      setup:    "tsfile cd /zxcv",
       check: {
-        input:  'tsfile cd /zxcv',
+        input:  "tsfile cd /zxcv",
         // hints:                 ' -> /dev/',
-        markup: 'VVVVVVVVVVIIIII',
+        markup: "VVVVVVVVVVIIIII",
         cursor: 15,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        current: "p1",
+        status: "ERROR",
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
-            status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            arg: " /zxcv",
+            status: "INCOMPLETE",
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: true || !local,
-      setup:    'tsfile cd /etc/passwd',
+      setup:    "tsfile cd /etc/passwd",
       check: {
-        input:  'tsfile cd /etc/passwd',
-        hints:                       ' -> /etc/pam.d/',
-        markup: 'VVVVVVVVVVIIIIIIIIIII',
+        input:  "tsfile cd /etc/passwd",
+        hints:                       " -> /etc/pam.d/",
+        markup: "VVVVVVVVVVIIIIIIIIIII",
         cursor: 21,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/etc/passwd\' is not a directory',
+        current: "p1",
+        status: "ERROR",
+        message: "'/etc/passwd' is not a directory",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
             value: undefined,
-            arg: ' /etc/passwd',
-            status: 'INCOMPLETE',
-            message: '\'/etc/passwd\' is not a directory'
+            arg: " /etc/passwd",
+            status: "INCOMPLETE",
+            message: "'/etc/passwd' is not a directory"
           }
         }
       }
     },
     {
-      setup:    'tsfile mkdir /',
+      setup:    "tsfile mkdir /",
       check: {
-        input:  'tsfile mkdir /',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVI',
+        input:  "tsfile mkdir /",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVI",
         cursor: 14,
-        current: 'p1',
-        status: 'ERROR',
-        message: ''/' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "" / " already exists",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' already exists'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' already exists"
           }
         }
       }
     },
     {
-      setup:    'tsfile mkdir /zxcv',
+      setup:    "tsfile mkdir /zxcv",
       check: {
-        input:  'tsfile mkdir /zxcv',
+        input:  "tsfile mkdir /zxcv",
         // hints:                    ' -> /dev/',
-        markup: 'VVVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVVV",
         cursor: 18,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile mkdir /mach_kernel',
+      setup:    "tsfile mkdir /mach_kernel",
       check: {
-        input:  'tsfile mkdir /mach_kernel',
-        hints:                           '',
-        markup: 'VVVVVVVVVVVVVIIIIIIIIIIII',
+        input:  "tsfile mkdir /mach_kernel",
+        hints:                           "",
+        markup: "VVVVVVVVVVVVVIIIIIIIIIIII",
         cursor: 25,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/mach_kernel\' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "'/mach_kernel' already exists",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
             value: undefined,
-            arg: ' /mach_kernel',
-            status: 'INCOMPLETE',
-            message: '\'/mach_kernel\' already exists'
+            arg: " /mach_kernel",
+            status: "INCOMPLETE",
+            message: "'/mach_kernel' already exists"
           }
         }
       }
     },
     {
-      setup:    'tsfile rm /',
+      setup:    "tsfile rm /",
       check: {
-        input:  'tsfile rm /',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsfile rm /",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
-            value: '/',
-            arg: ' /',
-            status: 'VALID',
-            message: ''
+            value: "/",
+            arg: " /",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile rm /zxcv',
+      setup:    "tsfile rm /zxcv",
       check: {
-        input:  'tsfile rm /zxcv',
+        input:  "tsfile rm /zxcv",
         // hints:                 ' -> /etc/',
-        markup: 'VVVVVVVVVVIIIII',
+        markup: "VVVVVVVVVVIIIII",
         cursor: 15,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        current: "p1",
+        status: "ERROR",
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
-            status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            arg: " /zxcv",
+            status: "INCOMPLETE",
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile rm /mach_kernel',
+      setup:    "tsfile rm /mach_kernel",
       check: {
-        input:  'tsfile rm /mach_kernel',
-        hints:                        '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile rm /mach_kernel",
+        hints:                        "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVV",
         cursor: 22,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testFirefoxBasic = function(options) {
+exports.testFirefoxBasic = function (options) {
   return helpers.audit(options, [
     {
       // These tests are just like the ones above tailored for running in
       // Firefox
       skipRemainingIf: true,
       // skipRemainingIf: !options.isFirefox,
       skipIf: true,
-      setup:    'tsfile open /',
+      setup:    "tsfile open /",
       check: {
-        input:  'tsfile open /',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVI',
+        input:  "tsfile open /",
+        hints:               "",
+        markup: "VVVVVVVVVVVVI",
         cursor: 13,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' is not a file',
+        current: "p1",
+        status: "ERROR",
+        message: "'/' is not a file",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' is not a file'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' is not a file"
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile open /zxcv',
+      setup:    "tsfile open /zxcv",
       check: {
-        input:  'tsfile open /zxcv',
+        input:  "tsfile open /zxcv",
         // hints:                   ' -> /etc/',
-        markup: 'VVVVVVVVVVVVIIIII',
+        markup: "VVVVVVVVVVVVIIIII",
         cursor: 17,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        current: "p1",
+        status: "ERROR",
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
-            status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            arg: " /zxcv",
+            status: "INCOMPLETE",
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile open /mach_kernel',
+      setup:    "tsfile open /mach_kernel",
       check: {
-        input:  'tsfile open /mach_kernel',
-        hints:                          '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile open /mach_kernel",
+        hints:                          "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 24,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile open' },
+          command: { name: "tsfile open" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
-           }
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
+          }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile saveas /',
+      setup:    "tsfile saveas /",
       check: {
-        input:  'tsfile saveas /',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVI',
+        input:  "tsfile saveas /",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVI",
         cursor: 15,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "'/' already exists",
         args: {
-          command: { name: 'tsfile saveas' },
+          command: { name: "tsfile saveas" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' already exists'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' already exists"
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile saveas /zxcv',
+      setup:    "tsfile saveas /zxcv",
       check: {
-        input:  'tsfile saveas /zxcv',
+        input:  "tsfile saveas /zxcv",
         // hints:                     ' -> /etc/',
-        markup: 'VVVVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVVVV",
         cursor: 19,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile saveas' },
+          command: { name: "tsfile saveas" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile saveas /mach_kernel',
+      setup:    "tsfile saveas /mach_kernel",
       check: {
-        input:  'tsfile saveas /mach_kernel',
-        hints:                            '',
-        markup: 'VVVVVVVVVVVVVVIIIIIIIIIIII',
+        input:  "tsfile saveas /mach_kernel",
+        hints:                            "",
+        markup: "VVVVVVVVVVVVVVIIIIIIIIIIII",
         cursor: 26,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/mach_kernel\' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "'/mach_kernel' already exists",
         args: {
-          command: { name: 'tsfile saveas' },
+          command: { name: "tsfile saveas" },
           p1: {
             value: undefined,
-            arg: ' /mach_kernel',
-            status: 'INCOMPLETE',
-            message: '\'/mach_kernel\' already exists'
+            arg: " /mach_kernel",
+            status: "INCOMPLETE",
+            message: "'/mach_kernel' already exists"
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile save /',
+      setup:    "tsfile save /",
       check: {
-        input:  'tsfile save /',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVI',
+        input:  "tsfile save /",
+        hints:               "",
+        markup: "VVVVVVVVVVVVI",
         cursor: 13,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/\' is not a file',
+        current: "p1",
+        status: "ERROR",
+        message: "'/' is not a file",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' is not a file'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' is not a file"
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile save /zxcv',
+      setup:    "tsfile save /zxcv",
       check: {
-        input:  'tsfile save /zxcv',
+        input:  "tsfile save /zxcv",
         // hints:                   ' -> /etc/',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile save /mach_kernel',
+      setup:    "tsfile save /mach_kernel",
       check: {
-        input:  'tsfile save /mach_kernel',
-        hints:                          '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile save /mach_kernel",
+        hints:                          "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 24,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile save' },
+          command: { name: "tsfile save" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile cd /',
+      setup:    "tsfile cd /",
       check: {
-        input:  'tsfile cd /',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsfile cd /",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
-            value: '/',
-            arg: ' /',
-            status: 'VALID',
-            message: ''
+            value: "/",
+            arg: " /",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tsfile cd /zxcv',
+      setup:    "tsfile cd /zxcv",
       check: {
-        input:  'tsfile cd /zxcv',
+        input:  "tsfile cd /zxcv",
         // hints:                 ' -> /dev/',
         // markup: 'VVVVVVVVVVIIIII',
         cursor: 15,
-        current: 'p1',
+        current: "p1",
         // status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
+            arg: " /zxcv",
             // status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: true || !local,
-      setup:    'tsfile cd /etc/passwd',
+      setup:    "tsfile cd /etc/passwd",
       check: {
-        input:  'tsfile cd /etc/passwd',
-        hints:                       ' -> /etc/pam.d/',
-        markup: 'VVVVVVVVVVIIIIIIIIIII',
+        input:  "tsfile cd /etc/passwd",
+        hints:                       " -> /etc/pam.d/",
+        markup: "VVVVVVVVVVIIIIIIIIIII",
         cursor: 21,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/etc/passwd\' is not a directory',
+        current: "p1",
+        status: "ERROR",
+        message: "'/etc/passwd' is not a directory",
         args: {
-          command: { name: 'tsfile cd' },
+          command: { name: "tsfile cd" },
           p1: {
             value: undefined,
-            arg: ' /etc/passwd',
-            status: 'INCOMPLETE',
-            message: '\'/etc/passwd\' is not a directory'
+            arg: " /etc/passwd",
+            status: "INCOMPLETE",
+            message: "'/etc/passwd' is not a directory"
           }
         }
       }
     },
     {
-      setup:    'tsfile mkdir /',
+      setup:    "tsfile mkdir /",
       check: {
-        input:  'tsfile mkdir /',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVI',
+        input:  "tsfile mkdir /",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVI",
         cursor: 14,
-        current: 'p1',
-        status: 'ERROR',
-        message: ''/' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "" / " already exists",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
             value: undefined,
-            arg: ' /',
-            status: 'INCOMPLETE',
-            message: '\'/\' already exists'
+            arg: " /",
+            status: "INCOMPLETE",
+            message: "'/' already exists"
           }
         }
       }
     },
     {
-      setup:    'tsfile mkdir /zxcv',
+      setup:    "tsfile mkdir /zxcv",
       check: {
-        input:  'tsfile mkdir /zxcv',
+        input:  "tsfile mkdir /zxcv",
         // hints:                    ' -> /dev/',
-        markup: 'VVVVVVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVVVVVV",
         cursor: 18,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
-            value: '/zxcv',
-            arg: ' /zxcv',
-            status: 'VALID',
-            message: ''
+            value: "/zxcv",
+            arg: " /zxcv",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile mkdir /mach_kernel',
+      setup:    "tsfile mkdir /mach_kernel",
       check: {
-        input:  'tsfile mkdir /mach_kernel',
-        hints:                           '',
-        markup: 'VVVVVVVVVVVVVIIIIIIIIIIII',
+        input:  "tsfile mkdir /mach_kernel",
+        hints:                           "",
+        markup: "VVVVVVVVVVVVVIIIIIIIIIIII",
         cursor: 25,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/mach_kernel\' already exists',
+        current: "p1",
+        status: "ERROR",
+        message: "'/mach_kernel' already exists",
         args: {
-          command: { name: 'tsfile mkdir' },
+          command: { name: "tsfile mkdir" },
           p1: {
             value: undefined,
-            arg: ' /mach_kernel',
-            status: 'INCOMPLETE',
-            message: '\'/mach_kernel\' already exists'
+            arg: " /mach_kernel",
+            status: "INCOMPLETE",
+            message: "'/mach_kernel' already exists"
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile rm /',
+      setup:    "tsfile rm /",
       check: {
-        input:  'tsfile rm /',
-        hints:             '',
-        markup: 'VVVVVVVVVVV',
+        input:  "tsfile rm /",
+        hints:             "",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
-            value: '/',
-            arg: ' /',
-            status: 'VALID',
-            message: ''
+            value: "/",
+            arg: " /",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       skipIf: true,
-      setup:    'tsfile rm /zxcv',
+      setup:    "tsfile rm /zxcv",
       check: {
-        input:  'tsfile rm /zxcv',
+        input:  "tsfile rm /zxcv",
         // hints:                 ' -> /etc/',
-        markup: 'VVVVVVVVVVIIIII',
+        markup: "VVVVVVVVVVIIIII",
         cursor: 15,
-        current: 'p1',
-        status: 'ERROR',
-        message: '\'/zxcv\' doesn\'t exist',
+        current: "p1",
+        status: "ERROR",
+        message: "'/zxcv' doesn't exist",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
             value: undefined,
-            arg: ' /zxcv',
-            status: 'INCOMPLETE',
-            message: '\'/zxcv\' doesn\'t exist'
+            arg: " /zxcv",
+            status: "INCOMPLETE",
+            message: "'/zxcv' doesn't exist"
           }
         }
       }
     },
     {
       skipIf: !local,
-      setup:    'tsfile rm /mach_kernel',
+      setup:    "tsfile rm /mach_kernel",
       check: {
-        input:  'tsfile rm /mach_kernel',
-        hints:                        '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsfile rm /mach_kernel",
+        hints:                        "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVV",
         cursor: 22,
-        current: 'p1',
-        status: 'VALID',
-        message: '',
+        current: "p1",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsfile rm' },
+          command: { name: "tsfile rm" },
           p1: {
-            value: '/mach_kernel',
-            arg: ' /mach_kernel',
-            status: 'VALID',
-            message: ''
+            value: "/mach_kernel",
+            arg: " /mach_kernel",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_fileparser.js
+++ b/devtools/client/commandline/test/browser_gcli_fileparser.js
@@ -9,38 +9,38 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_fileparser.js");
 }
 
 // var assert = require('../testharness/assert');
-var fileparser = require('gcli/util/fileparser');
+var fileparser = require("gcli/util/fileparser");
 
 var local = false;
 
-exports.testGetPredictor = function(options) {
+exports.testGetPredictor = function (options) {
   if (!options.isNode || !local) {
-    assert.log('Skipping tests due to install differences.');
+    assert.log("Skipping tests due to install differences.");
     return;
   }
 
-  var opts = { filetype: 'file', existing: 'yes' };
-  var predictor = fileparser.getPredictor('/usr/locl/bin/nmp', opts);
-  return predictor().then(function(replies) {
+  var opts = { filetype: "file", existing: "yes" };
+  var predictor = fileparser.getPredictor("/usr/locl/bin/nmp", opts);
+  return predictor().then(function (replies) {
     assert.is(replies[0].name,
-              '/usr/local/bin/npm',
-              'predict npm');
+              "/usr/local/bin/npm",
+              "predict npm");
   });
 };
--- a/devtools/client/commandline/test/browser_gcli_filesystem.js
+++ b/devtools/client/commandline/test/browser_gcli_filesystem.js
@@ -9,58 +9,58 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_filesystem.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
-var filesystem = require('gcli/util/filesystem');
+var filesystem = require("gcli/util/filesystem");
 
-exports.testSplit = function(options) {
+exports.testSplit = function (options) {
   if (!options.isNode) {
     return;
   }
 
-  helpers.arrayIs(filesystem.split('', '/'),
-                  [ '.' ],
-                  'split <blank>');
+  helpers.arrayIs(filesystem.split("", "/"),
+                  [ "." ],
+                  "split <blank>");
 
-  helpers.arrayIs(filesystem.split('a', '/'),
-                  [ 'a' ],
-                  'split a');
+  helpers.arrayIs(filesystem.split("a", "/"),
+                  [ "a" ],
+                  "split a");
 
-  helpers.arrayIs(filesystem.split('a/b/c', '/'),
-                  [ 'a', 'b', 'c' ],
-                  'split a/b/c');
+  helpers.arrayIs(filesystem.split("a/b/c", "/"),
+                  [ "a", "b", "c" ],
+                  "split a/b/c");
 
-  helpers.arrayIs(filesystem.split('/a/b/c/', '/'),
-                  [ 'a', 'b', 'c' ],
-                  'split a/b/c');
+  helpers.arrayIs(filesystem.split("/a/b/c/", "/"),
+                  [ "a", "b", "c" ],
+                  "split a/b/c");
 
-  helpers.arrayIs(filesystem.split('/a/b///c/', '/'),
-                  [ 'a', 'b', 'c' ],
-                  'split a/b/c');
+  helpers.arrayIs(filesystem.split("/a/b///c/", "/"),
+                  [ "a", "b", "c" ],
+                  "split a/b/c");
 };
 
-exports.testJoin = function(options) {
+exports.testJoin = function (options) {
   if (!options.isNode) {
     return;
   }
 
-  assert.is(filesystem.join('usr', 'local', 'bin'),
-            'usr/local/bin',
-            'join to usr/local/bin');
+  assert.is(filesystem.join("usr", "local", "bin"),
+            "usr/local/bin",
+            "join to usr/local/bin");
 };
--- a/devtools/client/commandline/test/browser_gcli_focus.js
+++ b/devtools/client/commandline/test/browser_gcli_focus.js
@@ -9,59 +9,59 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_focus.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
-      name: 'exec setup',
-      setup: function() {
+      name: "exec setup",
+      setup: function () {
         // Just check that we've got focus, and everything is clear
         helpers.focusInput(options);
-        return helpers.setInput(options, 'echo hi');
+        return helpers.setInput(options, "echo hi");
       },
       check: { },
       exec: { }
     },
     {
-      setup:    'tsn deep',
+      setup:    "tsn deep",
       check: {
-        input:  'tsn deep',
-        hints:          ' down nested cmd',
-        markup: 'IIIVIIII',
+        input:  "tsn deep",
+        hints:          " down nested cmd",
+        markup: "IIIVIIII",
         cursor: 8,
-        status: 'ERROR',
-        outputState: 'false:default',
-        tooltipState: 'false:default'
+        status: "ERROR",
+        outputState: "false:default",
+        tooltipState: "false:default"
       }
     },
     {
-      setup:    'tsn deep<TAB>',
+      setup:    "tsn deep<TAB>",
       check: {
-        input:  'tsn deep down nested cmd ',
-        hints:                           '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tsn deep down nested cmd ",
+        hints:                           "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 25,
-        status: 'VALID',
-        outputState: 'false:default',
-        tooltipState: 'false:default'
+        status: "VALID",
+        outputState: "false:default",
+        tooltipState: "false:default"
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_history.js
+++ b/devtools/client/commandline/test/browser_gcli_history.js
@@ -9,64 +9,64 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_history.js");
 }
 
 // var assert = require('../testharness/assert');
-var History = require('gcli/ui/history').History;
+var History = require("gcli/ui/history").History;
 
 exports.testSimpleHistory = function (options) {
   var history = new History({});
-  history.add('foo');
-  history.add('bar');
-  assert.is(history.backward(), 'bar');
-  assert.is(history.backward(), 'foo');
+  history.add("foo");
+  history.add("bar");
+  assert.is(history.backward(), "bar");
+  assert.is(history.backward(), "foo");
 
   // Adding to the history again moves us back to the start of the history.
-  history.add('quux');
-  assert.is(history.backward(), 'quux');
-  assert.is(history.backward(), 'bar');
-  assert.is(history.backward(), 'foo');
+  history.add("quux");
+  assert.is(history.backward(), "quux");
+  assert.is(history.backward(), "bar");
+  assert.is(history.backward(), "foo");
 };
 
 exports.testBackwardsPastIndex = function (options) {
   var history = new History({});
-  history.add('foo');
-  history.add('bar');
-  assert.is(history.backward(), 'bar');
-  assert.is(history.backward(), 'foo');
+  history.add("foo");
+  history.add("bar");
+  assert.is(history.backward(), "bar");
+  assert.is(history.backward(), "foo");
 
   // Moving backwards past recorded history just keeps giving you the last
   // item.
-  assert.is(history.backward(), 'foo');
+  assert.is(history.backward(), "foo");
 };
 
 exports.testForwardsPastIndex = function (options) {
   var history = new History({});
-  history.add('foo');
-  history.add('bar');
-  assert.is(history.backward(), 'bar');
-  assert.is(history.backward(), 'foo');
+  history.add("foo");
+  history.add("bar");
+  assert.is(history.backward(), "bar");
+  assert.is(history.backward(), "foo");
 
   // Going forward through the history again.
-  assert.is(history.forward(), 'bar');
+  assert.is(history.forward(), "bar");
 
   // 'Present' time.
-  assert.is(history.forward(), '');
+  assert.is(history.forward(), "");
 
   // Going to the 'future' just keeps giving us the empty string.
-  assert.is(history.forward(), '');
+  assert.is(history.forward(), "");
 };
--- a/devtools/client/commandline/test/browser_gcli_incomplete.js
+++ b/devtools/client/commandline/test/browser_gcli_incomplete.js
@@ -9,431 +9,431 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_incomplete.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsu 2 extra',
+      setup: "tsu 2 extra",
       check: {
         args: {
-          num: { value: 2, type: 'Argument' }
+          num: { value: 2, type: "Argument" }
         }
       },
-      post: function() {
+      post: function () {
         var requisition = options.requisition;
 
         assert.is(requisition._unassigned.length,
                   1,
-                  'single unassigned: tsu 2 extra');
+                  "single unassigned: tsu 2 extra");
         assert.is(requisition._unassigned[0].param.type.isIncompleteName,
                   false,
-                  'unassigned.isIncompleteName: tsu 2 extra');
+                  "unassigned.isIncompleteName: tsu 2 extra");
       }
     },
     {
-      setup: 'tsu',
+      setup: "tsu",
       check: {
         args: {
-          num: { value: undefined, type: 'BlankArgument' }
+          num: { value: undefined, type: "BlankArgument" }
         }
       }
     },
     {
-      setup: 'tsg',
+      setup: "tsg",
       check: {
         args: {
-          solo: { type: 'BlankArgument' },
-          txt1: { type: 'BlankArgument' },
-          bool: { type: 'BlankArgument' },
-          txt2: { type: 'BlankArgument' },
-          num: { type: 'BlankArgument' }
+          solo: { type: "BlankArgument" },
+          txt1: { type: "BlankArgument" },
+          bool: { type: "BlankArgument" },
+          txt2: { type: "BlankArgument" },
+          num: { type: "BlankArgument" }
         }
       }
     }
   ]);
 };
 
-exports.testCompleted = function(options) {
+exports.testCompleted = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsela<TAB>',
+      setup: "tsela<TAB>",
       check: {
         args: {
-          command: { name: 'tselarr', type: 'Argument' },
-          num: { type: 'BlankArgument' },
-          arr: { type: 'ArrayArgument' }
+          command: { name: "tselarr", type: "Argument" },
+          num: { type: "BlankArgument" },
+          arr: { type: "ArrayArgument" }
         }
       }
     },
     {
-      setup:    'tsn dif ',
+      setup:    "tsn dif ",
       check: {
-        input:  'tsn dif ',
-        hints:          '<text>',
-        markup: 'VVVVVVVV',
+        input:  "tsn dif ",
+        hints:          "<text>",
+        markup: "VVVVVVVV",
         cursor: 8,
-        status: 'ERROR',
+        status: "ERROR",
         args: {
-          command: { name: 'tsn dif', type: 'MergedArgument' },
-          text: { type: 'BlankArgument', status: 'INCOMPLETE' }
+          command: { name: "tsn dif", type: "MergedArgument" },
+          text: { type: "BlankArgument", status: "INCOMPLETE" }
         }
       }
     },
     {
-      setup:    'tsn di<TAB>',
+      setup:    "tsn di<TAB>",
       check: {
-        input:  'tsn dif ',
-        hints:          '<text>',
-        markup: 'VVVVVVVV',
+        input:  "tsn dif ",
+        hints:          "<text>",
+        markup: "VVVVVVVV",
         cursor: 8,
-        status: 'ERROR',
+        status: "ERROR",
         args: {
-          command: { name: 'tsn dif', type: 'Argument' },
-          text: { type: 'BlankArgument', status: 'INCOMPLETE' }
+          command: { name: "tsn dif", type: "Argument" },
+          text: { type: "BlankArgument", status: "INCOMPLETE" }
         }
       }
     },
     // The above 2 tests take different routes to 'tsn dif '.
     // The results should be similar. The difference is in args.command.type.
     {
-      setup:    'tsg -',
+      setup:    "tsg -",
       check: {
-        input:  'tsg -',
-        hints:       '-txt1 <solo> [options]',
-        markup: 'VVVVI',
+        input:  "tsg -",
+        hints:       "-txt1 <solo> [options]",
+        markup: "VVVVI",
         cursor: 5,
-        status: 'ERROR',
+        status: "ERROR",
         args: {
-          solo: { value: undefined, status: 'INCOMPLETE' },
-          txt1: { value: undefined, status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          txt2: { value: undefined, status: 'VALID' },
-          num: { value: undefined, status: 'VALID' }
+          solo: { value: undefined, status: "INCOMPLETE" },
+          txt1: { value: undefined, status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          txt2: { value: undefined, status: "VALID" },
+          num: { value: undefined, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tsg -<TAB>',
+      setup:    "tsg -<TAB>",
       check: {
-        input:  'tsg --txt1 ',
-        hints:             '<string> <solo> [options]',
-        markup: 'VVVVIIIIIIV',
+        input:  "tsg --txt1 ",
+        hints:             "<string> <solo> [options]",
+        markup: "VVVVIIIIIIV",
         cursor: 11,
-        status: 'ERROR',
+        status: "ERROR",
         args: {
-          solo: { value: undefined, status: 'INCOMPLETE' },
-          txt1: { value: undefined, status: 'INCOMPLETE' },
-          bool: { value: false, status: 'VALID' },
-          txt2: { value: undefined, status: 'VALID' },
-          num: { value: undefined, status: 'VALID' }
+          solo: { value: undefined, status: "INCOMPLETE" },
+          txt1: { value: undefined, status: "INCOMPLETE" },
+          bool: { value: false, status: "VALID" },
+          txt2: { value: undefined, status: "VALID" },
+          num: { value: undefined, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tsg --txt1 fred',
+      setup:    "tsg --txt1 fred",
       check: {
-        input:  'tsg --txt1 fred',
-        hints:                 ' <solo> [options]',
-        markup: 'VVVVVVVVVVVVVVV',
-        status: 'ERROR',
+        input:  "tsg --txt1 fred",
+        hints:                 " <solo> [options]",
+        markup: "VVVVVVVVVVVVVVV",
+        status: "ERROR",
         args: {
-          solo: { value: undefined, status: 'INCOMPLETE' },
-          txt1: { value: 'fred', status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          txt2: { value: undefined, status: 'VALID' },
-          num: { value: undefined, status: 'VALID' }
+          solo: { value: undefined, status: "INCOMPLETE" },
+          txt1: { value: "fred", status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          txt2: { value: undefined, status: "VALID" },
+          num: { value: undefined, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tscook key value --path path --',
+      setup:    "tscook key value --path path --",
       check: {
-        input:  'tscook key value --path path --',
-        hints:                                 'domain [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVII',
-        status: 'ERROR',
+        input:  "tscook key value --path path --",
+        hints:                                 "domain [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVII",
+        status: "ERROR",
         args: {
-          key: { value: 'key', status: 'VALID' },
-          value: { value: 'value', status: 'VALID' },
-          path: { value: 'path', status: 'VALID' },
-          domain: { value: undefined, status: 'VALID' },
-          secure: { value: false, status: 'VALID' }
+          key: { value: "key", status: "VALID" },
+          value: { value: "value", status: "VALID" },
+          path: { value: "path", status: "VALID" },
+          domain: { value: undefined, status: "VALID" },
+          secure: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tscook key value --path path --domain domain --',
+      setup:    "tscook key value --path path --domain domain --",
       check: {
-        input:  'tscook key value --path path --domain domain --',
-        hints:                                                 'secure [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVII',
-        status: 'ERROR',
+        input:  "tscook key value --path path --domain domain --",
+        hints:                                                 "secure [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVII",
+        status: "ERROR",
         args: {
-          key: { value: 'key', status: 'VALID' },
-          value: { value: 'value', status: 'VALID' },
-          path: { value: 'path', status: 'VALID' },
-          domain: { value: 'domain', status: 'VALID' },
-          secure: { value: false, status: 'VALID' }
+          key: { value: "key", status: "VALID" },
+          value: { value: "value", status: "VALID" },
+          path: { value: "path", status: "VALID" },
+          domain: { value: "domain", status: "VALID" },
+          secure: { value: false, status: "VALID" }
         }
       }
     }
   ]);
 
 };
 
-exports.testCase = function(options) {
+exports.testCase = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsg AA',
+      setup:    "tsg AA",
       check: {
-        input:  'tsg AA',
-        hints:        ' [options] -> aaa',
-        markup: 'VVVVII',
-        status: 'ERROR',
+        input:  "tsg AA",
+        hints:        " [options] -> aaa",
+        markup: "VVVVII",
+        status: "ERROR",
         args: {
-          solo: { value: undefined, text: 'AA', status: 'INCOMPLETE' },
-          txt1: { value: undefined, status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          txt2: { value: undefined, status: 'VALID' },
-          num: { value: undefined, status: 'VALID' }
+          solo: { value: undefined, text: "AA", status: "INCOMPLETE" },
+          txt1: { value: undefined, status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          txt2: { value: undefined, status: "VALID" },
+          num: { value: undefined, status: "VALID" }
         }
       }
     }
   ]);
 };
 
-exports.testIncomplete = function(options) {
+exports.testIncomplete = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsm a a -',
+      setup:    "tsm a a -",
       check: {
         args: {
-          abc: { value: 'a', type: 'Argument' },
-          txt: { value: 'a', type: 'Argument' },
-          num: { value: undefined, arg: ' -', type: 'Argument', status: 'INCOMPLETE' }
+          abc: { value: "a", type: "Argument" },
+          txt: { value: "a", type: "Argument" },
+          num: { value: undefined, arg: " -", type: "Argument", status: "INCOMPLETE" }
         }
       }
     },
     {
-      setup:    'tsg -',
+      setup:    "tsg -",
       check: {
         args: {
-          solo: { type: 'BlankArgument' },
-          txt1: { type: 'BlankArgument' },
-          bool: { type: 'BlankArgument' },
-          txt2: { type: 'BlankArgument' },
-          num: { type: 'BlankArgument' }
+          solo: { type: "BlankArgument" },
+          txt1: { type: "BlankArgument" },
+          bool: { type: "BlankArgument" },
+          txt2: { type: "BlankArgument" },
+          num: { type: "BlankArgument" }
         }
       },
-      post: function() {
+      post: function () {
         var requisition = options.requisition;
 
         assert.is(requisition._unassigned[0],
                   requisition.getAssignmentAt(5),
-                  'unassigned -');
+                  "unassigned -");
         assert.is(requisition._unassigned.length,
                   1,
-                  'single unassigned - tsg -');
+                  "single unassigned - tsg -");
         assert.is(requisition._unassigned[0].param.type.isIncompleteName,
                   true,
-                  'unassigned.isIncompleteName: tsg -');
+                  "unassigned.isIncompleteName: tsg -");
       }
     }
   ]);
 };
 
-exports.testRepeated = function(options) {
+exports.testRepeated = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tscook key value --path jjj --path kkk',
+      setup:    "tscook key value --path jjj --path kkk",
       check: {
-        input:  'tscook key value --path jjj --path kkk',
-        hints:                                        ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVEEEEEEVEEE',
+        input:  "tscook key value --path jjj --path kkk",
+        hints:                                        " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVEEEEEEVEEE",
         cursor: 38,
-        current: '__unassigned',
-        status: 'ERROR',
+        current: "__unassigned",
+        status: "ERROR",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
-        unassigned: [ ' --path', ' kkk' ],
+        unassigned: [ " --path", " kkk" ],
         args: {
-          command: { name: 'tscook' },
+          command: { name: "tscook" },
           key: {
-            value: 'key',
-            arg: ' key',
-            status: 'VALID',
-            message: ''
+            value: "key",
+            arg: " key",
+            status: "VALID",
+            message: ""
           },
           value: {
-            value: 'value',
-            arg: ' value',
-            status: 'VALID',
-            message: ''
+            value: "value",
+            arg: " value",
+            status: "VALID",
+            message: ""
           },
           path: {
-            value: 'jjj',
-            arg: ' --path jjj',
-            status: 'VALID',
-            message: ''
+            value: "jjj",
+            arg: " --path jjj",
+            status: "VALID",
+            message: ""
           },
           domain: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           secure: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
         }
       }
     }
   ]);
 };
 
-exports.testHidden = function(options) {
+exports.testHidden = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tshidde',
+      setup:    "tshidde",
       check: {
-        input:  'tshidde',
-        hints:         ' -> tse',
-        status: 'ERROR'
+        input:  "tshidde",
+        hints:         " -> tse",
+        status: "ERROR"
       }
     },
     {
-      setup:    'tshidden',
+      setup:    "tshidden",
       check: {
-        input:  'tshidden',
-        hints:          ' [options]',
-        markup: 'VVVVVVVV',
-        status: 'VALID',
+        input:  "tshidden",
+        hints:          " [options]",
+        markup: "VVVVVVVV",
+        status: "VALID",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --vis',
+      setup:    "tshidden --vis",
       check: {
-        input:  'tshidden --vis',
-        hints:                'ible [options]',
-        markup: 'VVVVVVVVVIIIII',
-        status: 'ERROR',
+        input:  "tshidden --vis",
+        hints:                "ible [options]",
+        markup: "VVVVVVVVVIIIII",
+        status: "ERROR",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --invisiblestrin',
+      setup:    "tshidden --invisiblestrin",
       check: {
-        input:  'tshidden --invisiblestrin',
-        hints:                           ' [options]',
-        markup: 'VVVVVVVVVEEEEEEEEEEEEEEEE',
-        status: 'ERROR',
+        input:  "tshidden --invisiblestrin",
+        hints:                           " [options]",
+        markup: "VVVVVVVVVEEEEEEEEEEEEEEEE",
+        status: "ERROR",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --invisiblestring',
+      setup:    "tshidden --invisiblestring",
       check: {
-        input:  'tshidden --invisiblestring',
-        hints:                            ' <string> [options]',
-        markup: 'VVVVVVVVVIIIIIIIIIIIIIIIII',
-        status: 'ERROR',
+        input:  "tshidden --invisiblestring",
+        hints:                            " <string> [options]",
+        markup: "VVVVVVVVVIIIIIIIIIIIIIIIII",
+        status: "ERROR",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'INCOMPLETE' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "INCOMPLETE" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --invisiblestring x',
+      setup:    "tshidden --invisiblestring x",
       check: {
-        input:  'tshidden --invisiblestring x',
-        hints:                              ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "tshidden --invisiblestring x",
+        hints:                              " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: 'x', status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: "x", status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --invisibleboolea',
+      setup:    "tshidden --invisibleboolea",
       check: {
-        input:  'tshidden --invisibleboolea',
-        hints:                            ' [options]',
-        markup: 'VVVVVVVVVEEEEEEEEEEEEEEEEE',
-        status: 'ERROR',
+        input:  "tshidden --invisibleboolea",
+        hints:                            " [options]",
+        markup: "VVVVVVVVVEEEEEEEEEEEEEEEEE",
+        status: "ERROR",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --invisibleboolean',
+      setup:    "tshidden --invisibleboolean",
       check: {
-        input:  'tshidden --invisibleboolean',
-        hints:                             ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
+        input:  "tshidden --invisibleboolean",
+        hints:                             " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
         args: {
-          visible: { value: undefined, status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: true, status: 'VALID' }
+          visible: { value: undefined, status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: true, status: "VALID" }
         }
       }
     },
     {
-      setup:    'tshidden --visible xxx',
+      setup:    "tshidden --visible xxx",
       check: {
-        input:  'tshidden --visible xxx',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        hints:  '',
+        input:  "tshidden --visible xxx",
+        markup: "VVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        hints:  "",
         args: {
-          visible: { value: 'xxx', status: 'VALID' },
-          invisiblestring: { value: undefined, status: 'VALID' },
-          invisibleboolean: { value: false, status: 'VALID' }
+          visible: { value: "xxx", status: "VALID" },
+          invisiblestring: { value: undefined, status: "VALID" },
+          invisibleboolean: { value: false, status: "VALID" }
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_inputter.js
+++ b/devtools/client/commandline/test/browser_gcli_inputter.js
@@ -9,89 +9,89 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_inputter.js");
 }
 
 // var assert = require('../testharness/assert');
-var KeyEvent = require('gcli/util/util').KeyEvent;
+var KeyEvent = require("gcli/util/util").KeyEvent;
 
 var latestEvent;
 var latestData;
 
-var outputted = function(ev) {
+var outputted = function (ev) {
   latestEvent = ev;
 
-  ev.output.promise.then(function() {
+  ev.output.promise.then(function () {
     latestData = ev.output.data;
   });
 };
 
 
-exports.setup = function(options) {
+exports.setup = function (options) {
   options.requisition.commandOutputManager.onOutput.add(outputted);
 };
 
-exports.shutdown = function(options) {
+exports.shutdown = function (options) {
   options.requisition.commandOutputManager.onOutput.remove(outputted);
 };
 
-exports.testOutput = function(options) {
+exports.testOutput = function (options) {
   latestEvent = undefined;
   latestData = undefined;
 
   var terminal = options.terminal;
   if (!terminal) {
-    assert.log('Skipping testInputter.testOutput due to lack of terminal.');
+    assert.log("Skipping testInputter.testOutput due to lack of terminal.");
     return;
   }
 
   var focusManager = terminal.focusManager;
 
-  terminal.setInput('tss');
+  terminal.setInput("tss");
 
   var ev0 = { keyCode: KeyEvent.DOM_VK_RETURN };
   terminal.onKeyDown(ev0);
 
   assert.is(terminal.getInputState().typed,
-            'tss',
-            'terminal should do nothing on RETURN keyDown');
-  assert.is(latestEvent, undefined, 'no events this test');
-  assert.is(latestData, undefined, 'no data this test');
+            "tss",
+            "terminal should do nothing on RETURN keyDown");
+  assert.is(latestEvent, undefined, "no events this test");
+  assert.is(latestData, undefined, "no data this test");
 
   var ev1 = { keyCode: KeyEvent.DOM_VK_RETURN };
-  return terminal.handleKeyUp(ev1).then(function() {
-    assert.ok(latestEvent != null, 'events this test');
-    assert.is(latestData.name, 'tss', 'last command is tss');
+  return terminal.handleKeyUp(ev1).then(function () {
+    assert.ok(latestEvent != null, "events this test");
+    assert.is(latestData.name, "tss", "last command is tss");
 
     assert.is(terminal.getInputState().typed,
-              '',
-              'terminal should exec on RETURN keyUp');
+              "",
+              "terminal should exec on RETURN keyUp");
 
-    assert.ok(focusManager._recentOutput, 'recent output happened');
+    assert.ok(focusManager._recentOutput, "recent output happened");
 
     var ev2 = { keyCode: KeyEvent.DOM_VK_F1 };
-    return terminal.handleKeyUp(ev2).then(function() {
-      assert.ok(!focusManager._recentOutput, 'no recent output happened post F1');
-      assert.ok(focusManager._helpRequested, 'F1 = help');
+    return terminal.handleKeyUp(ev2).then(function () {
+      assert.ok(!focusManager._recentOutput, "no recent output happened post F1");
+      assert.ok(focusManager._helpRequested, "F1 = help");
 
       var ev3 = { keyCode: KeyEvent.DOM_VK_ESCAPE };
-      return terminal.handleKeyUp(ev3).then(function() {
-        assert.ok(!focusManager._helpRequested, 'ESCAPE = anti help');
+      return terminal.handleKeyUp(ev3).then(function () {
+        assert.ok(!focusManager._helpRequested, "ESCAPE = anti help");
       });
     });
 
   });
 };
--- a/devtools/client/commandline/test/browser_gcli_intro.js
+++ b/devtools/client/commandline/test/browser_gcli_intro.js
@@ -9,59 +9,59 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_intro.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testIntroStatus = function(options) {
+exports.testIntroStatus = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: function commandIntroMissing() {
-        return options.requisition.system.commands.get('intro') == null;
+        return options.requisition.system.commands.get("intro") == null;
       },
-      setup:    'intro',
+      setup:    "intro",
       check: {
-        typed:  'intro',
-        markup: 'VVVVV',
-        status: 'VALID',
-        hints: ''
+        typed:  "intro",
+        markup: "VVVVV",
+        status: "VALID",
+        hints: ""
       }
     },
     {
-      setup:    'intro foo',
+      setup:    "intro foo",
       check: {
-        typed:  'intro foo',
-        markup: 'VVVVVVEEE',
-        status: 'ERROR',
-        hints: ''
+        typed:  "intro foo",
+        markup: "VVVVVVEEE",
+        status: "ERROR",
+        hints: ""
       }
     },
     {
-      setup:    'intro',
+      setup:    "intro",
       check: {
-        typed:  'intro',
-        markup: 'VVVVV',
-        status: 'VALID',
-        hints: ''
+        typed:  "intro",
+        markup: "VVVVV",
+        status: "VALID",
+        hints: ""
       },
       exec: {
         output: [
           /command\s*line/,
           /help/,
           /F1/,
           /Escape/
         ]
--- a/devtools/client/commandline/test/browser_gcli_js.js
+++ b/devtools/client/commandline/test/browser_gcli_js.js
@@ -9,374 +9,374 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_js.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.setup = function(options) {
+exports.setup = function (options) {
   if (jsTestDisallowed(options)) {
     return;
   }
 
   // Check that we're not trespassing on 'donteval'
   var win = options.requisition.environment.window;
-  Object.defineProperty(win, 'donteval', {
-    get: function() {
-      assert.ok(false, 'donteval should not be used');
+  Object.defineProperty(win, "donteval", {
+    get: function () {
+      assert.ok(false, "donteval should not be used");
       console.trace();
-      return { cant: '', touch: '', 'this': '' };
+      return { cant: "", touch: "", "this": "" };
     },
     enumerable: true,
     configurable: true
   });
 };
 
-exports.shutdown = function(options) {
+exports.shutdown = function (options) {
   if (jsTestDisallowed(options)) {
     return;
   }
 
   delete options.requisition.environment.window.donteval;
 };
 
 function jsTestDisallowed(options) {
   return options.isRemote || // Altering the environment (which isn't remoted)
          options.isNode ||
-         options.requisition.system.commands.get('{') == null;
+         options.requisition.system.commands.get("{") == null;
 }
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: jsTestDisallowed,
-      setup:    '{',
+      setup:    "{",
       check: {
-        input:  '{',
-        hints:   '',
-        markup: 'V',
+        input:  "{",
+        hints:   "",
+        markup: "V",
         cursor: 1,
-        current: 'javascript',
-        status: 'ERROR',
+        current: "javascript",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
             value: undefined,
-            arg: '{',
-            status: 'INCOMPLETE'
+            arg: "{",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ ',
+      setup:    "{ ",
       check: {
-        input:  '{ ',
-        hints:    '',
-        markup: 'VV',
+        input:  "{ ",
+        hints:    "",
+        markup: "VV",
         cursor: 2,
-        current: 'javascript',
-        status: 'ERROR',
+        current: "javascript",
+        status: "ERROR",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
             value: undefined,
-            arg: '{ ',
-            status: 'INCOMPLETE'
+            arg: "{ ",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ w',
+      setup:    "{ w",
       check: {
-        input:  '{ w',
-        hints:     'indow',
-        markup: 'VVI',
+        input:  "{ w",
+        hints:     "indow",
+        markup: "VVI",
         cursor: 3,
-        current: 'javascript',
-        status: 'ERROR',
-        predictionsContains: [ 'window' ],
+        current: "javascript",
+        status: "ERROR",
+        predictionsContains: [ "window" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'w',
-            arg: '{ w',
-            status: 'INCOMPLETE'
+            value: "w",
+            arg: "{ w",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ windo',
+      setup:    "{ windo",
       check: {
-        input:  '{ windo',
-        hints:         'w',
-        markup: 'VVIIIII',
+        input:  "{ windo",
+        hints:         "w",
+        markup: "VVIIIII",
         cursor: 7,
-        current: 'javascript',
-        status: 'ERROR',
-        predictions: [ 'window' ],
+        current: "javascript",
+        status: "ERROR",
+        predictions: [ "window" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'windo',
-            arg: '{ windo',
-            status: 'INCOMPLETE'
+            value: "windo",
+            arg: "{ windo",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ window',
+      setup:    "{ window",
       check: {
-        input:  '{ window',
-        hints:          '',
-        markup: 'VVVVVVVV',
+        input:  "{ window",
+        hints:          "",
+        markup: "VVVVVVVV",
         cursor: 8,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'window',
-            arg: '{ window',
-            status: 'VALID',
-            message: ''
+            value: "window",
+            arg: "{ window",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    '{ window.do',
+      setup:    "{ window.do",
       check: {
-        input:  '{ window.do',
-        hints:             'cument',
-        markup: 'VVIIIIIIIII',
+        input:  "{ window.do",
+        hints:             "cument",
+        markup: "VVIIIIIIIII",
         cursor: 11,
-        current: 'javascript',
-        status: 'ERROR',
-        predictionsContains: [ 'window.document' ],
+        current: "javascript",
+        status: "ERROR",
+        predictionsContains: [ "window.document" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'window.do',
-            arg: '{ window.do',
-            status: 'INCOMPLETE'
+            value: "window.do",
+            arg: "{ window.do",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ window.document.title',
+      setup:    "{ window.document.title",
       check: {
-        input:  '{ window.document.title',
-        hints:                         '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "{ window.document.title",
+        hints:                         "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 23,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'window.document.title',
-            arg: '{ window.document.title',
-            status: 'VALID',
-            message: ''
+            value: "window.document.title",
+            arg: "{ window.document.title",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testDocument = function(options) {
+exports.testDocument = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: jsTestDisallowed,
-      setup:    '{ docu',
+      setup:    "{ docu",
       check: {
-        input:  '{ docu',
-        hints:        'ment',
-        markup: 'VVIIII',
+        input:  "{ docu",
+        hints:        "ment",
+        markup: "VVIIII",
         cursor: 6,
-        current: 'javascript',
-        status: 'ERROR',
-        predictions: [ 'document' ],
+        current: "javascript",
+        status: "ERROR",
+        predictions: [ "document" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'docu',
-            arg: '{ docu',
-            status: 'INCOMPLETE'
+            value: "docu",
+            arg: "{ docu",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup: '{ docu<TAB>',
+      setup: "{ docu<TAB>",
       check: {
-        input:  '{ document',
-        hints:            '',
-        markup: 'VVVVVVVVVV',
+        input:  "{ document",
+        hints:            "",
+        markup: "VVVVVVVVVV",
         cursor: 10,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'document',
-            arg: '{ document',
-            status: 'VALID',
-            message: ''
+            value: "document",
+            arg: "{ document",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    '{ document.titl',
+      setup:    "{ document.titl",
       check: {
-        input:  '{ document.titl',
-        hints:                 'e',
-        markup: 'VVIIIIIIIIIIIII',
+        input:  "{ document.titl",
+        hints:                 "e",
+        markup: "VVIIIIIIIIIIIII",
         cursor: 15,
-        current: 'javascript',
-        status: 'ERROR',
-        predictions: [ 'document.title' ],
+        current: "javascript",
+        status: "ERROR",
+        predictions: [ "document.title" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'document.titl',
-            arg: '{ document.titl',
-            status: 'INCOMPLETE'
+            value: "document.titl",
+            arg: "{ document.titl",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup: '{ document.titl<TAB>',
+      setup: "{ document.titl<TAB>",
       check: {
-        input:  '{ document.title ',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        input:  "{ document.title ",
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'document.title',
+            value: "document.title",
             // arg: '{ document.title ',
             // Node/JSDom gets this wrong and omits the trailing space. Why?
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    '{ document.title',
+      setup:    "{ document.title",
       check: {
-        input:  '{ document.title',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
+        input:  "{ document.title",
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
         cursor: 16,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'document.title',
-            arg: '{ document.title',
-            status: 'VALID',
-            message: ''
+            value: "document.title",
+            arg: "{ document.title",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testDonteval = function(options) {
+exports.testDonteval = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: true, // Commented out until we fix non-enumerable props
-      setup:    '{ don',
+      setup:    "{ don",
       check: {
-        input:  '{ don',
-        hints:       'teval',
-        markup: 'VVIII',
+        input:  "{ don",
+        hints:       "teval",
+        markup: "VVIII",
         cursor: 5,
-        current: 'javascript',
-        status: 'ERROR',
-        predictions: [ 'donteval' ],
+        current: "javascript",
+        status: "ERROR",
+        predictions: [ "donteval" ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'don',
-            arg: '{ don',
-            status: 'INCOMPLETE'
+            value: "don",
+            arg: "{ don",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    '{ donteval',
+      setup:    "{ donteval",
       check: {
-        input:  '{ donteval',
-        hints:            '',
-        markup: 'VVVVVVVVVV',
+        input:  "{ donteval",
+        hints:            "",
+        markup: "VVVVVVVVVV",
         cursor: 10,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'donteval',
-            arg: '{ donteval',
-            status: 'VALID',
-            message: ''
+            value: "donteval",
+            arg: "{ donteval",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     /*
     // This is a controversial test - technically we can tell that it's an error
     // because 'donteval.' is a syntax error, however donteval is unsafe so we
     // are playing safe by bailing out early. It's enough of a corner case that
@@ -400,171 +400,171 @@ exports.testDonteval = function(options)
             status: 'VALID',
             message: ''
           }
         }
       }
     },
     */
     {
-      setup:    '{ donteval.cant',
+      setup:    "{ donteval.cant",
       check: {
-        input:  '{ donteval.cant',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVV',
+        input:  "{ donteval.cant",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVV",
         cursor: 15,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'donteval.cant',
-            arg: '{ donteval.cant',
-            status: 'VALID',
-            message: ''
+            value: "donteval.cant",
+            arg: "{ donteval.cant",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    '{ donteval.xxx',
+      setup:    "{ donteval.xxx",
       check: {
-        input:  '{ donteval.xxx',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "{ donteval.xxx",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: '{' },
+          command: { name: "{" },
           javascript: {
-            value: 'donteval.xxx',
-            arg: '{ donteval.xxx',
-            status: 'VALID',
-            message: ''
+            value: "donteval.xxx",
+            arg: "{ donteval.xxx",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testExec = function(options) {
+exports.testExec = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: jsTestDisallowed,
-      setup:    '{ 1+1',
+      setup:    "{ 1+1",
       check: {
-        input:  '{ 1+1',
-        hints:       '',
-        markup: 'VVVVV',
+        input:  "{ 1+1",
+        hints:       "",
+        markup: "VVVVV",
         cursor: 5,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           javascript: {
-            value: '1+1',
-            arg: '{ 1+1',
-            status: 'VALID',
-            message: ''
+            value: "1+1",
+            arg: "{ 1+1",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: '2',
-        type: 'number',
+        output: "2",
+        type: "number",
         error: false
       }
     },
     {
-      setup:    '{ 1+1 }',
+      setup:    "{ 1+1 }",
       check: {
-        input:  '{ 1+1 }',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "{ 1+1 }",
+        hints:         "",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           javascript: {
-            value: '1+1',
-            arg: '{ 1+1 }',
-            status: 'VALID',
-            message: ''
+            value: "1+1",
+            arg: "{ 1+1 }",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: '2',
-        type: 'number',
+        output: "2",
+        type: "number",
         error: false
       }
     },
     {
       setup:    '{ "hello"',
       check: {
         input:  '{ "hello"',
-        hints:           '',
-        markup: 'VVVVVVVVV',
+        hints:           "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           javascript: {
             value: '"hello"',
             arg: '{ "hello"',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'hello',
-        type: 'string',
+        output: "hello",
+        type: "string",
         error: false
       }
     },
     {
       setup:    '{ "hello" + 1',
       check: {
         input:  '{ "hello" + 1',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'javascript',
-        status: 'VALID',
+        current: "javascript",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           javascript: {
             value: '"hello" + 1',
             arg: '{ "hello" + 1',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'hello1',
-        type: 'string',
+        output: "hello1",
+        type: "string",
         error: false
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_keyboard1.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard1.js
@@ -9,64 +9,64 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard1.js");
 }
 
-var javascript = require('gcli/types/javascript');
+var javascript = require("gcli/types/javascript");
 // var helpers = require('./helpers');
 
-exports.testSimple = function(options) {
+exports.testSimple = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsela<TAB>',
-      check: { input: 'tselarr ', cursor: 8 }
+      setup: "tsela<TAB>",
+      check: { input: "tselarr ", cursor: 8 }
     },
     {
-      setup: 'tsn di<TAB>',
-      check: { input: 'tsn dif ', cursor: 8 }
+      setup: "tsn di<TAB>",
+      check: { input: "tsn dif ", cursor: 8 }
     },
     {
-      setup: 'tsg a<TAB>',
-      check: { input: 'tsg aaa ', cursor: 8 }
+      setup: "tsg a<TAB>",
+      check: { input: "tsg aaa ", cursor: 8 }
     }
   ]);
 };
 
-exports.testScript = function(options) {
+exports.testScript = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: options.isRemote ||
-              options.requisition.system.commands.get('{') == null,
-      setup: '{ wind<TAB>',
-      check: { input: '{ window' }
+              options.requisition.system.commands.get("{") == null,
+      setup: "{ wind<TAB>",
+      check: { input: "{ window" }
     },
     {
-      setup: '{ window.docum<TAB>',
-      check: { input: '{ window.document' }
+      setup: "{ window.docum<TAB>",
+      check: { input: "{ window.document" }
     }
   ]);
 };
 
-exports.testJsdom = function(options) {
+exports.testJsdom = function (options) {
   return helpers.audit(options, [
     {
       skipIf: options.isRemote ||
-              options.requisition.system.commands.get('{') == null,
-      setup: '{ window.document.titl<TAB>',
-      check: { input: '{ window.document.title ' }
+              options.requisition.system.commands.get("{") == null,
+      setup: "{ window.document.titl<TAB>",
+      check: { input: "{ window.document.title " }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_keyboard2.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard2.js
@@ -9,30 +9,30 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard2.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testIncr = function(options) {
+exports.testIncr = function (options) {
   return helpers.audit(options, [
     /*
     // We currently refuse to increment/decrement things with a non-valid
     // status which makes sense for many cases, and is a decent default.
     // However in theory we could do better, these tests are there for then
     {
       setup: 'tsu -70<UP>',
       check: { input: 'tsu -5' }
@@ -42,78 +42,78 @@ exports.testIncr = function(options) {
       check: { input: 'tsu -5' }
     },
     {
       setup: 'tsu -6<UP>',
       check: { input: 'tsu -5' }
     },
     */
     {
-      setup: 'tsu -5<UP>',
-      check: { input: 'tsu -3' }
+      setup: "tsu -5<UP>",
+      check: { input: "tsu -3" }
     },
     {
-      setup: 'tsu -4<UP>',
-      check: { input: 'tsu -3' }
+      setup: "tsu -4<UP>",
+      check: { input: "tsu -3" }
     },
     {
-      setup: 'tsu -3<UP>',
-      check: { input: 'tsu 0' }
+      setup: "tsu -3<UP>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu -2<UP>',
-      check: { input: 'tsu 0' }
+      setup: "tsu -2<UP>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu -1<UP>',
-      check: { input: 'tsu 0' }
+      setup: "tsu -1<UP>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu 0<UP>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 0<UP>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 1<UP>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 1<UP>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 2<UP>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 2<UP>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 3<UP>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 3<UP>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 4<UP>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 4<UP>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 5<UP>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 5<UP>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 6<UP>',
-      check: { input: 'tsu 9' }
+      setup: "tsu 6<UP>",
+      check: { input: "tsu 9" }
     },
     {
-      setup: 'tsu 7<UP>',
-      check: { input: 'tsu 9' }
+      setup: "tsu 7<UP>",
+      check: { input: "tsu 9" }
     },
     {
-      setup: 'tsu 8<UP>',
-      check: { input: 'tsu 9' }
+      setup: "tsu 8<UP>",
+      check: { input: "tsu 9" }
     },
     {
-      setup: 'tsu 9<UP>',
-      check: { input: 'tsu 10' }
+      setup: "tsu 9<UP>",
+      check: { input: "tsu 10" }
     },
     {
-      setup: 'tsu 10<UP>',
-      check: { input: 'tsu 10' }
+      setup: "tsu 10<UP>",
+      check: { input: "tsu 10" }
     }
     /*
     // See notes above
     {
       setup: 'tsu 100<UP>',
       check: { input: 'tsu 10' }
     }
     */
--- a/devtools/client/commandline/test/browser_gcli_keyboard3.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard3.js
@@ -9,30 +9,30 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard3.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testDecr = function(options) {
+exports.testDecr = function (options) {
   return helpers.audit(options, [
     /*
     // See notes at top of testIncr in testKeyboard2.js
     {
       setup: 'tsu -70<DOWN>',
       check: { input: 'tsu -5' }
     },
     {
@@ -40,78 +40,78 @@ exports.testDecr = function(options) {
       check: { input: 'tsu -5' }
     },
     {
       setup: 'tsu -6<DOWN>',
       check: { input: 'tsu -5' }
     },
     */
     {
-      setup: 'tsu -5<DOWN>',
-      check: { input: 'tsu -5' }
+      setup: "tsu -5<DOWN>",
+      check: { input: "tsu -5" }
     },
     {
-      setup: 'tsu -4<DOWN>',
-      check: { input: 'tsu -5' }
+      setup: "tsu -4<DOWN>",
+      check: { input: "tsu -5" }
     },
     {
-      setup: 'tsu -3<DOWN>',
-      check: { input: 'tsu -5' }
+      setup: "tsu -3<DOWN>",
+      check: { input: "tsu -5" }
     },
     {
-      setup: 'tsu -2<DOWN>',
-      check: { input: 'tsu -3' }
+      setup: "tsu -2<DOWN>",
+      check: { input: "tsu -3" }
     },
     {
-      setup: 'tsu -1<DOWN>',
-      check: { input: 'tsu -3' }
+      setup: "tsu -1<DOWN>",
+      check: { input: "tsu -3" }
     },
     {
-      setup: 'tsu 0<DOWN>',
-      check: { input: 'tsu -3' }
+      setup: "tsu 0<DOWN>",
+      check: { input: "tsu -3" }
     },
     {
-      setup: 'tsu 1<DOWN>',
-      check: { input: 'tsu 0' }
+      setup: "tsu 1<DOWN>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu 2<DOWN>',
-      check: { input: 'tsu 0' }
+      setup: "tsu 2<DOWN>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu 3<DOWN>',
-      check: { input: 'tsu 0' }
+      setup: "tsu 3<DOWN>",
+      check: { input: "tsu 0" }
     },
     {
-      setup: 'tsu 4<DOWN>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 4<DOWN>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 5<DOWN>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 5<DOWN>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 6<DOWN>',
-      check: { input: 'tsu 3' }
+      setup: "tsu 6<DOWN>",
+      check: { input: "tsu 3" }
     },
     {
-      setup: 'tsu 7<DOWN>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 7<DOWN>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 8<DOWN>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 8<DOWN>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 9<DOWN>',
-      check: { input: 'tsu 6' }
+      setup: "tsu 9<DOWN>",
+      check: { input: "tsu 6" }
     },
     {
-      setup: 'tsu 10<DOWN>',
-      check: { input: 'tsu 9' }
+      setup: "tsu 10<DOWN>",
+      check: { input: "tsu 9" }
     }
     /*
     // See notes at top of testIncr
     {
       setup: 'tsu 100<DOWN>',
       check: { input: 'tsu 9' }
     }
     */
--- a/devtools/client/commandline/test/browser_gcli_keyboard4.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard4.js
@@ -9,156 +9,156 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard4.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testIncrFloat = function(options) {
+exports.testIncrFloat = function (options) {
   return helpers.audit(options, [
     /*
     // See notes at top of testIncr
     {
       setup: 'tsf -70<UP>',
       check: { input: 'tsf -6.5' }
     },
     */
     {
-      setup: 'tsf -6.5<UP>',
-      check: { input: 'tsf -6' }
+      setup: "tsf -6.5<UP>",
+      check: { input: "tsf -6" }
     },
     {
-      setup: 'tsf -6<UP>',
-      check: { input: 'tsf -4.5' }
+      setup: "tsf -6<UP>",
+      check: { input: "tsf -4.5" }
     },
     {
-      setup: 'tsf -4.5<UP>',
-      check: { input: 'tsf -3' }
+      setup: "tsf -4.5<UP>",
+      check: { input: "tsf -3" }
     },
     {
-      setup: 'tsf -4<UP>',
-      check: { input: 'tsf -3' }
+      setup: "tsf -4<UP>",
+      check: { input: "tsf -3" }
     },
     {
-      setup: 'tsf -3<UP>',
-      check: { input: 'tsf -1.5' }
+      setup: "tsf -3<UP>",
+      check: { input: "tsf -1.5" }
     },
     {
-      setup: 'tsf -1.5<UP>',
-      check: { input: 'tsf 0' }
+      setup: "tsf -1.5<UP>",
+      check: { input: "tsf 0" }
     },
     {
-      setup: 'tsf 0<UP>',
-      check: { input: 'tsf 1.5' }
+      setup: "tsf 0<UP>",
+      check: { input: "tsf 1.5" }
     },
     {
-      setup: 'tsf 1.5<UP>',
-      check: { input: 'tsf 3' }
+      setup: "tsf 1.5<UP>",
+      check: { input: "tsf 3" }
     },
     {
-      setup: 'tsf 2<UP>',
-      check: { input: 'tsf 3' }
+      setup: "tsf 2<UP>",
+      check: { input: "tsf 3" }
     },
     {
-      setup: 'tsf 3<UP>',
-      check: { input: 'tsf 4.5' }
+      setup: "tsf 3<UP>",
+      check: { input: "tsf 4.5" }
     },
     {
-      setup: 'tsf 5<UP>',
-      check: { input: 'tsf 6' }
+      setup: "tsf 5<UP>",
+      check: { input: "tsf 6" }
     }
     /*
     // See notes at top of testIncr
     {
       setup: 'tsf 100<UP>',
       check: { input: 'tsf -6.5' }
     }
     */
   ]);
 };
 
-exports.testDecrFloat = function(options) {
+exports.testDecrFloat = function (options) {
   return helpers.audit(options, [
     /*
     // See notes at top of testIncr
     {
       setup: 'tsf -70<DOWN>',
       check: { input: 'tsf 11.5' }
     },
     */
     {
-      setup: 'tsf -6.5<DOWN>',
-      check: { input: 'tsf -6.5' }
+      setup: "tsf -6.5<DOWN>",
+      check: { input: "tsf -6.5" }
     },
     {
-      setup: 'tsf -6<DOWN>',
-      check: { input: 'tsf -6.5' }
+      setup: "tsf -6<DOWN>",
+      check: { input: "tsf -6.5" }
     },
     {
-      setup: 'tsf -4.5<DOWN>',
-      check: { input: 'tsf -6' }
+      setup: "tsf -4.5<DOWN>",
+      check: { input: "tsf -6" }
     },
     {
-      setup: 'tsf -4<DOWN>',
-      check: { input: 'tsf -4.5' }
+      setup: "tsf -4<DOWN>",
+      check: { input: "tsf -4.5" }
     },
     {
-      setup: 'tsf -3<DOWN>',
-      check: { input: 'tsf -4.5' }
+      setup: "tsf -3<DOWN>",
+      check: { input: "tsf -4.5" }
     },
     {
-      setup: 'tsf -1.5<DOWN>',
-      check: { input: 'tsf -3' }
+      setup: "tsf -1.5<DOWN>",
+      check: { input: "tsf -3" }
     },
     {
-      setup: 'tsf 0<DOWN>',
-      check: { input: 'tsf -1.5' }
+      setup: "tsf 0<DOWN>",
+      check: { input: "tsf -1.5" }
     },
     {
-      setup: 'tsf 1.5<DOWN>',
-      check: { input: 'tsf 0' }
+      setup: "tsf 1.5<DOWN>",
+      check: { input: "tsf 0" }
     },
     {
-      setup: 'tsf 2<DOWN>',
-      check: { input: 'tsf 1.5' }
+      setup: "tsf 2<DOWN>",
+      check: { input: "tsf 1.5" }
     },
     {
-      setup: 'tsf 3<DOWN>',
-      check: { input: 'tsf 1.5' }
+      setup: "tsf 3<DOWN>",
+      check: { input: "tsf 1.5" }
     },
     {
-      setup: 'tsf 5<DOWN>',
-      check: { input: 'tsf 4.5' }
+      setup: "tsf 5<DOWN>",
+      check: { input: "tsf 4.5" }
     }
     /*
     // See notes at top of testIncr
     {
       setup: 'tsf 100<DOWN>',
       check: { input: 'tsf 11.5' }
     }
     */
   ]);
 };
 
-exports.testIncrSelection = function(options) {
+exports.testIncrSelection = function (options) {
   /*
   // Bug 829516:  GCLI up/down navigation over selection is sometimes bizarre
   return helpers.audit(options, [
     {
       setup: 'tselarr <DOWN>',
       check: { hints: '2' },
       exec: {}
     },
@@ -171,17 +171,17 @@ exports.testIncrSelection = function(opt
       setup: 'tselarr <DOWN><DOWN><DOWN>',
       check: { hints: '1' },
       exec: {}
     }
   ]);
   */
 };
 
-exports.testDecrSelection = function(options) {
+exports.testDecrSelection = function (options) {
   /*
   // Bug 829516:  GCLI up/down navigation over selection is sometimes bizarre
   return helpers.audit(options, [
     {
       setup: 'tselarr <UP>',
       check: { hints: '3' }
     }
   ]);
--- a/devtools/client/commandline/test/browser_gcli_keyboard5.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard5.js
@@ -9,49 +9,49 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard5.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testCompleteDown = function(options) {
+exports.testCompleteDown = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsn e<DOWN><DOWN><DOWN><DOWN><DOWN><TAB>',
-      check: { input: 'tsn exte ' }
+      setup: "tsn e<DOWN><DOWN><DOWN><DOWN><DOWN><TAB>",
+      check: { input: "tsn exte " }
     },
     {
-      setup: 'tsn e<DOWN><DOWN><DOWN><DOWN><TAB>',
-      check: { input: 'tsn ext ' }
+      setup: "tsn e<DOWN><DOWN><DOWN><DOWN><TAB>",
+      check: { input: "tsn ext " }
     },
     {
-      setup: 'tsn e<DOWN><DOWN><DOWN><TAB>',
-      check: { input: 'tsn extend ' }
+      setup: "tsn e<DOWN><DOWN><DOWN><TAB>",
+      check: { input: "tsn extend " }
     },
     {
-      setup: 'tsn e<DOWN><DOWN><TAB>',
-      check: { input: 'tsn exten ' }
+      setup: "tsn e<DOWN><DOWN><TAB>",
+      check: { input: "tsn exten " }
     },
     {
-      setup: 'tsn e<DOWN><TAB>',
-      check: { input: 'tsn exte ' }
+      setup: "tsn e<DOWN><TAB>",
+      check: { input: "tsn exte " }
     },
     {
-      setup: 'tsn e<TAB>',
-      check: { input: 'tsn ext ' }
+      setup: "tsn e<TAB>",
+      check: { input: "tsn ext " }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_keyboard6.js
+++ b/devtools/client/commandline/test/browser_gcli_keyboard6.js
@@ -9,57 +9,57 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_keyboard6.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testCompleteUp = function(options) {
+exports.testCompleteUp = function (options) {
   return helpers.audit(options, [
     {
-      setup: 'tsn e<UP><TAB>',
-      check: { input: 'tsn extend ' }
+      setup: "tsn e<UP><TAB>",
+      check: { input: "tsn extend " }
     },
     {
-      setup: 'tsn e<UP><UP><TAB>',
-      check: { input: 'tsn exten ' }
+      setup: "tsn e<UP><UP><TAB>",
+      check: { input: "tsn exten " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><TAB>',
-      check: { input: 'tsn exte ' }
+      setup: "tsn e<UP><UP><UP><TAB>",
+      check: { input: "tsn exte " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><UP><TAB>',
-      check: { input: 'tsn ext ' }
+      setup: "tsn e<UP><UP><UP><UP><TAB>",
+      check: { input: "tsn ext " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><UP><UP><TAB>',
-      check: { input: 'tsn extend ' }
+      setup: "tsn e<UP><UP><UP><UP><UP><TAB>",
+      check: { input: "tsn extend " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><UP><UP><UP><TAB>',
-      check: { input: 'tsn exten ' }
+      setup: "tsn e<UP><UP><UP><UP><UP><UP><TAB>",
+      check: { input: "tsn exten " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><UP><UP><UP><UP><TAB>',
-      check: { input: 'tsn exte ' }
+      setup: "tsn e<UP><UP><UP><UP><UP><UP><UP><TAB>",
+      check: { input: "tsn exte " }
     },
     {
-      setup: 'tsn e<UP><UP><UP><UP><UP><UP><UP><UP><TAB>',
-      check: { input: 'tsn ext ' }
+      setup: "tsn e<UP><UP><UP><UP><UP><UP><UP><UP><TAB>",
+      check: { input: "tsn ext " }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_menu.js
+++ b/devtools/client/commandline/test/browser_gcli_menu.js
@@ -9,43 +9,43 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_menu.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testOptions = function(options) {
+exports.testOptions = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tslong',
+      setup:    "tslong",
       check: {
-        input:  'tslong',
-        markup: 'VVVVVV',
-        status: 'ERROR',
-        hints: ' <msg> [options]',
+        input:  "tslong",
+        markup: "VVVVVV",
+        status: "ERROR",
+        hints: " <msg> [options]",
         args: {
-          msg: { value: undefined, status: 'INCOMPLETE' },
-          num: { value: undefined, status: 'VALID' },
-          sel: { value: undefined, status: 'VALID' },
-          bool: { value: false, status: 'VALID' },
-          bool2: { value: false, status: 'VALID' },
-          sel2: { value: undefined, status: 'VALID' },
-          num2: { value: undefined, status: 'VALID' }
+          msg: { value: undefined, status: "INCOMPLETE" },
+          num: { value: undefined, status: "VALID" },
+          sel: { value: undefined, status: "VALID" },
+          bool: { value: false, status: "VALID" },
+          bool2: { value: false, status: "VALID" },
+          sel2: { value: undefined, status: "VALID" },
+          num2: { value: undefined, status: "VALID" }
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_node.js
+++ b/devtools/client/commandline/test/browser_gcli_node.js
@@ -9,309 +9,309 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_node.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testNode = function(options) {
+exports.testNode = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tse ',
+      setup:    "tse ",
       check: {
-        input:  'tse ',
-        hints:      '<node> [options]',
-        markup: 'VVVV',
+        input:  "tse ",
+        hints:      "<node> [options]",
+        markup: "VVVV",
         cursor: 4,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
-          node: { status: 'INCOMPLETE' },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          command: { name: "tse" },
+          node: { status: "INCOMPLETE" },
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     },
     {
-      setup:    'tse :',
+      setup:    "tse :",
       check: {
-        input:  'tse :',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse :",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
-            arg: ' :',
-            status: 'ERROR',
-            message: 'Syntax error in CSS query'
+            arg: " :",
+            status: "ERROR",
+            message: "Syntax error in CSS query"
           },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     },
     {
-      setup:    'tse #',
+      setup:    "tse #",
       check: {
-        input:  'tse #',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse #",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' #',
-            status: 'ERROR',
-            message: 'Syntax error in CSS query'
+            arg: " #",
+            status: "ERROR",
+            message: "Syntax error in CSS query"
           },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     },
     {
-      setup:    'tse .',
+      setup:    "tse .",
       check: {
-        input:  'tse .',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse .",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' .',
-            status: 'ERROR',
-            message: 'Syntax error in CSS query'
+            arg: " .",
+            status: "ERROR",
+            message: "Syntax error in CSS query"
           },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     },
     {
-      setup:    'tse *',
+      setup:    "tse *",
       check: {
-        input:  'tse *',
-        hints:       ' [options]',
-        markup: 'VVVVE',
+        input:  "tse *",
+        hints:       " [options]",
+        markup: "VVVVE",
         cursor: 5,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' *',
-            status: 'ERROR'
+            arg: " *",
+            status: "ERROR"
             // message: 'Too many matches (128)'
           },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     }
   ]);
 };
 
-exports.testNodeDom = function(options) {
+exports.testNodeDom = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tse :root',
+      setup:    "tse :root",
       check: {
-        input:  'tse :root',
-        hints:           ' [options]',
-        markup: 'VVVVVVVVV',
+        input:  "tse :root",
+        hints:           " [options]",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'node',
-        status: 'VALID',
+        current: "node",
+        status: "VALID",
         args: {
-          command: { name: 'tse' },
-          node: { arg: ' :root', status: 'VALID' },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          command: { name: "tse" },
+          node: { arg: " :root", status: "VALID" },
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     },
     {
-      setup:    'tse :root ',
+      setup:    "tse :root ",
       check: {
-        input:  'tse :root ',
-        hints:            '[options]',
-        markup: 'VVVVVVVVVV',
+        input:  "tse :root ",
+        hints:            "[options]",
+        markup: "VVVVVVVVVV",
         cursor: 10,
-        current: 'node',
-        status: 'VALID',
+        current: "node",
+        status: "VALID",
         args: {
-          command: { name: 'tse' },
-          node: { arg: ' :root ', status: 'VALID' },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          command: { name: "tse" },
+          node: { arg: " :root ", status: "VALID" },
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       },
       exec: {
       },
-      post: function(output) {
+      post: function (output) {
         if (!options.isRemote) {
-          assert.is(output.args.node.tagName, 'HTML', ':root tagName');
+          assert.is(output.args.node.tagName, "HTML", ":root tagName");
         }
       }
     },
     {
-      setup:    'tse #gcli-nomatch',
+      setup:    "tse #gcli-nomatch",
       check: {
-        input:  'tse #gcli-nomatch',
-        hints:                   ' [options]',
-        markup: 'VVVVIIIIIIIIIIIII',
+        input:  "tse #gcli-nomatch",
+        hints:                   " [options]",
+        markup: "VVVVIIIIIIIIIIIII",
         cursor: 17,
-        current: 'node',
-        status: 'ERROR',
+        current: "node",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: ' #gcli-nomatch',
-            status: 'INCOMPLETE',
-            message: 'No matches'
+            arg: " #gcli-nomatch",
+            status: "INCOMPLETE",
+            message: "No matches"
           },
-          nodes: { status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          nodes: { status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       }
     }
   ]);
 };
 
-exports.testNodes = function(options) {
+exports.testNodes = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tse :root --nodes *',
+      setup:    "tse :root --nodes *",
       check: {
-        input:  'tse :root --nodes *',
-        hints:                       ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVV',
-        current: 'nodes',
-        status: 'VALID',
+        input:  "tse :root --nodes *",
+        hints:                       " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVV",
+        current: "nodes",
+        status: "VALID",
         args: {
-          command: { name: 'tse' },
-          node: { arg: ' :root', status: 'VALID' },
-          nodes: { arg: ' --nodes *', status: 'VALID' },
-          nodes2: { status: 'VALID' }
+          command: { name: "tse" },
+          node: { arg: " :root", status: "VALID" },
+          nodes: { arg: " --nodes *", status: "VALID" },
+          nodes2: { status: "VALID" }
         }
       },
       exec: {
       },
-      post: function(output) {
+      post: function (output) {
         if (!options.isRemote) {
-          assert.is(output.args.node.tagName, 'HTML', ':root tagName');
-          assert.ok(output.args.nodes.length > 3, 'nodes length');
-          assert.is(output.args.nodes2.length, 0, 'nodes2 length');
+          assert.is(output.args.node.tagName, "HTML", ":root tagName");
+          assert.ok(output.args.nodes.length > 3, "nodes length");
+          assert.is(output.args.nodes2.length, 0, "nodes2 length");
         }
 
-        assert.is(output.data.args.node, ':root', 'node data');
-        assert.is(output.data.args.nodes, '*', 'nodes data');
-        assert.is(output.data.args.nodes2, 'Error', 'nodes2 data');
+        assert.is(output.data.args.node, ":root", "node data");
+        assert.is(output.data.args.nodes, "*", "nodes data");
+        assert.is(output.data.args.nodes2, "Error", "nodes2 data");
       }
     },
     {
-      setup:    'tse :root --nodes2 div',
+      setup:    "tse :root --nodes2 div",
       check: {
-        input:  'tse :root --nodes2 div',
-        hints:                       ' [options]',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVV',
+        input:  "tse :root --nodes2 div",
+        hints:                       " [options]",
+        markup: "VVVVVVVVVVVVVVVVVVVVVV",
         cursor: 22,
-        current: 'nodes2',
-        status: 'VALID',
+        current: "nodes2",
+        status: "VALID",
         args: {
-          command: { name: 'tse' },
-          node: { arg: ' :root', status: 'VALID' },
-          nodes: { status: 'VALID' },
-          nodes2: { arg: ' --nodes2 div', status: 'VALID' }
+          command: { name: "tse" },
+          node: { arg: " :root", status: "VALID" },
+          nodes: { status: "VALID" },
+          nodes2: { arg: " --nodes2 div", status: "VALID" }
         }
       },
       exec: {
       },
-      post: function(output) {
+      post: function (output) {
         if (!options.isRemote) {
-          assert.is(output.args.node.tagName, 'HTML', ':root tagName');
-          assert.is(output.args.nodes.length, 0, 'nodes length');
-          assert.is(output.args.nodes2.item(0).tagName, 'DIV', 'div tagName');
+          assert.is(output.args.node.tagName, "HTML", ":root tagName");
+          assert.is(output.args.nodes.length, 0, "nodes length");
+          assert.is(output.args.nodes2.item(0).tagName, "DIV", "div tagName");
         }
 
-        assert.is(output.data.args.node, ':root', 'node data');
-        assert.is(output.data.args.nodes, 'Error', 'nodes data');
-        assert.is(output.data.args.nodes2, 'div', 'nodes2 data');
+        assert.is(output.data.args.node, ":root", "node data");
+        assert.is(output.data.args.nodes, "Error", "nodes data");
+        assert.is(output.data.args.nodes2, "div", "nodes2 data");
       }
     },
     {
-      setup:    'tse --nodes ffff',
+      setup:    "tse --nodes ffff",
       check: {
-        input:  'tse --nodes ffff',
-        hints:                  ' <node> [options]',
-        markup: 'VVVVIIIIIIIVIIII',
+        input:  "tse --nodes ffff",
+        hints:                  " <node> [options]",
+        markup: "VVVVIIIIIIIVIIII",
         cursor: 16,
-        current: 'nodes',
-        status: 'ERROR',
+        current: "nodes",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           },
           nodes: {
             value: undefined,
-            arg: ' --nodes ffff',
-            status: 'INCOMPLETE',
-            message: 'No matches'
+            arg: " --nodes ffff",
+            status: "INCOMPLETE",
+            message: "No matches"
           },
-          nodes2: { arg: '', status: 'VALID', message: '' }
+          nodes2: { arg: "", status: "VALID", message: "" }
         }
       }
     },
     {
-      setup:    'tse --nodes2 ffff',
+      setup:    "tse --nodes2 ffff",
       check: {
-        input:  'tse --nodes2 ffff',
-        hints:                   ' <node> [options]',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        input:  "tse --nodes2 ffff",
+        hints:                   " <node> [options]",
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'nodes2',
-        status: 'ERROR',
+        current: "nodes2",
+        status: "ERROR",
         args: {
-          command: { name: 'tse' },
+          command: { name: "tse" },
           node: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           },
-          nodes: { arg: '', status: 'VALID', message: '' },
-          nodes2: { arg: ' --nodes2 ffff', status: 'VALID', message: '' }
+          nodes: { arg: "", status: "VALID", message: "" },
+          nodes2: { arg: " --nodes2 ffff", status: "VALID", message: "" }
         }
       }
     },
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_pref1.js
+++ b/devtools/client/commandline/test/browser_gcli_pref1.js
@@ -9,158 +9,158 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_pref1.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testPrefShowStatus = function(options) {
+exports.testPrefShowStatus = function (options) {
   return helpers.audit(options, [
     {
-      skipRemainingIf: options.requisition.system.commands.get('pref') == null,
-      setup:    'pref s',
+      skipRemainingIf: options.requisition.system.commands.get("pref") == null,
+      setup:    "pref s",
       check: {
-        typed:  'pref s',
-        hints:        'et',
-        markup: 'IIIIVI',
-        status: 'ERROR'
+        typed:  "pref s",
+        hints:        "et",
+        markup: "IIIIVI",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref show',
+      setup:    "pref show",
       check: {
-        typed:  'pref show',
-        hints:           ' <setting>',
-        markup: 'VVVVVVVVV',
-        status: 'ERROR'
+        typed:  "pref show",
+        hints:           " <setting>",
+        markup: "VVVVVVVVV",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref show ',
+      setup:    "pref show ",
       check: {
-        typed:  'pref show ',
-        hints:            'eagerHelper',
-        markup: 'VVVVVVVVVV',
-        status: 'ERROR'
+        typed:  "pref show ",
+        hints:            "eagerHelper",
+        markup: "VVVVVVVVVV",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref show tempTBo',
+      setup:    "pref show tempTBo",
       check: {
-        typed:  'pref show tempTBo',
-        hints:                   'ol',
-        markup: 'VVVVVVVVVVIIIIIII',
-        status: 'ERROR'
+        typed:  "pref show tempTBo",
+        hints:                   "ol",
+        markup: "VVVVVVVVVVIIIIIII",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref show tempTBool',
+      setup:    "pref show tempTBool",
       check: {
-        typed:  'pref show tempTBool',
-        markup: 'VVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        hints:  ''
+        typed:  "pref show tempTBool",
+        markup: "VVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        hints:  ""
       }
     },
     {
-      setup:    'pref show tempTBool 4',
+      setup:    "pref show tempTBool 4",
       check: {
-        typed:  'pref show tempTBool 4',
-        markup: 'VVVVVVVVVVVVVVVVVVVVE',
-        status: 'ERROR',
-        hints:  ''
+        typed:  "pref show tempTBool 4",
+        markup: "VVVVVVVVVVVVVVVVVVVVE",
+        status: "ERROR",
+        hints:  ""
       }
     },
     {
-      setup:    'pref show tempNumber 4',
+      setup:    "pref show tempNumber 4",
       check: {
-        typed:  'pref show tempNumber 4',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVE',
-        status: 'ERROR',
-        hints:  ''
+        typed:  "pref show tempNumber 4",
+        markup: "VVVVVVVVVVVVVVVVVVVVVE",
+        status: "ERROR",
+        hints:  ""
       }
     }
   ]);
 };
 
-exports.testPrefSetStatus = function(options) {
+exports.testPrefSetStatus = function (options) {
   return helpers.audit(options, [
     {
-      skipRemainingIf: options.requisition.system.commands.get('pref') == null,
-      setup:    'pref s',
+      skipRemainingIf: options.requisition.system.commands.get("pref") == null,
+      setup:    "pref s",
       check: {
-        typed:  'pref s',
-        hints:        'et',
-        markup: 'IIIIVI',
-        status: 'ERROR'
+        typed:  "pref s",
+        hints:        "et",
+        markup: "IIIIVI",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref set',
+      setup:    "pref set",
       check: {
-        typed:  'pref set',
-        hints:          ' <setting> <value>',
-        markup: 'VVVVVVVV',
-        status: 'ERROR'
+        typed:  "pref set",
+        hints:          " <setting> <value>",
+        markup: "VVVVVVVV",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref xxx',
+      setup:    "pref xxx",
       check: {
-        typed:  'pref xxx',
-        markup: 'IIIIVIII',
-        status: 'ERROR'
+        typed:  "pref xxx",
+        markup: "IIIIVIII",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref set ',
+      setup:    "pref set ",
       check: {
-        typed:  'pref set ',
-        hints:           'eagerHelper <value>',
-        markup: 'VVVVVVVVV',
-        status: 'ERROR'
+        typed:  "pref set ",
+        hints:           "eagerHelper <value>",
+        markup: "VVVVVVVVV",
+        status: "ERROR"
       }
     },
     {
-      setup:    'pref set tempTBo',
+      setup:    "pref set tempTBo",
       check: {
-        typed:  'pref set tempTBo',
-        hints:                  'ol <value>',
-        markup: 'VVVVVVVVVIIIIIII',
-        status: 'ERROR'
+        typed:  "pref set tempTBo",
+        hints:                  "ol <value>",
+        markup: "VVVVVVVVVIIIIIII",
+        status: "ERROR"
       }
     },
     {
       skipIf: options.isRemote,
-      setup:    'pref set tempTBool 4',
+      setup:    "pref set tempTBool 4",
       check: {
-        typed:  'pref set tempTBool 4',
-        markup: 'VVVVVVVVVVVVVVVVVVVE',
-        status: 'ERROR',
-        hints: ''
+        typed:  "pref set tempTBool 4",
+        markup: "VVVVVVVVVVVVVVVVVVVE",
+        status: "ERROR",
+        hints: ""
       }
     },
     {
-      setup:    'pref set tempNumber 4',
+      setup:    "pref set tempNumber 4",
       check: {
-        typed:  'pref set tempNumber 4',
-        markup: 'VVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        hints: ''
+        typed:  "pref set tempNumber 4",
+        markup: "VVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        hints: ""
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_pref2.js
+++ b/devtools/client/commandline/test/browser_gcli_pref2.js
@@ -9,111 +9,111 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_pref2.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
-var mockSettings = require('./mockSettings');
+var mockSettings = require("./mockSettings");
 
-exports.testPrefExec = function(options) {
-  if (options.requisition.system.commands.get('pref') == null) {
-    assert.log('Skipping test; missing pref command.');
+exports.testPrefExec = function (options) {
+  if (options.requisition.system.commands.get("pref") == null) {
+    assert.log("Skipping test; missing pref command.");
     return;
   }
 
   if (options.isRemote) {
-    assert.log('Skipping test which assumes local settings.');
+    assert.log("Skipping test which assumes local settings.");
     return;
   }
 
-  assert.is(mockSettings.tempNumber.value, 42, 'set to 42');
+  assert.is(mockSettings.tempNumber.value, 42, "set to 42");
 
   return helpers.audit(options, [
     {
       // Delegated remote types can't transfer value types so we only test for
       // the value of 'value' when we're local
       skipIf: options.isRemote,
-      setup: 'pref set tempNumber 4',
+      setup: "pref set tempNumber 4",
       check: {
         setting: { value: mockSettings.tempNumber },
         args: { value: { value: 4 } }
       }
     },
     {
-      setup:    'pref set tempNumber 4',
+      setup:    "pref set tempNumber 4",
       check: {
-        input:  'pref set tempNumber 4',
-        hints:                       '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVV',
+        input:  "pref set tempNumber 4",
+        hints:                       "",
+        markup: "VVVVVVVVVVVVVVVVVVVVV",
         cursor: 21,
-        current: 'value',
-        status: 'VALID',
+        current: "value",
+        status: "VALID",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'pref set' },
+          command: { name: "pref set" },
           setting: {
-            arg: ' tempNumber',
-            status: 'VALID',
-            message: ''
+            arg: " tempNumber",
+            status: "VALID",
+            message: ""
           },
           value: {
-            arg: ' 4',
-            status: 'VALID',
-            message: ''
+            arg: " 4",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: ''
+        output: ""
       },
-      post: function() {
-        assert.is(mockSettings.tempNumber.value, 4, 'set to 4');
+      post: function () {
+        assert.is(mockSettings.tempNumber.value, 4, "set to 4");
       }
     },
     {
-      setup:    'pref reset tempNumber',
+      setup:    "pref reset tempNumber",
       check: {
         args: {
-          command: { name: 'pref reset' },
+          command: { name: "pref reset" },
           setting: { value: mockSettings.tempNumber }
         }
       },
       exec: {
-        output: ''
+        output: ""
       },
-      post: function() {
-        assert.is(mockSettings.tempNumber.value, 42, 'reset to 42');
+      post: function () {
+        assert.is(mockSettings.tempNumber.value, 42, "reset to 42");
       }
     },
     {
       skipRemainingIf: function commandPrefListMissing() {
-        return options.requisition.system.commands.get('pref list') == null;
+        return options.requisition.system.commands.get("pref list") == null;
       },
-      setup:    'pref list tempNum',
+      setup:    "pref list tempNum",
       check: {
         args: {
-          command: { name: 'pref list' },
-          search: { value: 'tempNum' }
+          command: { name: "pref list" },
+          search: { value: "tempNum" }
         }
       },
       exec: {
         output: /tempNum/
       }
     },
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_remotews.js
+++ b/devtools/client/commandline/test/browser_gcli_remotews.js
@@ -9,17 +9,17 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_remotews.js");
@@ -28,458 +28,458 @@ function test() {
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
 // testRemoteWs and testRemoteXhr are virtually identical.
 // Changes made here should be made there too.
 // They are kept separate to save adding complexity to the test system and so
 // to help us select the test that are available in different environments
 
-exports.testRemoteWebsocket = function(options) {
+exports.testRemoteWebsocket = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: options.isRemote || options.isNode || options.isFirefox,
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
-        hints:         '',
-        markup: 'EEEEEEV',
+        input:  "remote ",
+        hints:         "",
+        markup: "EEEEEEV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'remote\'.',
+        message: "Can't use 'remote'.",
         predictions: [ ],
         unassigned: [ ],
       }
     },
     {
-      setup: 'connect remote',
+      setup: "connect remote",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         error: false
       }
     },
     {
-      setup: 'disconnect remote',
+      setup: "disconnect remote",
       check: {
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             }
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup: 'connect remote --method websocket',
+      setup: "connect remote --method websocket",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         error: false
       }
     },
     {
-      setup: 'disconnect remote',
+      setup: "disconnect remote",
       check: {
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             }
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup: 'connect remote --method websocket',
+      setup: "connect remote --method websocket",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         output: /^Added [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
+        input:  "remote ",
         // PhantomJS fails on this. Unsure why
         // hints:         ' {',
-        markup: 'IIIIIIV',
-        status: 'ERROR',
+        markup: "IIIIIIV",
+        status: "ERROR",
         optionsIncludes: [
-          'remote', 'remote cd', 'remote context', 'remote echo',
-          'remote exec', 'remote exit', 'remote firefox', 'remote help',
-          'remote intro', 'remote make'
+          "remote", "remote cd", "remote context", "remote echo",
+          "remote exec", "remote exit", "remote firefox", "remote help",
+          "remote intro", "remote make"
         ],
-        message: '',
-        predictionsIncludes: [ 'remote' ],
+        message: "",
+        predictionsIncludes: [ "remote" ],
         unassigned: [ ],
       }
     },
     {
-      setup:    'remote echo hello world',
+      setup:    "remote echo hello world",
       check: {
-        input:  'remote echo hello world',
-        hints:                         '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "remote echo hello world",
+        hints:                         "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 23,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote echo' },
+          command: { name: "remote echo" },
           message: {
-            value: 'hello world',
-            arg: ' hello world',
-            status: 'VALID',
-            message: ''
+            value: "hello world",
+            arg: " hello world",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'hello world',
-        type: 'string',
+        output: "hello world",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote exec ls',
+      setup:    "remote exec ls",
       check: {
-        input:  'remote exec ls',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "remote exec ls",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'command',
-        status: 'VALID',
+        current: "command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           command: {
-            value: 'ls',
-            arg: ' ls',
-            status: 'VALID',
-            message: ''
+            value: "ls",
+            arg: " ls",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         // output: '', We can't rely on the contents of the FS
-        type: 'output',
+        type: "output",
         error: false
       }
     },
     {
-      setup:    'remote sleep mistake',
+      setup:    "remote sleep mistake",
       check: {
-        input:  'remote sleep mistake',
-        hints:                      '',
-        markup: 'VVVVVVVVVVVVVEEEEEEE',
+        input:  "remote sleep mistake",
+        hints:                      "",
+        markup: "VVVVVVVVVVVVVEEEEEEE",
         cursor: 20,
-        current: 'length',
-        status: 'ERROR',
+        current: "length",
+        status: "ERROR",
         options: [ ],
         message: 'Can\'t convert "mistake" to a number.',
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote sleep' },
+          command: { name: "remote sleep" },
           length: {
             value: undefined,
-            arg: ' mistake',
-            status: 'ERROR',
+            arg: " mistake",
+            status: "ERROR",
             message: 'Can\'t convert "mistake" to a number.'
           }
         }
       }
     },
     {
-      setup:    'remote sleep 1',
+      setup:    "remote sleep 1",
       check: {
-        input:  'remote sleep 1',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "remote sleep 1",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'length',
-        status: 'VALID',
+        current: "length",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote sleep' },
-          length: { value: 1, arg: ' 1', status: 'VALID', message: '' }
+          command: { name: "remote sleep" },
+          length: { value: 1, arg: " 1", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Done',
-        type: 'string',
+        output: "Done",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote help ',
+      setup:    "remote help ",
       skipIf: true, // The help command is not remotable
       check: {
-        input:  'remote help ',
-        hints:              '[search]',
-        markup: 'VVVVVVVVVVVV',
+        input:  "remote help ",
+        hints:              "[search]",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'search',
-        status: 'VALID',
+        current: "search",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote help' },
+          command: { name: "remote help" },
           search: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: '',
-        type: 'string',
+        output: "",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote intro',
+      setup:    "remote intro",
       check: {
-        input:  'remote intro',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
+        input:  "remote intro",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote intro' }
+          command: { name: "remote intro" }
         }
       },
       exec: {
         output: [
           /GCLI is an experiment/,
           /F1\/Escape/
         ],
-        type: 'intro',
+        type: "intro",
         error: false
       }
     },
     {
-      setup:    'context remote',
+      setup:    "context remote",
       check: {
-        input:  'context remote',
+        input:  "context remote",
         // hints:                ' {',
-        markup: 'VVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'prefix',
-        status: 'VALID',
+        current: "prefix",
+        status: "VALID",
         optionsContains: [
-          'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
-          'remote firefox', 'remote help', 'remote intro', 'remote make'
+          "remote", "remote cd", "remote echo", "remote exec", "remote exit",
+          "remote firefox", "remote help", "remote intro", "remote make"
         ],
-        message: '',
+        message: "",
         // predictionsContains: [
         //   'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
         //   'remote firefox', 'remote help', 'remote intro', 'remote make',
         //   'remote pref'
         // ],
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
+          command: { name: "context" },
           prefix: {
-            arg: ' remote',
-            status: 'VALID',
-            message: ''
+            arg: " remote",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Using remote as a command prefix',
-        type: 'string',
+        output: "Using remote as a command prefix",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'exec ls',
+      setup:    "exec ls",
       check: {
-        input:  'exec ls',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "exec ls",
+        hints:         "",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'command',
-        status: 'VALID',
+        current: "command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { value: 'ls', arg: ' ls', status: 'VALID', message: '' },
+          command: { value: "ls", arg: " ls", status: "VALID", message: "" },
         }
       },
       exec: {
         // output: '', We can't rely on the contents of the filesystem
-        type: 'output',
+        type: "output",
         error: false
       }
     },
     {
-      setup:    'echo hello world',
+      setup:    "echo hello world",
       check: {
-        input:  'echo hello world',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
+        input:  "echo hello world",
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
         cursor: 16,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote echo' },
+          command: { name: "remote echo" },
           message: {
-            value: 'hello world',
-            arg: ' hello world',
-            status: 'VALID',
-            message: ''
+            value: "hello world",
+            arg: " hello world",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         output: /^hello world$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'context',
+      setup:    "context",
       check: {
-        input:  'context',
-        hints:         ' [prefix]',
-        markup: 'VVVVVVV',
+        input:  "context",
+        hints:         " [prefix]",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         optionsContains: [
-          'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
-          'remote firefox', 'remote help', 'remote intro', 'remote make'
+          "remote", "remote cd", "remote echo", "remote exec", "remote exit",
+          "remote firefox", "remote help", "remote intro", "remote make"
         ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
-          prefix: { value: undefined, arg: '', status: 'VALID', message: '' }
+          command: { name: "context" },
+          prefix: { value: undefined, arg: "", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Command prefix is unset',
-        type: 'string',
+        output: "Command prefix is unset",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'disconnect ',
+      setup:    "disconnect ",
       check: {
-        input:  'disconnect ',
-        hints:             'remote',
-        markup: 'VVVVVVVVVVV',
+        input:  "disconnect ",
+        hints:             "remote",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'prefix',
-        status: 'ERROR',
-        options: [ 'remote' ],
-        message: '',
-        predictions: [ 'remote' ],
+        current: "prefix",
+        status: "ERROR",
+        options: [ "remote" ],
+        message: "",
+        predictions: [ "remote" ],
         unassigned: [ ],
         args: {
-          command: { name: 'disconnect' },
+          command: { name: "disconnect" },
           prefix: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \'prefix\'.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for 'prefix'."
           }
         }
       }
     },
     {
-      setup:    'disconnect remote',
+      setup:    "disconnect remote",
       check: {
-        input:  'disconnect remote',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "disconnect remote",
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         unassigned: [ ],
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             },
-            arg: ' remote',
-            status: 'VALID',
-            message: ''
+            arg: " remote",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
-        hints:         '',
-        markup: 'EEEEEEV',
+        input:  "remote ",
+        hints:         "",
+        markup: "EEEEEEV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'remote\'.',
+        message: "Can't use 'remote'.",
         predictions: [ ],
         unassigned: [ ],
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_remotexhr.js
+++ b/devtools/client/commandline/test/browser_gcli_remotexhr.js
@@ -9,17 +9,17 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_remotexhr.js");
@@ -28,458 +28,458 @@ function test() {
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
 // testRemoteWs and testRemoteXhr are virtually identical.
 // Changes made here should be made there too.
 // They are kept separate to save adding complexity to the test system and so
 // to help us select the test that are available in different environments
 
-exports.testRemoteXhr = function(options) {
+exports.testRemoteXhr = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: options.isRemote || options.isNode || options.isFirefox,
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
-        hints:         '',
-        markup: 'EEEEEEV',
+        input:  "remote ",
+        hints:         "",
+        markup: "EEEEEEV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'remote\'.',
+        message: "Can't use 'remote'.",
         predictions: [ ],
         unassigned: [ ],
       }
     },
     {
-      setup: 'connect remote',
+      setup: "connect remote",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         error: false
       }
     },
     {
-      setup: 'disconnect remote',
+      setup: "disconnect remote",
       check: {
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             }
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup: 'connect remote --method xhr',
+      setup: "connect remote --method xhr",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         error: false
       }
     },
     {
-      setup: 'disconnect remote',
+      setup: "disconnect remote",
       check: {
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             }
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup: 'connect remote --method xhr',
+      setup: "connect remote --method xhr",
       check: {
         args: {
-          prefix: { value: 'remote' },
+          prefix: { value: "remote" },
           url: { value: undefined }
         }
       },
       exec: {
         output: /^Added [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
+        input:  "remote ",
         // PhantomJS fails on this. Unsure why
         // hints:         ' {',
-        markup: 'IIIIIIV',
-        status: 'ERROR',
+        markup: "IIIIIIV",
+        status: "ERROR",
         optionsIncludes: [
-          'remote', 'remote cd', 'remote context', 'remote echo',
-          'remote exec', 'remote exit', 'remote firefox', 'remote help',
-          'remote intro', 'remote make'
+          "remote", "remote cd", "remote context", "remote echo",
+          "remote exec", "remote exit", "remote firefox", "remote help",
+          "remote intro", "remote make"
         ],
-        message: '',
-        predictionsIncludes: [ 'remote' ],
+        message: "",
+        predictionsIncludes: [ "remote" ],
         unassigned: [ ],
       }
     },
     {
-      setup:    'remote echo hello world',
+      setup:    "remote echo hello world",
       check: {
-        input:  'remote echo hello world',
-        hints:                         '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVV',
+        input:  "remote echo hello world",
+        hints:                         "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVV",
         cursor: 23,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote echo' },
+          command: { name: "remote echo" },
           message: {
-            value: 'hello world',
-            arg: ' hello world',
-            status: 'VALID',
-            message: ''
+            value: "hello world",
+            arg: " hello world",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'hello world',
-        type: 'string',
+        output: "hello world",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote exec ls',
+      setup:    "remote exec ls",
       check: {
-        input:  'remote exec ls',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "remote exec ls",
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'command',
-        status: 'VALID',
+        current: "command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
           command: {
-            value: 'ls',
-            arg: ' ls',
-            status: 'VALID',
-            message: ''
+            value: "ls",
+            arg: " ls",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         // output: '', We can't rely on the contents of the FS
-        type: 'output',
+        type: "output",
         error: false
       }
     },
     {
-      setup:    'remote sleep mistake',
+      setup:    "remote sleep mistake",
       check: {
-        input:  'remote sleep mistake',
-        hints:                      '',
-        markup: 'VVVVVVVVVVVVVEEEEEEE',
+        input:  "remote sleep mistake",
+        hints:                      "",
+        markup: "VVVVVVVVVVVVVEEEEEEE",
         cursor: 20,
-        current: 'length',
-        status: 'ERROR',
+        current: "length",
+        status: "ERROR",
         options: [ ],
         message: 'Can\'t convert "mistake" to a number.',
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote sleep' },
+          command: { name: "remote sleep" },
           length: {
             value: undefined,
-            arg: ' mistake',
-            status: 'ERROR',
+            arg: " mistake",
+            status: "ERROR",
             message: 'Can\'t convert "mistake" to a number.'
           }
         }
       }
     },
     {
-      setup:    'remote sleep 1',
+      setup:    "remote sleep 1",
       check: {
-        input:  'remote sleep 1',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVV',
+        input:  "remote sleep 1",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'length',
-        status: 'VALID',
+        current: "length",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote sleep' },
-          length: { value: 1, arg: ' 1', status: 'VALID', message: '' }
+          command: { name: "remote sleep" },
+          length: { value: 1, arg: " 1", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Done',
-        type: 'string',
+        output: "Done",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote help ',
+      setup:    "remote help ",
       skipIf: true, // The help command is not remotable
       check: {
-        input:  'remote help ',
-        hints:              '[search]',
-        markup: 'VVVVVVVVVVVV',
+        input:  "remote help ",
+        hints:              "[search]",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: 'search',
-        status: 'VALID',
+        current: "search",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote help' },
+          command: { name: "remote help" },
           search: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: '',
-        type: 'string',
+        output: "",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote intro',
+      setup:    "remote intro",
       check: {
-        input:  'remote intro',
-        hints:              '',
-        markup: 'VVVVVVVVVVVV',
+        input:  "remote intro",
+        hints:              "",
+        markup: "VVVVVVVVVVVV",
         cursor: 12,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote intro' }
+          command: { name: "remote intro" }
         }
       },
       exec: {
         output: [
           /GCLI is an experiment/,
           /F1\/Escape/
         ],
-        type: 'intro',
+        type: "intro",
         error: false
       }
     },
     {
-      setup:    'context remote',
+      setup:    "context remote",
       check: {
-        input:  'context remote',
+        input:  "context remote",
         // hints:                ' {',
-        markup: 'VVVVVVVVVVVVVV',
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'prefix',
-        status: 'VALID',
+        current: "prefix",
+        status: "VALID",
         optionsContains: [
-          'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
-          'remote firefox', 'remote help', 'remote intro', 'remote make'
+          "remote", "remote cd", "remote echo", "remote exec", "remote exit",
+          "remote firefox", "remote help", "remote intro", "remote make"
         ],
-        message: '',
+        message: "",
         // predictionsContains: [
         //   'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
         //   'remote firefox', 'remote help', 'remote intro', 'remote make',
         //   'remote pref'
         // ],
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
+          command: { name: "context" },
           prefix: {
-            arg: ' remote',
-            status: 'VALID',
-            message: ''
+            arg: " remote",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
-        output: 'Using remote as a command prefix',
-        type: 'string',
+        output: "Using remote as a command prefix",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'exec ls',
+      setup:    "exec ls",
       check: {
-        input:  'exec ls',
-        hints:         '',
-        markup: 'VVVVVVV',
+        input:  "exec ls",
+        hints:         "",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: 'command',
-        status: 'VALID',
+        current: "command",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { value: 'ls', arg: ' ls', status: 'VALID', message: '' },
+          command: { value: "ls", arg: " ls", status: "VALID", message: "" },
         }
       },
       exec: {
         // output: '', We can't rely on the contents of the filesystem
-        type: 'output',
+        type: "output",
         error: false
       }
     },
     {
-      setup:    'echo hello world',
+      setup:    "echo hello world",
       check: {
-        input:  'echo hello world',
-        hints:                  '',
-        markup: 'VVVVVVVVVVVVVVVV',
+        input:  "echo hello world",
+        hints:                  "",
+        markup: "VVVVVVVVVVVVVVVV",
         cursor: 16,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'remote echo' },
+          command: { name: "remote echo" },
           message: {
-            value: 'hello world',
-            arg: ' hello world',
-            status: 'VALID',
-            message: ''
+            value: "hello world",
+            arg: " hello world",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         output: /^hello world$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'context',
+      setup:    "context",
       check: {
-        input:  'context',
-        hints:         ' [prefix]',
-        markup: 'VVVVVVV',
+        input:  "context",
+        hints:         " [prefix]",
+        markup: "VVVVVVV",
         cursor: 7,
-        current: '__command',
-        status: 'VALID',
+        current: "__command",
+        status: "VALID",
         optionsContains: [
-          'remote', 'remote cd', 'remote echo', 'remote exec', 'remote exit',
-          'remote firefox', 'remote help', 'remote intro', 'remote make'
+          "remote", "remote cd", "remote echo", "remote exec", "remote exit",
+          "remote firefox", "remote help", "remote intro", "remote make"
         ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'context' },
-          prefix: { value: undefined, arg: '', status: 'VALID', message: '' }
+          command: { name: "context" },
+          prefix: { value: undefined, arg: "", status: "VALID", message: "" }
         }
       },
       exec: {
-        output: 'Command prefix is unset',
-        type: 'string',
+        output: "Command prefix is unset",
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'disconnect ',
+      setup:    "disconnect ",
       check: {
-        input:  'disconnect ',
-        hints:             'remote',
-        markup: 'VVVVVVVVVVV',
+        input:  "disconnect ",
+        hints:             "remote",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'prefix',
-        status: 'ERROR',
-        options: [ 'remote' ],
-        message: '',
-        predictions: [ 'remote' ],
+        current: "prefix",
+        status: "ERROR",
+        options: [ "remote" ],
+        message: "",
+        predictions: [ "remote" ],
         unassigned: [ ],
         args: {
-          command: { name: 'disconnect' },
+          command: { name: "disconnect" },
           prefix: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE',
-            message: 'Value required for \'prefix\'.'
+            arg: "",
+            status: "INCOMPLETE",
+            message: "Value required for 'prefix'."
           }
         }
       }
     },
     {
-      setup:    'disconnect remote',
+      setup:    "disconnect remote",
       check: {
-        input:  'disconnect remote',
-        hints:                   '',
-        markup: 'VVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "disconnect remote",
+        hints:                   "",
+        markup: "VVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         unassigned: [ ],
         args: {
           prefix: {
-            value: function(front) {
-              assert.is(front.prefix, 'remote', 'disconnecting remote');
+            value: function (front) {
+              assert.is(front.prefix, "remote", "disconnecting remote");
             },
-            arg: ' remote',
-            status: 'VALID',
-            message: ''
+            arg: " remote",
+            status: "VALID",
+            message: ""
           }
         }
       },
       exec: {
         output: /^Removed [0-9]* commands.$/,
-        type: 'string',
+        type: "string",
         error: false
       }
     },
     {
-      setup:    'remote ',
+      setup:    "remote ",
       check: {
-        input:  'remote ',
-        hints:         '',
-        markup: 'EEEEEEV',
+        input:  "remote ",
+        hints:         "",
+        markup: "EEEEEEV",
         cursor: 7,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'remote\'.',
+        message: "Can't use 'remote'.",
         predictions: [ ],
         unassigned: [ ],
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_resource.js
+++ b/devtools/client/commandline/test/browser_gcli_resource.js
@@ -9,146 +9,146 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_resource.js");
 }
 
 // var helpers = require('./helpers');
 // var assert = require('../testharness/assert');
 
-var util = require('gcli/util/util');
-var resource = require('gcli/types/resource');
-var Status = require('gcli/types/types').Status;
+var util = require("gcli/util/util");
+var resource = require("gcli/types/resource");
+var Status = require("gcli/types/types").Status;
 
-exports.testCommand = function(options) {
+exports.testCommand = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsres ',
+      setup:    "tsres ",
       check: {
-        predictionsContains: [ 'inline-css' ],
+        predictionsContains: [ "inline-css" ],
       }
     }
   ]);
 };
 
-exports.testAllPredictions1 = function(options) {
+exports.testAllPredictions1 = function (options) {
   if (options.isRemote) {
-    assert.log('Can\'t directly test remote types locally.');
+    assert.log("Can't directly test remote types locally.");
     return;
   }
 
   var context = options.requisition.conversionContext;
-  var resource = options.requisition.system.types.createType('resource');
-  return resource.getLookup(context).then(function(opts) {
-    assert.ok(opts.length > 1, 'have all resources');
+  var resource = options.requisition.system.types.createType("resource");
+  return resource.getLookup(context).then(function (opts) {
+    assert.ok(opts.length > 1, "have all resources");
 
-    return util.promiseEach(opts, function(prediction) {
+    return util.promiseEach(opts, function (prediction) {
       return checkPrediction(resource, prediction, context);
     });
   });
 };
 
-exports.testScriptPredictions = function(options) {
+exports.testScriptPredictions = function (options) {
   if (options.isRemote || options.isNode) {
-    assert.log('Can\'t directly test remote types locally.');
+    assert.log("Can't directly test remote types locally.");
     return;
   }
 
   var context = options.requisition.conversionContext;
   var types = options.requisition.system.types;
-  var resource = types.createType({ name: 'resource', include: 'text/javascript' });
-  return resource.getLookup(context).then(function(opts) {
-    assert.ok(opts.length > 1, 'have js resources');
+  var resource = types.createType({ name: "resource", include: "text/javascript" });
+  return resource.getLookup(context).then(function (opts) {
+    assert.ok(opts.length > 1, "have js resources");
 
-    return util.promiseEach(opts, function(prediction) {
+    return util.promiseEach(opts, function (prediction) {
       return checkPrediction(resource, prediction, context);
     });
   });
 };
 
-exports.testStylePredictions = function(options) {
+exports.testStylePredictions = function (options) {
   if (options.isRemote) {
-    assert.log('Can\'t directly test remote types locally.');
+    assert.log("Can't directly test remote types locally.");
     return;
   }
 
   var context = options.requisition.conversionContext;
   var types = options.requisition.system.types;
-  var resource = types.createType({ name: 'resource', include: 'text/css' });
-  return resource.getLookup(context).then(function(opts) {
-    assert.ok(opts.length >= 1, 'have css resources');
+  var resource = types.createType({ name: "resource", include: "text/css" });
+  return resource.getLookup(context).then(function (opts) {
+    assert.ok(opts.length >= 1, "have css resources");
 
-    return util.promiseEach(opts, function(prediction) {
+    return util.promiseEach(opts, function (prediction) {
       return checkPrediction(resource, prediction, context);
     });
   });
 };
 
-exports.testAllPredictions2 = function(options) {
+exports.testAllPredictions2 = function (options) {
   if (options.isRemote) {
-    assert.log('Can\'t directly test remote types locally.');
+    assert.log("Can't directly test remote types locally.");
     return;
   }
 
   var context = options.requisition.conversionContext;
   var types = options.requisition.system.types;
 
-  var scriptRes = types.createType({ name: 'resource', include: 'text/javascript' });
-  return scriptRes.getLookup(context).then(function(scriptOptions) {
-    var styleRes = types.createType({ name: 'resource', include: 'text/css' });
-    return styleRes.getLookup(context).then(function(styleOptions) {
-      var allRes = types.createType({ name: 'resource' });
-      return allRes.getLookup(context).then(function(allOptions) {
+  var scriptRes = types.createType({ name: "resource", include: "text/javascript" });
+  return scriptRes.getLookup(context).then(function (scriptOptions) {
+    var styleRes = types.createType({ name: "resource", include: "text/css" });
+    return styleRes.getLookup(context).then(function (styleOptions) {
+      var allRes = types.createType({ name: "resource" });
+      return allRes.getLookup(context).then(function (allOptions) {
         assert.is(scriptOptions.length + styleOptions.length,
                   allOptions.length,
-                  'split');
+                  "split");
       });
     });
   });
 };
 
-exports.testAllPredictions3 = function(options) {
+exports.testAllPredictions3 = function (options) {
   if (options.isRemote) {
-    assert.log('Can\'t directly test remote types locally.');
+    assert.log("Can't directly test remote types locally.");
     return;
   }
 
   var context = options.requisition.conversionContext;
   var types = options.requisition.system.types;
-  var res1 = types.createType({ name: 'resource' });
-  return res1.getLookup(context).then(function(options1) {
-    var res2 = types.createType('resource');
-    return res2.getLookup(context).then(function(options2) {
-      assert.is(options1.length, options2.length, 'type spec');
+  var res1 = types.createType({ name: "resource" });
+  return res1.getLookup(context).then(function (options1) {
+    var res2 = types.createType("resource");
+    return res2.getLookup(context).then(function (options2) {
+      assert.is(options1.length, options2.length, "type spec");
     });
   });
 };
 
 function checkPrediction(res, prediction, context) {
   var name = prediction.name;
   var value = prediction.value;
 
-  return res.parseString(name, context).then(function(conversion) {
-    assert.is(conversion.getStatus(), Status.VALID, 'status VALID for ' + name);
-    assert.is(conversion.value, value, 'value for ' + name);
+  return res.parseString(name, context).then(function (conversion) {
+    assert.is(conversion.getStatus(), Status.VALID, "status VALID for " + name);
+    assert.is(conversion.value, value, "value for " + name);
 
-    assert.is(typeof value.loadContents, 'function', 'resource for ' + name);
-    assert.is(typeof value.element, 'object', 'resource for ' + name);
+    assert.is(typeof value.loadContents, "function", "resource for " + name);
+    assert.is(typeof value.element, "object", "resource for " + name);
 
-    return Promise.resolve(res.stringify(value, context)).then(function(strung) {
-      assert.is(strung, name, 'stringify for ' + name);
+    return Promise.resolve(res.stringify(value, context)).then(function (strung) {
+      assert.is(strung, name, "stringify for " + name);
     });
   });
 }
--- a/devtools/client/commandline/test/browser_gcli_short.js
+++ b/devtools/client/commandline/test/browser_gcli_short.js
@@ -9,240 +9,240 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_short.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testBasic = function(options) {
+exports.testBasic = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tshidden -v',
+      setup:    "tshidden -v",
       check: {
-        input:  'tshidden -v',
-        hints:             ' <string>',
-        markup: 'VVVVVVVVVII',
+        input:  "tshidden -v",
+        hints:             " <string>",
+        markup: "VVVVVVVVVII",
         cursor: 11,
-        current: 'visible',
-        status: 'ERROR',
+        current: "visible",
+        status: "ERROR",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
             value: undefined,
-            arg: ' -v',
-            status: 'INCOMPLETE'
+            arg: " -v",
+            status: "INCOMPLETE"
           },
           invisiblestring: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tshidden -v v',
+      setup:    "tshidden -v v",
       check: {
-        input:  'tshidden -v v',
-        hints:               '',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tshidden -v v",
+        hints:               "",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'visible',
-        status: 'VALID',
+        current: "visible",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
-            value: 'v',
-            arg: ' -v v',
-            status: 'VALID',
-            message: ''
+            value: "v",
+            arg: " -v v",
+            status: "VALID",
+            message: ""
           },
           invisiblestring: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tshidden -i i',
+      setup:    "tshidden -i i",
       check: {
-        input:  'tshidden -i i',
-        hints:               ' [options]',
-        markup: 'VVVVVVVVVVVVV',
+        input:  "tshidden -i i",
+        hints:               " [options]",
+        markup: "VVVVVVVVVVVVV",
         cursor: 13,
-        current: 'invisiblestring',
-        status: 'VALID',
+        current: "invisiblestring",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisiblestring: {
-            value: 'i',
-            arg: ' -i i',
-            status: 'VALID',
-            message: ''
+            value: "i",
+            arg: " -i i",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tshidden -b',
+      setup:    "tshidden -b",
       check: {
-        input:  'tshidden -b',
-        hints:             ' [options]',
-        markup: 'VVVVVVVVVVV',
+        input:  "tshidden -b",
+        hints:             " [options]",
+        markup: "VVVVVVVVVVV",
         cursor: 11,
-        current: 'invisibleboolean',
-        status: 'VALID',
+        current: "invisibleboolean",
+        status: "VALID",
         options: [ ],
-        message: '',
+        message: "",
         predictions: [ ],
         unassigned: [ ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisiblestring: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: true,
-            arg: ' -b',
-            status: 'VALID',
-            message: ''
+            arg: " -b",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tshidden -j',
+      setup:    "tshidden -j",
       check: {
-        input:  'tshidden -j',
-        hints:             ' [options]',
-        markup: 'VVVVVVVVVEE',
+        input:  "tshidden -j",
+        hints:             " [options]",
+        markup: "VVVVVVVVVEE",
         cursor: 11,
-        current: '__unassigned',
-        status: 'ERROR',
+        current: "__unassigned",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'-j\'.',
+        message: "Can't use '-j'.",
         predictions: [ ],
-        unassigned: [ ' -j' ],
+        unassigned: [ " -j" ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisiblestring: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: false,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
-      setup:    'tshidden -v jj -b --',
+      setup:    "tshidden -v jj -b --",
       check: {
-        input:  'tshidden -v jj -b --',
-        hints:                      '',
-        markup: 'VVVVVVVVVVVVVVVVVVEE',
+        input:  "tshidden -v jj -b --",
+        hints:                      "",
+        markup: "VVVVVVVVVVVVVVVVVVEE",
         cursor: 20,
-        current: '__unassigned',
-        status: 'ERROR',
+        current: "__unassigned",
+        status: "ERROR",
         options: [ ],
-        message: 'Can\'t use \'--\'.',
+        message: "Can't use '--'.",
         predictions: [ ],
-        unassigned: [ ' --' ],
+        unassigned: [ " --" ],
         args: {
-          command: { name: 'tshidden' },
+          command: { name: "tshidden" },
           visible: {
-            value: 'jj',
-            arg: ' -v jj',
-            status: 'VALID',
-            message: ''
+            value: "jj",
+            arg: " -v jj",
+            status: "VALID",
+            message: ""
           },
           invisiblestring: {
             value: undefined,
-            arg: '',
-            status: 'VALID',
-            message: ''
+            arg: "",
+            status: "VALID",
+            message: ""
           },
           invisibleboolean: {
             value: true,
-            arg: ' -b',
-            status: 'VALID',
-            message: ''
+            arg: " -b",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_spell.js
+++ b/devtools/client/commandline/test/browser_gcli_spell.js
@@ -8,65 +8,65 @@
  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_spell.js");
 }
 
 // var assert = require('../testharness/assert');
-var spell = require('gcli/util/spell');
+var spell = require("gcli/util/spell");
 
-exports.testSpellerSimple = function(options) {
+exports.testSpellerSimple = function (options) {
   var alternatives = [
-    'window', 'document', 'InstallTrigger', 'requirejs', 'require','define',
-    'console', 'location', 'constructor', 'getInterface', 'external', 'sidebar'
+    "window", "document", "InstallTrigger", "requirejs", "require", "define",
+    "console", "location", "constructor", "getInterface", "external", "sidebar"
   ];
 
-  assert.is(spell.correct('document', alternatives), 'document');
-  assert.is(spell.correct('documen', alternatives), 'document');
-  assert.is(spell.correct('ocument', alternatives), 'document');
-  assert.is(spell.correct('odcument', alternatives), 'document');
+  assert.is(spell.correct("document", alternatives), "document");
+  assert.is(spell.correct("documen", alternatives), "document");
+  assert.is(spell.correct("ocument", alternatives), "document");
+  assert.is(spell.correct("odcument", alternatives), "document");
 
-  assert.is(spell.correct('=========', alternatives), undefined);
+  assert.is(spell.correct("=========", alternatives), undefined);
 };
 
-exports.testRank = function(options) {
-  var distances = spell.rank('fred', [ 'banana', 'fred', 'ed', 'red', 'FRED' ]);
+exports.testRank = function (options) {
+  var distances = spell.rank("fred", [ "banana", "fred", "ed", "red", "FRED" ]);
 
-  assert.is(distances.length, 5, 'rank length');
+  assert.is(distances.length, 5, "rank length");
 
-  assert.is(distances[0].name, 'fred', 'fred name #0');
-  assert.is(distances[1].name, 'FRED', 'FRED name #1');
-  assert.is(distances[2].name, 'red', 'red name #2');
-  assert.is(distances[3].name, 'ed', 'ed name #3');
-  assert.is(distances[4].name, 'banana', 'banana name #4');
+  assert.is(distances[0].name, "fred", "fred name #0");
+  assert.is(distances[1].name, "FRED", "FRED name #1");
+  assert.is(distances[2].name, "red", "red name #2");
+  assert.is(distances[3].name, "ed", "ed name #3");
+  assert.is(distances[4].name, "banana", "banana name #4");
 
-  assert.is(distances[0].dist, 0, 'fred dist 0');
-  assert.is(distances[1].dist, 4, 'FRED dist 4');
-  assert.is(distances[2].dist, 10, 'red dist 10');
-  assert.is(distances[3].dist, 20, 'ed dist 20');
-  assert.is(distances[4].dist, 100, 'banana dist 100');
+  assert.is(distances[0].dist, 0, "fred dist 0");
+  assert.is(distances[1].dist, 4, "FRED dist 4");
+  assert.is(distances[2].dist, 10, "red dist 10");
+  assert.is(distances[3].dist, 20, "ed dist 20");
+  assert.is(distances[4].dist, 100, "banana dist 100");
 };
 
-exports.testRank2 = function(options) {
-  var distances = spell.rank('caps', [ 'CAPS', 'false' ]);
+exports.testRank2 = function (options) {
+  var distances = spell.rank("caps", [ "CAPS", "false" ]);
   assert.is(JSON.stringify(distances),
             '[{"name":"CAPS","dist":4},{"name":"false","dist":50}]',
             'spell.rank("caps", [ "CAPS", "false" ]');
 };
 
-exports.testDistancePrefix = function(options) {
-  assert.is(spell.distancePrefix('fred', 'freddy'), 0, 'distancePrefix fred');
-  assert.is(spell.distancePrefix('FRED', 'freddy'), 4, 'distancePrefix FRED');
+exports.testDistancePrefix = function (options) {
+  assert.is(spell.distancePrefix("fred", "freddy"), 0, "distancePrefix fred");
+  assert.is(spell.distancePrefix("FRED", "freddy"), 4, "distancePrefix FRED");
 };
--- a/devtools/client/commandline/test/browser_gcli_split.js
+++ b/devtools/client/commandline/test/browser_gcli_split.js
@@ -9,59 +9,59 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_split.js");
 }
 
 // var assert = require('../testharness/assert');
 
-var cli = require('gcli/cli');
+var cli = require("gcli/cli");
 
-exports.testSplitSimple = function(options) {
-  var args = cli.tokenize('s');
+exports.testSplitSimple = function (options) {
+  var args = cli.tokenize("s");
   options.requisition._split(args);
   assert.is(args.length, 0);
-  assert.is(options.requisition.commandAssignment.arg.text, 's');
+  assert.is(options.requisition.commandAssignment.arg.text, "s");
 };
 
-exports.testFlatCommand = function(options) {
-  var args = cli.tokenize('tsv');
+exports.testFlatCommand = function (options) {
+  var args = cli.tokenize("tsv");
   options.requisition._split(args);
   assert.is(args.length, 0);
-  assert.is(options.requisition.commandAssignment.value.name, 'tsv');
+  assert.is(options.requisition.commandAssignment.value.name, "tsv");
 
-  args = cli.tokenize('tsv a b');
+  args = cli.tokenize("tsv a b");
   options.requisition._split(args);
-  assert.is(options.requisition.commandAssignment.value.name, 'tsv');
+  assert.is(options.requisition.commandAssignment.value.name, "tsv");
   assert.is(args.length, 2);
-  assert.is(args[0].text, 'a');
-  assert.is(args[1].text, 'b');
+  assert.is(args[0].text, "a");
+  assert.is(args[1].text, "b");
 };
 
-exports.testJavascript = function(options) {
-  if (!options.requisition.system.commands.get('{')) {
-    assert.log('Skipping testJavascript because { is not registered');
+exports.testJavascript = function (options) {
+  if (!options.requisition.system.commands.get("{")) {
+    assert.log("Skipping testJavascript because { is not registered");
     return;
   }
 
-  var args = cli.tokenize('{');
+  var args = cli.tokenize("{");
   options.requisition._split(args);
   assert.is(args.length, 1);
-  assert.is(args[0].text, '');
-  assert.is(options.requisition.commandAssignment.arg.text, '');
-  assert.is(options.requisition.commandAssignment.value.name, '{');
+  assert.is(args[0].text, "");
+  assert.is(options.requisition.commandAssignment.arg.text, "");
+  assert.is(options.requisition.commandAssignment.value.name, "{");
 };
 
 // BUG 663081 - add tests for sub commands
--- a/devtools/client/commandline/test/browser_gcli_string.js
+++ b/devtools/client/commandline/test/browser_gcli_string.js
@@ -9,262 +9,262 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_string.js");
 }
 
 // var helpers = require('./helpers');
 
-exports.testNewLine = function(options) {
+exports.testNewLine = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'echo a\\nb',
+      setup:    "echo a\\nb",
       check: {
-        input:  'echo a\\nb',
-        hints:            '',
-        markup: 'VVVVVVVVV',
+        input:  "echo a\\nb",
+        hints:            "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         args: {
-          command: { name: 'echo' },
+          command: { name: "echo" },
           message: {
-            value: 'a\nb',
-            arg: ' a\\nb',
-            status: 'VALID',
-            message: ''
+            value: "a\nb",
+            arg: " a\\nb",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testTab = function(options) {
+exports.testTab = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'echo a\\tb',
+      setup:    "echo a\\tb",
       check: {
-        input:  'echo a\\tb',
-        hints:            '',
-        markup: 'VVVVVVVVV',
+        input:  "echo a\\tb",
+        hints:            "",
+        markup: "VVVVVVVVV",
         cursor: 9,
-        current: 'message',
-        status: 'VALID',
+        current: "message",
+        status: "VALID",
         args: {
-          command: { name: 'echo' },
+          command: { name: "echo" },
           message: {
-            value: 'a\tb',
-            arg: ' a\\tb',
-            status: 'VALID',
-            message: ''
+            value: "a\tb",
+            arg: " a\\tb",
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testEscape = function(options) {
+exports.testEscape = function (options) {
   return helpers.audit(options, [
     {
       // What's typed is actually:
       //         tsrsrsr a\\ b c
-      setup:    'tsrsrsr a\\\\ b c',
+      setup:    "tsrsrsr a\\\\ b c",
       check: {
-        input:  'tsrsrsr a\\\\ b c',
-        hints:                 '',
-        markup: 'VVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsrsrsr a\\\\ b c",
+        hints:                 "",
+        markup: "VVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
-          p1: { value: 'a\\', arg: ' a\\\\', status: 'VALID', message: '' },
-          p2: { value: 'b', arg: ' b', status: 'VALID', message: '' },
-          p3: { value: 'c', arg: ' c', status: 'VALID', message: '' },
+          command: { name: "tsrsrsr" },
+          p1: { value: "a\\", arg: " a\\\\", status: "VALID", message: "" },
+          p2: { value: "b", arg: " b", status: "VALID", message: "" },
+          p3: { value: "c", arg: " c", status: "VALID", message: "" },
         }
       }
     },
     {
       // What's typed is actually:
       //         tsrsrsr abc\\ndef asd asd
-      setup:    'tsrsrsr abc\\\\ndef asd asd',
+      setup:    "tsrsrsr abc\\\\ndef asd asd",
       check: {
-        input:  'tsrsrsr abc\\\\ndef asd asd',
-        hints:                           '',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVV',
-        status: 'VALID',
-        message: '',
+        input:  "tsrsrsr abc\\\\ndef asd asd",
+        hints:                           "",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVV",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
+          command: { name: "tsrsrsr" },
           p1: {
-            value: 'abc\\ndef',
-            arg: ' abc\\\\ndef',
-            status: 'VALID',
-            message: ''
+            value: "abc\\ndef",
+            arg: " abc\\\\ndef",
+            status: "VALID",
+            message: ""
           },
-          p2: { value: 'asd', arg: ' asd', status: 'VALID', message: '' },
-          p3: { value: 'asd', arg: ' asd', status: 'VALID', message: '' },
+          p2: { value: "asd", arg: " asd", status: "VALID", message: "" },
+          p3: { value: "asd", arg: " asd", status: "VALID", message: "" },
         }
       }
     }
   ]);
 };
 
-exports.testBlank = function(options) {
+exports.testBlank = function (options) {
   return helpers.audit(options, [
     {
       setup:    'tsrsrsr a "" c',
       check: {
         input:  'tsrsrsr a "" c',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'p3',
-        status: 'ERROR',
-        message: '',
+        current: "p3",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
+          command: { name: "tsrsrsr" },
           p1: {
-            value: 'a',
-            arg: ' a',
-            status: 'VALID',
-            message: ''
+            value: "a",
+            arg: " a",
+            status: "VALID",
+            message: ""
           },
           p2: {
             value: undefined,
             arg: ' ""',
-            status: 'INCOMPLETE'
+            status: "INCOMPLETE"
           },
           p3: {
-            value: 'c',
-            arg: ' c',
-            status: 'VALID',
-            message: ''
+            value: "c",
+            arg: " c",
+            status: "VALID",
+            message: ""
           }
         }
       }
     },
     {
       setup:    'tsrsrsr a b ""',
       check: {
         input:  'tsrsrsr a b ""',
-        hints:                '',
-        markup: 'VVVVVVVVVVVVVV',
+        hints:                "",
+        markup: "VVVVVVVVVVVVVV",
         cursor: 14,
-        current: 'p3',
-        status: 'VALID',
-        message: '',
+        current: "p3",
+        status: "VALID",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
+          command: { name: "tsrsrsr" },
           p1: {
-            value: 'a',
-            arg: ' a',
-            status:'VALID',
-            message: '' },
+            value: "a",
+            arg: " a",
+            status:"VALID",
+            message: "" },
           p2: {
-            value: 'b',
-            arg: ' b',
-            status: 'VALID',
-            message: ''
+            value: "b",
+            arg: " b",
+            status: "VALID",
+            message: ""
           },
           p3: {
-            value: '',
+            value: "",
             arg: ' ""',
-            status: 'VALID',
-            message: ''
+            status: "VALID",
+            message: ""
           }
         }
       }
     }
   ]);
 };
 
-exports.testBlankWithParam = function(options) {
+exports.testBlankWithParam = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'tsrsrsr  a --p3',
+      setup:    "tsrsrsr  a --p3",
       check: {
-        input:  'tsrsrsr  a --p3',
-        hints:                 ' <string> <p2>',
-        markup: 'VVVVVVVVVVVVVVV',
+        input:  "tsrsrsr  a --p3",
+        hints:                 " <string> <p2>",
+        markup: "VVVVVVVVVVVVVVV",
         cursor: 15,
-        current: 'p3',
-        status: 'ERROR',
-        message: '',
+        current: "p3",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
-          p1: { value: 'a', arg: '  a', status: 'VALID', message: '' },
-          p2: { value: undefined, arg: '', status: 'INCOMPLETE' },
-          p3: { value: '', arg: ' --p3', status: 'VALID', message: '' },
+          command: { name: "tsrsrsr" },
+          p1: { value: "a", arg: "  a", status: "VALID", message: "" },
+          p2: { value: undefined, arg: "", status: "INCOMPLETE" },
+          p3: { value: "", arg: " --p3", status: "VALID", message: "" },
         }
       }
     },
     {
-      setup:    'tsrsrsr  a --p3 ',
+      setup:    "tsrsrsr  a --p3 ",
       check: {
-        input:  'tsrsrsr  a --p3 ',
-        hints:                  '<string> <p2>',
-        markup: 'VVVVVVVVVVVVVVVV',
+        input:  "tsrsrsr  a --p3 ",
+        hints:                  "<string> <p2>",
+        markup: "VVVVVVVVVVVVVVVV",
         cursor: 16,
-        current: 'p3',
-        status: 'ERROR',
-        message: '',
+        current: "p3",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
-          p1: { value: 'a', arg: '  a', status: 'VALID', message: '' },
-          p2: { value: undefined, arg: '', status: 'INCOMPLETE' },
-          p3: { value: '', arg: ' --p3 ', status: 'VALID', message: '' },
+          command: { name: "tsrsrsr" },
+          p1: { value: "a", arg: "  a", status: "VALID", message: "" },
+          p2: { value: undefined, arg: "", status: "INCOMPLETE" },
+          p3: { value: "", arg: " --p3 ", status: "VALID", message: "" },
         }
       }
     },
     {
       setup:    'tsrsrsr  a --p3 "',
       check: {
         input:  'tsrsrsr  a --p3 "',
-        hints:                   ' <p2>',
-        markup: 'VVVVVVVVVVVVVVVVV',
+        hints:                   " <p2>",
+        markup: "VVVVVVVVVVVVVVVVV",
         cursor: 17,
-        current: 'p3',
-        status: 'ERROR',
-        message: '',
+        current: "p3",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
-          p1: { value: 'a', arg: '  a', status: 'VALID', message: '' },
-          p2: { value: undefined, arg: '', status: 'INCOMPLETE' },
-          p3: { value: '', arg: ' --p3 "', status: 'VALID', message: '' },
+          command: { name: "tsrsrsr" },
+          p1: { value: "a", arg: "  a", status: "VALID", message: "" },
+          p2: { value: undefined, arg: "", status: "INCOMPLETE" },
+          p3: { value: "", arg: ' --p3 "', status: "VALID", message: "" },
         }
       }
     },
     {
       setup:    'tsrsrsr  a --p3 ""',
       check: {
         input:  'tsrsrsr  a --p3 ""',
-        hints:                    ' <p2>',
-        markup: 'VVVVVVVVVVVVVVVVVV',
+        hints:                    " <p2>",
+        markup: "VVVVVVVVVVVVVVVVVV",
         cursor: 18,
-        current: 'p3',
-        status: 'ERROR',
-        message: '',
+        current: "p3",
+        status: "ERROR",
+        message: "",
         args: {
-          command: { name: 'tsrsrsr' },
-          p1: { value: 'a', arg: '  a', status: 'VALID', message: '' },
-          p2: { value: undefined, arg: '', status: 'INCOMPLETE' },
-          p3: { value: '', arg: ' --p3 ""', status: 'VALID', message: '' },
+          command: { name: "tsrsrsr" },
+          p1: { value: "a", arg: "  a", status: "VALID", message: "" },
+          p2: { value: undefined, arg: "", status: "INCOMPLETE" },
+          p3: { value: "", arg: ' --p3 ""', status: "VALID", message: "" },
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_tokenize.js
+++ b/devtools/client/commandline/test/browser_gcli_tokenize.js
@@ -9,282 +9,282 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_tokenize.js");
 }
 
 // var assert = require('../testharness/assert');
-var cli = require('gcli/cli');
+var cli = require("gcli/cli");
 
-exports.testBlanks = function(options) {
+exports.testBlanks = function (options) {
   var args;
 
-  args = cli.tokenize('');
+  args = cli.tokenize("");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '');
-  assert.is(args[0].prefix, '');
-  assert.is(args[0].suffix, '');
+  assert.is(args[0].text, "");
+  assert.is(args[0].prefix, "");
+  assert.is(args[0].suffix, "");
 
-  args = cli.tokenize(' ');
+  args = cli.tokenize(" ");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '');
-  assert.is(args[0].prefix, ' ');
-  assert.is(args[0].suffix, '');
+  assert.is(args[0].text, "");
+  assert.is(args[0].prefix, " ");
+  assert.is(args[0].suffix, "");
 };
 
-exports.testTokSimple = function(options) {
+exports.testTokSimple = function (options) {
   var args;
 
-  args = cli.tokenize('s');
+  args = cli.tokenize("s");
   assert.is(args.length, 1);
-  assert.is(args[0].text, 's');
-  assert.is(args[0].prefix, '');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].text, "s");
+  assert.is(args[0].prefix, "");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "Argument");
 
-  args = cli.tokenize('s s');
+  args = cli.tokenize("s s");
   assert.is(args.length, 2);
-  assert.is(args[0].text, 's');
-  assert.is(args[0].prefix, '');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'Argument');
-  assert.is(args[1].text, 's');
-  assert.is(args[1].prefix, ' ');
-  assert.is(args[1].suffix, '');
-  assert.is(args[1].type, 'Argument');
+  assert.is(args[0].text, "s");
+  assert.is(args[0].prefix, "");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "Argument");
+  assert.is(args[1].text, "s");
+  assert.is(args[1].prefix, " ");
+  assert.is(args[1].suffix, "");
+  assert.is(args[1].type, "Argument");
 };
 
-exports.testJavascript = function(options) {
+exports.testJavascript = function (options) {
   var args;
 
-  args = cli.tokenize('{x}');
+  args = cli.tokenize("{x}");
   assert.is(args.length, 1);
-  assert.is(args[0].text, 'x');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "x");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{ x }');
+  args = cli.tokenize("{ x }");
   assert.is(args.length, 1);
-  assert.is(args[0].text, 'x');
-  assert.is(args[0].prefix, '{ ');
-  assert.is(args[0].suffix, ' }');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "x");
+  assert.is(args[0].prefix, "{ ");
+  assert.is(args[0].suffix, " }");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{x} {y}');
+  args = cli.tokenize("{x} {y}");
   assert.is(args.length, 2);
-  assert.is(args[0].text, 'x');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
-  assert.is(args[1].text, 'y');
-  assert.is(args[1].prefix, ' {');
-  assert.is(args[1].suffix, '}');
-  assert.is(args[1].type, 'ScriptArgument');
+  assert.is(args[0].text, "x");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
+  assert.is(args[1].text, "y");
+  assert.is(args[1].prefix, " {");
+  assert.is(args[1].suffix, "}");
+  assert.is(args[1].type, "ScriptArgument");
 
-  args = cli.tokenize('{x}{y}');
+  args = cli.tokenize("{x}{y}");
   assert.is(args.length, 2);
-  assert.is(args[0].text, 'x');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
-  assert.is(args[1].text, 'y');
-  assert.is(args[1].prefix, '{');
-  assert.is(args[1].suffix, '}');
-  assert.is(args[1].type, 'ScriptArgument');
+  assert.is(args[0].text, "x");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
+  assert.is(args[1].text, "y");
+  assert.is(args[1].prefix, "{");
+  assert.is(args[1].suffix, "}");
+  assert.is(args[1].type, "ScriptArgument");
 
-  args = cli.tokenize('{');
+  args = cli.tokenize("{");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{ ');
+  args = cli.tokenize("{ ");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '');
-  assert.is(args[0].prefix, '{ ');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "");
+  assert.is(args[0].prefix, "{ ");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{x');
+  args = cli.tokenize("{x");
   assert.is(args.length, 1);
-  assert.is(args[0].text, 'x');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "x");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "ScriptArgument");
 };
 
-exports.testRegularNesting = function(options) {
+exports.testRegularNesting = function (options) {
   var args;
 
   args = cli.tokenize('{"x"}');
   assert.is(args.length, 1);
   assert.is(args[0].text, '"x"');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{\'x\'}');
+  args = cli.tokenize("{'x'}");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '\'x\'');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "'x'");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
   args = cli.tokenize('"{x}"');
   assert.is(args.length, 1);
-  assert.is(args[0].text, '{x}');
+  assert.is(args[0].text, "{x}");
   assert.is(args[0].prefix, '"');
   assert.is(args[0].suffix, '"');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].type, "Argument");
 
-  args = cli.tokenize('\'{x}\'');
+  args = cli.tokenize("'{x}'");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '{x}');
-  assert.is(args[0].prefix, '\'');
-  assert.is(args[0].suffix, '\'');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].text, "{x}");
+  assert.is(args[0].prefix, "'");
+  assert.is(args[0].suffix, "'");
+  assert.is(args[0].type, "Argument");
 };
 
-exports.testDeepNesting = function(options) {
+exports.testDeepNesting = function (options) {
   var args;
 
-  args = cli.tokenize('{{}}');
+  args = cli.tokenize("{{}}");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '{}');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "{}");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{{x} {y}}');
+  args = cli.tokenize("{{x} {y}}");
   assert.is(args.length, 1);
-  assert.is(args[0].text, '{x} {y}');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "{x} {y}");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  args = cli.tokenize('{{w} {{{x}}}} {y} {{{z}}}');
+  args = cli.tokenize("{{w} {{{x}}}} {y} {{{z}}}");
 
   assert.is(args.length, 3);
 
-  assert.is(args[0].text, '{w} {{{x}}}');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "{w} {{{x}}}");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  assert.is(args[1].text, 'y');
-  assert.is(args[1].prefix, ' {');
-  assert.is(args[1].suffix, '}');
-  assert.is(args[1].type, 'ScriptArgument');
+  assert.is(args[1].text, "y");
+  assert.is(args[1].prefix, " {");
+  assert.is(args[1].suffix, "}");
+  assert.is(args[1].type, "ScriptArgument");
 
-  assert.is(args[2].text, '{{z}}');
-  assert.is(args[2].prefix, ' {');
-  assert.is(args[2].suffix, '}');
-  assert.is(args[2].type, 'ScriptArgument');
+  assert.is(args[2].text, "{{z}}");
+  assert.is(args[2].prefix, " {");
+  assert.is(args[2].suffix, "}");
+  assert.is(args[2].type, "ScriptArgument");
 
-  args = cli.tokenize('{{w} {{{x}}} {y} {{{z}}}');
+  args = cli.tokenize("{{w} {{{x}}} {y} {{{z}}}");
 
   assert.is(args.length, 1);
 
-  assert.is(args[0].text, '{w} {{{x}}} {y} {{{z}}}');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].text, "{w} {{{x}}} {y} {{{z}}}");
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "ScriptArgument");
 };
 
-exports.testStrangeNesting = function(options) {
+exports.testStrangeNesting = function (options) {
   var args;
 
   // Note: When we get real JS parsing this should break
   args = cli.tokenize('{"x}"}');
 
   assert.is(args.length, 2);
 
   assert.is(args[0].text, '"x');
-  assert.is(args[0].prefix, '{');
-  assert.is(args[0].suffix, '}');
-  assert.is(args[0].type, 'ScriptArgument');
+  assert.is(args[0].prefix, "{");
+  assert.is(args[0].suffix, "}");
+  assert.is(args[0].type, "ScriptArgument");
 
-  assert.is(args[1].text, '}');
+  assert.is(args[1].text, "}");
   assert.is(args[1].prefix, '"');
-  assert.is(args[1].suffix, '');
-  assert.is(args[1].type, 'Argument');
+  assert.is(args[1].suffix, "");
+  assert.is(args[1].type, "Argument");
 };
 
-exports.testComplex = function(options) {
+exports.testComplex = function (options) {
   var args;
 
-  args = cli.tokenize(' 1234  \'12 34\'');
+  args = cli.tokenize(" 1234  '12 34'");
 
   assert.is(args.length, 2);
 
-  assert.is(args[0].text, '1234');
-  assert.is(args[0].prefix, ' ');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].text, "1234");
+  assert.is(args[0].prefix, " ");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "Argument");
 
-  assert.is(args[1].text, '12 34');
-  assert.is(args[1].prefix, '  \'');
-  assert.is(args[1].suffix, '\'');
-  assert.is(args[1].type, 'Argument');
+  assert.is(args[1].text, "12 34");
+  assert.is(args[1].prefix, "  '");
+  assert.is(args[1].suffix, "'");
+  assert.is(args[1].type, "Argument");
 
   args = cli.tokenize('12\'34 "12 34" \\'); // 12'34 "12 34" \
 
   assert.is(args.length, 3);
 
-  assert.is(args[0].text, '12\'34');
-  assert.is(args[0].prefix, '');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].text, "12'34");
+  assert.is(args[0].prefix, "");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "Argument");
 
-  assert.is(args[1].text, '12 34');
+  assert.is(args[1].text, "12 34");
   assert.is(args[1].prefix, ' "');
   assert.is(args[1].suffix, '"');
-  assert.is(args[1].type, 'Argument');
+  assert.is(args[1].type, "Argument");
 
-  assert.is(args[2].text, '\\');
-  assert.is(args[2].prefix, ' ');
-  assert.is(args[2].suffix, '');
-  assert.is(args[2].type, 'Argument');
+  assert.is(args[2].text, "\\");
+  assert.is(args[2].prefix, " ");
+  assert.is(args[2].suffix, "");
+  assert.is(args[2].type, "Argument");
 };
 
-exports.testPathological = function(options) {
+exports.testPathological = function (options) {
   var args;
 
   args = cli.tokenize('a\\ b \\t\\n\\r \\\'x\\\" \'d'); // a_b \t\n\r \'x\" 'd
 
   assert.is(args.length, 4);
 
-  assert.is(args[0].text, 'a\\ b');
-  assert.is(args[0].prefix, '');
-  assert.is(args[0].suffix, '');
-  assert.is(args[0].type, 'Argument');
+  assert.is(args[0].text, "a\\ b");
+  assert.is(args[0].prefix, "");
+  assert.is(args[0].suffix, "");
+  assert.is(args[0].type, "Argument");
 
-  assert.is(args[1].text, '\\t\\n\\r');
-  assert.is(args[1].prefix, ' ');
-  assert.is(args[1].suffix, '');
-  assert.is(args[1].type, 'Argument');
+  assert.is(args[1].text, "\\t\\n\\r");
+  assert.is(args[1].prefix, " ");
+  assert.is(args[1].suffix, "");
+  assert.is(args[1].type, "Argument");
 
   assert.is(args[2].text, '\\\'x\\"');
-  assert.is(args[2].prefix, ' ');
-  assert.is(args[2].suffix, '');
-  assert.is(args[2].type, 'Argument');
+  assert.is(args[2].prefix, " ");
+  assert.is(args[2].suffix, "");
+  assert.is(args[2].type, "Argument");
 
-  assert.is(args[3].text, 'd');
-  assert.is(args[3].prefix, ' \'');
-  assert.is(args[3].suffix, '');
-  assert.is(args[3].type, 'Argument');
+  assert.is(args[3].text, "d");
+  assert.is(args[3].prefix, " '");
+  assert.is(args[3].suffix, "");
+  assert.is(args[3].type, "Argument");
 };
--- a/devtools/client/commandline/test/browser_gcli_tooltip.js
+++ b/devtools/client/commandline/test/browser_gcli_tooltip.js
@@ -9,124 +9,124 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_tooltip.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testActivate = function(options) {
+exports.testActivate = function (options) {
   return helpers.audit(options, [
     {
-      setup:    ' ',
+      setup:    " ",
       check: {
-        input:  ' ',
-        hints:   '',
-        markup: 'V',
+        input:  " ",
+        hints:   "",
+        markup: "V",
         cursor: 1,
-        current: '__command',
-        status: 'ERROR',
-        message:  '',
+        current: "__command",
+        status: "ERROR",
+        message:  "",
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'false:default'
+        outputState: "false:default",
+        tooltipState: "false:default"
       }
     },
     {
-      setup:    'tsb ',
+      setup:    "tsb ",
       check: {
-        input:  'tsb ',
-        hints:      'false',
-        markup: 'VVVV',
+        input:  "tsb ",
+        hints:      "false",
+        markup: "VVVV",
         cursor: 4,
-        current: 'toggle',
-        status: 'VALID',
-        options: [ 'false', 'true' ],
-        message:  '',
-        predictions: [ 'false', 'true' ],
+        current: "toggle",
+        status: "VALID",
+        options: [ "false", "true" ],
+        message:  "",
+        predictions: [ "false", "true" ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'true:importantFieldFlag'
+        outputState: "false:default",
+        tooltipState: "true:importantFieldFlag"
       }
     },
     {
-      setup:    'tsb t',
+      setup:    "tsb t",
       check: {
-        input:  'tsb t',
-        hints:       'rue',
-        markup: 'VVVVI',
+        input:  "tsb t",
+        hints:       "rue",
+        markup: "VVVVI",
         cursor: 5,
-        current: 'toggle',
-        status: 'ERROR',
-        options: [ 'true' ],
-        message:  '',
-        predictions: [ 'true' ],
+        current: "toggle",
+        status: "ERROR",
+        options: [ "true" ],
+        message:  "",
+        predictions: [ "true" ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'true:importantFieldFlag'
+        outputState: "false:default",
+        tooltipState: "true:importantFieldFlag"
       }
     },
     {
-      setup:    'tsb tt',
+      setup:    "tsb tt",
       check: {
-        input:  'tsb tt',
-        hints:        ' -> true',
-        markup: 'VVVVII',
+        input:  "tsb tt",
+        hints:        " -> true",
+        markup: "VVVVII",
         cursor: 6,
-        current: 'toggle',
-        status: 'ERROR',
-        options: [ 'true' ],
-        message: '',
-        predictions: [ 'true' ],
+        current: "toggle",
+        status: "ERROR",
+        options: [ "true" ],
+        message: "",
+        predictions: [ "true" ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'true:importantFieldFlag'
+        outputState: "false:default",
+        tooltipState: "true:importantFieldFlag"
       }
     },
     {
-      setup:    'wxqy',
+      setup:    "wxqy",
       check: {
-        input:  'wxqy',
-        hints:      '',
-        markup: 'EEEE',
+        input:  "wxqy",
+        hints:      "",
+        markup: "EEEE",
         cursor: 4,
-        current: '__command',
-        status: 'ERROR',
+        current: "__command",
+        status: "ERROR",
         options: [ ],
-        message:  'Can\'t use \'wxqy\'.',
+        message:  "Can't use 'wxqy'.",
         predictions: [ ],
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'true:isError'
+        outputState: "false:default",
+        tooltipState: "true:isError"
       }
     },
     {
-      setup:    '',
+      setup:    "",
       check: {
-        input:  '',
-        hints:  '',
-        markup: '',
+        input:  "",
+        hints:  "",
+        markup: "",
         cursor: 0,
-        current: '__command',
-        status: 'ERROR',
-        message: '',
+        current: "__command",
+        status: "ERROR",
+        message: "",
         unassigned: [ ],
-        outputState: 'false:default',
-        tooltipState: 'false:default'
+        outputState: "false:default",
+        tooltipState: "false:default"
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_types.js
+++ b/devtools/client/commandline/test/browser_gcli_types.js
@@ -9,110 +9,110 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_types.js");
 }
 
 // var assert = require('../testharness/assert');
-var util = require('gcli/util/util');
+var util = require("gcli/util/util");
 
 function forEachType(options, templateTypeSpec, callback) {
   var types = options.requisition.system.types;
-  return util.promiseEach(types.getTypeNames(), function(name) {
+  return util.promiseEach(types.getTypeNames(), function (name) {
     var typeSpec = {};
     util.copyProperties(templateTypeSpec, typeSpec);
     typeSpec.name = name;
     typeSpec.requisition = options.requisition;
 
     // Provide some basic defaults to help selection/delegate/array work
-    if (name === 'selection') {
-      typeSpec.data = [ 'a', 'b' ];
+    if (name === "selection") {
+      typeSpec.data = [ "a", "b" ];
     }
-    else if (name === 'delegate') {
-      typeSpec.delegateType = function() {
-        return 'string';
+    else if (name === "delegate") {
+      typeSpec.delegateType = function () {
+        return "string";
       };
     }
-    else if (name === 'array') {
-      typeSpec.subtype = 'string';
+    else if (name === "array") {
+      typeSpec.subtype = "string";
     }
-    else if (name === 'remote') {
+    else if (name === "remote") {
       return;
     }
-    else if (name === 'union') {
-      typeSpec.alternatives = [{ name: 'string' }];
+    else if (name === "union") {
+      typeSpec.alternatives = [{ name: "string" }];
     }
     else if (options.isRemote) {
-      if (name === 'node' || name === 'nodelist') {
+      if (name === "node" || name === "nodelist") {
         return;
       }
     }
 
     var type = types.createType(typeSpec);
     var reply = callback(type);
     return Promise.resolve(reply);
   });
 }
 
-exports.testDefault = function(options) {
-  return forEachType(options, {}, function(type) {
+exports.testDefault = function (options) {
+  return forEachType(options, {}, function (type) {
     var context = options.requisition.executionContext;
     var blank = type.getBlank(context).value;
 
     // boolean and array types are exempt from needing undefined blank values
-    if (type.name === 'boolean') {
-      assert.is(blank, false, 'blank boolean is false');
+    if (type.name === "boolean") {
+      assert.is(blank, false, "blank boolean is false");
     }
-    else if (type.name === 'array') {
-      assert.ok(Array.isArray(blank), 'blank array is array');
-      assert.is(blank.length, 0, 'blank array is empty');
+    else if (type.name === "array") {
+      assert.ok(Array.isArray(blank), "blank array is array");
+      assert.is(blank.length, 0, "blank array is empty");
     }
-    else if (type.name === 'nodelist') {
-      assert.ok(typeof blank.item, 'function', 'blank.item is function');
-      assert.is(blank.length, 0, 'blank nodelist is empty');
+    else if (type.name === "nodelist") {
+      assert.ok(typeof blank.item, "function", "blank.item is function");
+      assert.is(blank.length, 0, "blank nodelist is empty");
     }
     else {
-      assert.is(blank, undefined, 'default defined for ' + type.name);
+      assert.is(blank, undefined, "default defined for " + type.name);
     }
   });
 };
 
-exports.testNullDefault = function(options) {
+exports.testNullDefault = function (options) {
   var context = null; // Is this test still valid with a null context?
 
-  return forEachType(options, { defaultValue: null }, function(type) {
+  return forEachType(options, { defaultValue: null }, function (type) {
     var reply = type.stringify(null, context);
-    return Promise.resolve(reply).then(function(str) {
-      assert.is(str, '', 'stringify(null) for ' + type.name);
+    return Promise.resolve(reply).then(function (str) {
+      assert.is(str, "", "stringify(null) for " + type.name);
     });
   });
 };
 
-exports.testGetSpec = function(options) {
-  return forEachType(options, {}, function(type) {
-    if (type.name === 'param') {
+exports.testGetSpec = function (options) {
+  return forEachType(options, {}, function (type) {
+    if (type.name === "param") {
       return;
     }
 
-    var spec = type.getSpec('cmd', 'param');
-    assert.ok(spec != null, 'non null spec for ' + type.name);
+    var spec = type.getSpec("cmd", "param");
+    assert.ok(spec != null, "non null spec for " + type.name);
 
     var str = JSON.stringify(spec);
-    assert.ok(str != null, 'serializable spec for ' + type.name);
+    assert.ok(str != null, "serializable spec for " + type.name);
 
     var example = options.requisition.system.types.createType(spec);
-    assert.ok(example != null, 'creatable spec for ' + type.name);
+    assert.ok(example != null, "creatable spec for " + type.name);
   });
 };
--- a/devtools/client/commandline/test/browser_gcli_union.js
+++ b/devtools/client/commandline/test/browser_gcli_union.js
@@ -9,165 +9,165 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_union.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testDefault = function(options) {
+exports.testDefault = function (options) {
   return helpers.audit(options, [
     {
-      setup:    'unionc1',
+      setup:    "unionc1",
       check: {
-        input:  'unionc1',
-        markup: 'VVVVVVV',
-        hints:         ' <first>',
-        status: 'ERROR',
+        input:  "unionc1",
+        markup: "VVVVVVV",
+        hints:         " <first>",
+        status: "ERROR",
         args: {
           first: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    'unionc1 three',
+      setup:    "unionc1 three",
       check: {
-        input:  'unionc1 three',
-        markup: 'VVVVVVVVVVVVV',
-        hints:               '',
-        status: 'VALID',
+        input:  "unionc1 three",
+        markup: "VVVVVVVVVVVVV",
+        hints:               "",
+        status: "VALID",
         args: {
           first: {
-            value: function(data) {
-              assert.is(Object.keys(data).length, 2, 'union3 Object.keys');
-              assert.is(data.type, 'string', 'union3 val type');
-              assert.is(data.string, 'three', 'union3 val string');
+            value: function (data) {
+              assert.is(Object.keys(data).length, 2, "union3 Object.keys");
+              assert.is(data.type, "string", "union3 val type");
+              assert.is(data.string, "three", "union3 val string");
             },
-            arg: ' three',
-            status: 'VALID'
+            arg: " three",
+            status: "VALID"
           }
         }
       },
       exec: {
         output: [
           /"type": ?"string"/,
           /"string": ?"three"/
         ]
       },
-      post: function(output, text) {
+      post: function (output, text) {
         var data = output.data.first;
-        assert.is(Object.keys(data).length, 2, 'union3 Object.keys');
-        assert.is(data.type, 'string', 'union3 val type');
-        assert.is(data.string, 'three', 'union3 val string');
+        assert.is(Object.keys(data).length, 2, "union3 Object.keys");
+        assert.is(data.type, "string", "union3 val type");
+        assert.is(data.string, "three", "union3 val string");
       }
     },
     {
-      setup:    'unionc1 one',
+      setup:    "unionc1 one",
       check: {
-        input:  'unionc1 one',
-        markup: 'VVVVVVVVVVV',
-        hints:             '',
-        status: 'VALID',
+        input:  "unionc1 one",
+        markup: "VVVVVVVVVVV",
+        hints:             "",
+        status: "VALID",
         args: {
           first: {
-            value: function(data) {
-              assert.is(Object.keys(data).length, 2, 'union1 Object.keys');
-              assert.is(data.type, 'selection', 'union1 val type');
-              assert.is(data.selection, 1, 'union1 val selection');
+            value: function (data) {
+              assert.is(Object.keys(data).length, 2, "union1 Object.keys");
+              assert.is(data.type, "selection", "union1 val type");
+              assert.is(data.selection, 1, "union1 val selection");
             },
-            arg: ' one',
-            status: 'VALID'
+            arg: " one",
+            status: "VALID"
           }
         }
       },
       exec: {
         output: [
           /"type": ?"selection"/,
           /"selection": ?1/
         ]
       },
-      post: function(output, text) {
+      post: function (output, text) {
         var data = output.data.first;
-        assert.is(Object.keys(data).length, 2, 'union1 Object.keys');
-        assert.is(data.type, 'selection', 'union1 val type');
-        assert.is(data.selection, 1, 'union1 val selection');
+        assert.is(Object.keys(data).length, 2, "union1 Object.keys");
+        assert.is(data.type, "selection", "union1 val type");
+        assert.is(data.selection, 1, "union1 val selection");
       }
     },
     {
       skipIf: options.isPhantomjs, // PhantomJS gets predictions wrong
-      setup:    'unionc1 5',
+      setup:    "unionc1 5",
       check: {
-        input:  'unionc1 5',
-        markup: 'VVVVVVVVV',
-        hints:           ' -> two',
-        predictions: [ 'two' ],
-        status: 'VALID',
+        input:  "unionc1 5",
+        markup: "VVVVVVVVV",
+        hints:           " -> two",
+        predictions: [ "two" ],
+        status: "VALID",
         args: {
           first: {
-            value: function(data) {
-              assert.is(Object.keys(data).length, 2, 'union5 Object.keys');
-              assert.is(data.type, 'number', 'union5 val type');
-              assert.is(data.number, 5, 'union5 val number');
+            value: function (data) {
+              assert.is(Object.keys(data).length, 2, "union5 Object.keys");
+              assert.is(data.type, "number", "union5 val type");
+              assert.is(data.number, 5, "union5 val number");
             },
-            arg: ' 5',
-            status: 'VALID'
+            arg: " 5",
+            status: "VALID"
           }
         }
       },
       exec: {
         output: [
           /"type": ?"number"/,
           /"number": ?5/
         ]
       },
-      post: function(output, text) {
+      post: function (output, text) {
         var data = output.data.first;
-        assert.is(Object.keys(data).length, 2, 'union5 Object.keys');
-        assert.is(data.type, 'number', 'union5 val type');
-        assert.is(data.number, 5, 'union5 val number');
+        assert.is(Object.keys(data).length, 2, "union5 Object.keys");
+        assert.is(data.type, "number", "union5 val type");
+        assert.is(data.number, 5, "union5 val number");
       }
     },
     {
       skipIf: options.isPhantomjs, // PhantomJS URL type is broken
-      setup:    'unionc2 on',
+      setup:    "unionc2 on",
       check: {
-        input:  'unionc2 on',
-        hints:            'e',
-        markup: 'VVVVVVVVII',
-        current: 'first',
-        status: 'ERROR',
+        input:  "unionc2 on",
+        hints:            "e",
+        markup: "VVVVVVVVII",
+        current: "first",
+        status: "ERROR",
         predictionsContains: [
-          'one',
-          'http://on/',
-          'https://on/'
+          "one",
+          "http://on/",
+          "https://on/"
         ],
         args: {
-          command: { name: 'unionc2' },
+          command: { name: "unionc2" },
           first: {
             value: undefined,
-            arg: ' on',
-            status: 'INCOMPLETE',
-            message: 'Can\u2019t use \u2018on\u2019.'
+            arg: " on",
+            status: "INCOMPLETE",
+            message: "Can\u2019t use \u2018on\u2019."
           },
         }
       }
     }
   ]);
 };
--- a/devtools/client/commandline/test/browser_gcli_url.js
+++ b/devtools/client/commandline/test/browser_gcli_url.js
@@ -9,99 +9,99 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 const exports = {};
 
 function test() {
   helpers.runTestModule(exports, "browser_gcli_url.js");
 }
 
 // var assert = require('../testharness/assert');
 // var helpers = require('./helpers');
 
-exports.testDefault = function(options) {
+exports.testDefault = function (options) {
   return helpers.audit(options, [
     {
       skipRemainingIf: options.isPhantomjs, // PhantomJS URL type is broken
-      setup:    'urlc',
+      setup:    "urlc",
       check: {
-        input:  'urlc',
-        markup: 'VVVV',
-        hints:        ' <url>',
-        status: 'ERROR',
+        input:  "urlc",
+        markup: "VVVV",
+        hints:        " <url>",
+        status: "ERROR",
         args: {
           url: {
             value: undefined,
-            arg: '',
-            status: 'INCOMPLETE'
+            arg: "",
+            status: "INCOMPLETE"
           }
         }
       }
     },
     {
-      setup:    'urlc example',
+      setup:    "urlc example",
       check: {
-        input:  'urlc example',
-        markup: 'VVVVVIIIIIII',
-        hints:              ' -> http://example/',
+        input:  "urlc example",
+        markup: "VVVVVIIIIIII",
+        hints:              " -> http://example/",
         predictions: [
-          'http://example/',
-          'https://example/',
-          'http://localhost:9999/example'
+          "http://example/",
+          "https://example/",
+          "http://localhost:9999/example"
         ],
-        status: 'ERROR',
+        status: "ERROR",
         args: {
           url: {
             value: undefined,
-            arg: ' example',
-            status: 'INCOMPLETE'
+            arg: " example",
+            status: "INCOMPLETE"
           }
         }
       },
     },
     {
-      setup:    'urlc example.com/',
+      setup:    "urlc example.com/",
       check: {
-        input:  'urlc example.com/',
-        markup: 'VVVVVIIIIIIIIIIII',
-        hints:                   ' -> http://example.com/',
-        status: 'ERROR',
+        input:  "urlc example.com/",
+        markup: "VVVVVIIIIIIIIIIII",
+        hints:                   " -> http://example.com/",
+        status: "ERROR",
         args: {
           url: {
             value: undefined,
-            arg: ' example.com/',
-            status: 'INCOMPLETE'
+            arg: " example.com/",
+            status: "INCOMPLETE"
           }
         }
       },
     },
     {
-      setup:    'urlc http://example.com/index?q=a#hash',
+      setup:    "urlc http://example.com/index?q=a#hash",
       check: {
-        input:  'urlc http://example.com/index?q=a#hash',
-        markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-        hints:                                        '',
-        status: 'VALID',
+        input:  "urlc http://example.com/index?q=a#hash",
+        markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+        hints:                                        "",
+        status: "VALID",
         args: {
           url: {
-            value: function(data) {
-              assert.is(data.hash, '#hash', 'url hash');
+            value: function (data) {
+              assert.is(data.hash, "#hash", "url hash");
             },
-            arg: ' http://example.com/index?q=a#hash',
-            status: 'VALID'
+            arg: " http://example.com/index?q=a#hash",
+            status: "VALID"
           }
         }
       },
       exec: { output: /"url": ?/ }
     }
   ]);
 };
--- a/devtools/client/commandline/test/helpers.js
+++ b/devtools/client/commandline/test/helpers.js
@@ -9,94 +9,94 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // A copy of this code exists in firefox mochitests. They should be kept
 // in sync. Hence the exports synonym for non AMD contexts.
-var { helpers, assert } = (function() {
+var { helpers, assert } = (function () {
 
-var helpers = {};
+  var helpers = {};
 
-var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-var { TargetFactory } = require("devtools/client/framework/target");
-var Services = require("Services");
+  var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
+  var { TargetFactory } = require("devtools/client/framework/target");
+  var Services = require("Services");
 
-var assert = { ok: ok, is: is, log: info };
-var util = require('gcli/util/util');
-var cli = require('gcli/cli');
-var KeyEvent = require('gcli/util/util').KeyEvent;
+  var assert = { ok: ok, is: is, log: info };
+  var util = require("gcli/util/util");
+  var cli = require("gcli/cli");
+  var KeyEvent = require("gcli/util/util").KeyEvent;
 
-const { GcliFront } = require("devtools/server/actors/gcli");
+  const { GcliFront } = require("devtools/server/actors/gcli");
 
 /**
  * See notes in helpers.checkOptions()
  */
-var createDeveloperToolbarAutomator = function(toolbar) {
-  var automator = {
-    setInput: function(typed) {
-      return toolbar.inputter.setInput(typed);
-    },
+  var createDeveloperToolbarAutomator = function (toolbar) {
+    var automator = {
+      setInput: function (typed) {
+        return toolbar.inputter.setInput(typed);
+      },
 
-    setCursor: function(cursor) {
-      return toolbar.inputter.setCursor(cursor);
-    },
+      setCursor: function (cursor) {
+        return toolbar.inputter.setCursor(cursor);
+      },
 
-    focus: function() {
-      return toolbar.inputter.focus();
-    },
+      focus: function () {
+        return toolbar.inputter.focus();
+      },
 
-    fakeKey: function(keyCode) {
-      var fakeEvent = {
-        keyCode: keyCode,
-        preventDefault: function() { },
-        timeStamp: new Date().getTime()
-      };
+      fakeKey: function (keyCode) {
+        var fakeEvent = {
+          keyCode: keyCode,
+          preventDefault: function () { },
+          timeStamp: new Date().getTime()
+        };
 
-      toolbar.inputter.onKeyDown(fakeEvent);
+        toolbar.inputter.onKeyDown(fakeEvent);
 
-      if (keyCode === KeyEvent.DOM_VK_BACK_SPACE) {
-        var input = toolbar.inputter.element;
-        input.value = input.value.slice(0, -1);
-      }
+        if (keyCode === KeyEvent.DOM_VK_BACK_SPACE) {
+          var input = toolbar.inputter.element;
+          input.value = input.value.slice(0, -1);
+        }
 
-      return toolbar.inputter.handleKeyUp(fakeEvent);
-    },
+        return toolbar.inputter.handleKeyUp(fakeEvent);
+      },
 
-    getInputState: function() {
-      return toolbar.inputter.getInputState();
-    },
+      getInputState: function () {
+        return toolbar.inputter.getInputState();
+      },
 
-    getCompleterTemplateData: function() {
-      return toolbar.completer._getCompleterTemplateData();
-    },
+      getCompleterTemplateData: function () {
+        return toolbar.completer._getCompleterTemplateData();
+      },
 
-    getErrorMessage: function() {
-      return toolbar.tooltip.errorEle.textContent;
-    }
-  };
+      getErrorMessage: function () {
+        return toolbar.tooltip.errorEle.textContent;
+      }
+    };
 
-  Object.defineProperty(automator, 'focusManager', {
-    get: function() { return toolbar.focusManager; },
-    enumerable: true
-  });
+    Object.defineProperty(automator, "focusManager", {
+      get: function () { return toolbar.focusManager; },
+      enumerable: true
+    });
 
-  Object.defineProperty(automator, 'field', {
-    get: function() { return toolbar.tooltip.field; },
-    enumerable: true
-  });
+    Object.defineProperty(automator, "field", {
+      get: function () { return toolbar.tooltip.field; },
+      enumerable: true
+    });
 
-  return automator;
-};
+    return automator;
+  };
 
 /**
  * Warning: For use with Firefox Mochitests only.
  *
  * Open a new tab at a URL and call a callback on load, and then tidy up when
  * the callback finishes.
  * The function will be passed a set of test options, and will usually return a
  * promise to indicate that the tab can be cleared up. (To be formal, we call
@@ -114,1081 +114,1081 @@ var createDeveloperToolbarAutomator = fu
  * described above. However these options can be customized by the third
  * 'options' parameter. This has the ability to customize the value of
  * chromeWindow or isFirefox, and to add new properties.
  *
  * @param url The URL for the new tab
  * @param callback The function to call on page load
  * @param options An optional set of options to customize the way the tests run
  */
-helpers.addTab = function(url, callback, options) {
-  waitForExplicitFinish();
+  helpers.addTab = function (url, callback, options) {
+    waitForExplicitFinish();
 
-  options = options || {};
-  options.chromeWindow = options.chromeWindow || window;
-  options.isFirefox = true;
+    options = options || {};
+    options.chromeWindow = options.chromeWindow || window;
+    options.isFirefox = true;
 
-  var tabbrowser = options.chromeWindow.gBrowser;
-  options.tab = tabbrowser.addTab();
-  tabbrowser.selectedTab = options.tab;
-  options.browser = tabbrowser.getBrowserForTab(options.tab);
-  options.target = TargetFactory.forTab(options.tab);
+    var tabbrowser = options.chromeWindow.gBrowser;
+    options.tab = tabbrowser.addTab();
+    tabbrowser.selectedTab = options.tab;
+    options.browser = tabbrowser.getBrowserForTab(options.tab);
+    options.target = TargetFactory.forTab(options.tab);
 
-  var loaded = helpers.listenOnce(options.browser, "load", true).then(function(ev) {
-    options.document = options.browser.contentDocument;
-    options.window = options.document.defaultView;
+    var loaded = helpers.listenOnce(options.browser, "load", true).then(function (ev) {
+      options.document = options.browser.contentDocument;
+      options.window = options.document.defaultView;
 
-    var reply = callback.call(null, options);
+      var reply = callback.call(null, options);
 
-    return Promise.resolve(reply).then(null, function(error) {
-      ok(false, error);
-    }).then(function() {
-      tabbrowser.removeTab(options.tab);
+      return Promise.resolve(reply).then(null, function (error) {
+        ok(false, error);
+      }).then(function () {
+        tabbrowser.removeTab(options.tab);
 
-      delete options.window;
-      delete options.document;
+        delete options.window;
+        delete options.document;
 
-      delete options.target;
-      delete options.browser;
-      delete options.tab;
+        delete options.target;
+        delete options.browser;
+        delete options.tab;
 
-      delete options.chromeWindow;
-      delete options.isFirefox;
+        delete options.chromeWindow;
+        delete options.isFirefox;
+      });
     });
-  });
 
-  options.browser.contentWindow.location = url;
-  return loaded;
-};
+    options.browser.contentWindow.location = url;
+    return loaded;
+  };
 
 /**
  * Open a new tab
  * @param url Address of the page to open
  * @param options Object to which we add properties describing the new tab. The
  * following properties are added:
  * - chromeWindow
  * - tab
  * - browser
  * - target
  * - document
  * - window
  * @return A promise which resolves to the options object when the 'load' event
  * happens on the new tab
  */
-helpers.openTab = function(url, options) {
-  waitForExplicitFinish();
+  helpers.openTab = function (url, options) {
+    waitForExplicitFinish();
 
-  options = options || {};
-  options.chromeWindow = options.chromeWindow || window;
-  options.isFirefox = true;
+    options = options || {};
+    options.chromeWindow = options.chromeWindow || window;
+    options.isFirefox = true;
 
-  var tabbrowser = options.chromeWindow.gBrowser;
-  options.tab = tabbrowser.addTab();
-  tabbrowser.selectedTab = options.tab;
-  options.browser = tabbrowser.getBrowserForTab(options.tab);
-  options.target = TargetFactory.forTab(options.tab);
+    var tabbrowser = options.chromeWindow.gBrowser;
+    options.tab = tabbrowser.addTab();
+    tabbrowser.selectedTab = options.tab;
+    options.browser = tabbrowser.getBrowserForTab(options.tab);
+    options.target = TargetFactory.forTab(options.tab);
 
-  return helpers.navigate(url, options);
-};
+    return helpers.navigate(url, options);
+  };
 
 /**
  * Undo the effects of |helpers.openTab|
  * @param options The options object passed to |helpers.openTab|
  * @return A promise resolved (with undefined) when the tab is closed
  */
-helpers.closeTab = function(options) {
-  options.chromeWindow.gBrowser.removeTab(options.tab);
+  helpers.closeTab = function (options) {
+    options.chromeWindow.gBrowser.removeTab(options.tab);
 
-  delete options.window;
-  delete options.document;
+    delete options.window;
+    delete options.document;
 
-  delete options.target;
-  delete options.browser;
-  delete options.tab;
+    delete options.target;
+    delete options.browser;
+    delete options.tab;
 
-  delete options.chromeWindow;
-  delete options.isFirefox;
+    delete options.chromeWindow;
+    delete options.isFirefox;
 
-  return Promise.resolve(undefined);
-};
+    return Promise.resolve(undefined);
+  };
 
 /**
  * Open the developer toolbar in a tab
  * @param options Object to which we add properties describing the developer
  * toolbar. The following properties are added:
  * - automator
  * - requisition
  * @return A promise which resolves to the options object when the 'load' event
  * happens on the new tab
  */
-helpers.openToolbar = function(options) {
-  options = options || {};
-  options.chromeWindow = options.chromeWindow || window;
+  helpers.openToolbar = function (options) {
+    options = options || {};
+    options.chromeWindow = options.chromeWindow || window;
 
-  return options.chromeWindow.DeveloperToolbar.show(true).then(function() {
-    var toolbar = options.chromeWindow.DeveloperToolbar;
-    options.automator = createDeveloperToolbarAutomator(toolbar);
-    options.requisition = toolbar.requisition;
-    return options;
-  });
-};
+    return options.chromeWindow.DeveloperToolbar.show(true).then(function () {
+      var toolbar = options.chromeWindow.DeveloperToolbar;
+      options.automator = createDeveloperToolbarAutomator(toolbar);
+      options.requisition = toolbar.requisition;
+      return options;
+    });
+  };
 
 /**
  * Navigate the current tab to a URL
  */
-helpers.navigate = function(url, options) {
-  options = options || {};
-  options.chromeWindow = options.chromeWindow || window;
-  options.tab = options.tab || options.chromeWindow.gBrowser.selectedTab;
+  helpers.navigate = function (url, options) {
+    options = options || {};
+    options.chromeWindow = options.chromeWindow || window;
+    options.tab = options.tab || options.chromeWindow.gBrowser.selectedTab;
 
-  var tabbrowser = options.chromeWindow.gBrowser;
-  options.browser = tabbrowser.getBrowserForTab(options.tab);
+    var tabbrowser = options.chromeWindow.gBrowser;
+    options.browser = tabbrowser.getBrowserForTab(options.tab);
 
-  var promise = helpers.listenOnce(options.browser, "load", true).then(function() {
-    options.document = options.browser.contentDocument;
-    options.window = options.document.defaultView;
-    return options;
-  });
+    var promise = helpers.listenOnce(options.browser, "load", true).then(function () {
+      options.document = options.browser.contentDocument;
+      options.window = options.document.defaultView;
+      return options;
+    });
 
-  options.browser.contentWindow.location = url;
+    options.browser.contentWindow.location = url;
 
-  return promise;
-};
+    return promise;
+  };
 
 /**
  * Undo the effects of |helpers.openToolbar|
  * @param options The options object passed to |helpers.openToolbar|
  * @return A promise resolved (with undefined) when the toolbar is closed
  */
-helpers.closeToolbar = function(options) {
-  return options.chromeWindow.DeveloperToolbar.hide().then(function() {
-    delete options.automator;
-    delete options.requisition;
-  });
-};
+  helpers.closeToolbar = function (options) {
+    return options.chromeWindow.DeveloperToolbar.hide().then(function () {
+      delete options.automator;
+      delete options.requisition;
+    });
+  };
 
 /**
  * A helper to work with Task.spawn so you can do:
  *   return Task.spawn(realTestFunc).then(finish, helpers.handleError);
  */
-helpers.handleError = function(ex) {
-  console.error(ex);
-  ok(false, ex);
-  finish();
-};
+  helpers.handleError = function (ex) {
+    console.error(ex);
+    ok(false, ex);
+    finish();
+  };
 
 /**
  * A helper for calling addEventListener and then removeEventListener as soon
  * as the event is called, passing the results on as a promise
  * @param element The DOM element to listen on
  * @param event The name of the event to listen for
  * @param useCapture Should we use the capturing phase?
  * @return A promise resolved with the event object when the event first happens
  */
-helpers.listenOnce = function(element, event, useCapture) {
-  return new Promise(function(resolve, reject) {
-    var onEvent = function(ev) {
-      element.removeEventListener(event, onEvent, useCapture);
-      resolve(ev);
-    };
-    element.addEventListener(event, onEvent, useCapture);
-  }.bind(this));
-};
+  helpers.listenOnce = function (element, event, useCapture) {
+    return new Promise(function (resolve, reject) {
+      var onEvent = function (ev) {
+        element.removeEventListener(event, onEvent, useCapture);
+        resolve(ev);
+      };
+      element.addEventListener(event, onEvent, useCapture);
+    }.bind(this));
+  };
 
 /**
  * A wrapper for calling Services.obs.[add|remove]Observer using promises.
  * @param topic The topic parameter to Services.obs.addObserver
  * @param ownsWeak The ownsWeak parameter to Services.obs.addObserver with a
  * default value of false
  * @return a promise that resolves when the ObserverService first notifies us
  * of the topic. The value of the promise is the first parameter to the observer
  * function other parameters are dropped.
  */
-helpers.observeOnce = function(topic, ownsWeak=false) {
-  return new Promise(function(resolve, reject) {
-    let resolver = function(subject) {
-      Services.obs.removeObserver(resolver, topic);
-      resolve(subject);
-    };
-    Services.obs.addObserver(resolver, topic, ownsWeak);
-  }.bind(this));
-};
+  helpers.observeOnce = function (topic, ownsWeak = false) {
+    return new Promise(function (resolve, reject) {
+      let resolver = function (subject) {
+        Services.obs.removeObserver(resolver, topic);
+        resolve(subject);
+      };
+      Services.obs.addObserver(resolver, topic, ownsWeak);
+    }.bind(this));
+  };
 
 /**
  * Takes a function that uses a callback as its last parameter, and returns a
  * new function that returns a promise instead
  */
-helpers.promiseify = function(functionWithLastParamCallback, scope) {
-  return function() {
-    let args = [].slice.call(arguments);
-    return new Promise(resolve => {
-      args.push((...results) => {
-        resolve(results.length > 1 ? results : results[0]);
+  helpers.promiseify = function (functionWithLastParamCallback, scope) {
+    return function () {
+      let args = [].slice.call(arguments);
+      return new Promise(resolve => {
+        args.push((...results) => {
+          resolve(results.length > 1 ? results : results[0]);
+        });
+        functionWithLastParamCallback.apply(scope, args);
       });
-      functionWithLastParamCallback.apply(scope, args);
-    });
+    };
   };
-};
 
 /**
  * Warning: For use with Firefox Mochitests only.
  *
  * As addTab, but that also opens the developer toolbar. In addition a new
  * 'automator' property is added to the options object which uses the
  * developer toolbar
  */
-helpers.addTabWithToolbar = function(url, callback, options) {
-  return helpers.addTab(url, function(innerOptions) {
-    var win = innerOptions.chromeWindow;
+  helpers.addTabWithToolbar = function (url, callback, options) {
+    return helpers.addTab(url, function (innerOptions) {
+      var win = innerOptions.chromeWindow;
 
-    return win.DeveloperToolbar.show(true).then(function() {
-      var toolbar = win.DeveloperToolbar;
-      innerOptions.automator = createDeveloperToolbarAutomator(toolbar);
-      innerOptions.requisition = toolbar.requisition;
+      return win.DeveloperToolbar.show(true).then(function () {
+        var toolbar = win.DeveloperToolbar;
+        innerOptions.automator = createDeveloperToolbarAutomator(toolbar);
+        innerOptions.requisition = toolbar.requisition;
 
-      var reply = callback.call(null, innerOptions);
+        var reply = callback.call(null, innerOptions);
 
-      return Promise.resolve(reply).then(null, function(error) {
-        ok(false, error);
-        console.error(error);
-      }).then(function() {
-        win.DeveloperToolbar.hide().then(function() {
-          delete innerOptions.automator;
+        return Promise.resolve(reply).then(null, function (error) {
+          ok(false, error);
+          console.error(error);
+        }).then(function () {
+          win.DeveloperToolbar.hide().then(function () {
+            delete innerOptions.automator;
+          });
         });
       });
-    });
-  }, options);
-};
+    }, options);
+  };
 
 /**
  * Warning: For use with Firefox Mochitests only.
  *
  * Run a set of test functions stored in the values of the 'exports' object
  * functions stored under setup/shutdown will be run at the start/end of the
  * sequence of tests.
  * A test will be considered finished when its return value is resolved.
  * @param options An object to be passed to the test functions
  * @param tests An object containing named test functions
  * @return a promise which will be resolved when all tests have been run and
  * their return values resolved
  */
-helpers.runTests = function(options, tests) {
-  var testNames = Object.keys(tests).filter(function(test) {
-    return test != "setup" && test != "shutdown";
-  });
+  helpers.runTests = function (options, tests) {
+    var testNames = Object.keys(tests).filter(function (test) {
+      return test != "setup" && test != "shutdown";
+    });
 
-  var recover = function(error) {
-    ok(false, error);
-    console.error(error, error.stack);
-  };
+    var recover = function (error) {
+      ok(false, error);
+      console.error(error, error.stack);
+    };
 
-  info("SETUP");
-  var setupDone = (tests.setup != null) ?
+    info("SETUP");
+    var setupDone = (tests.setup != null) ?
       Promise.resolve(tests.setup(options)) :
       Promise.resolve();
 
-  var testDone = setupDone.then(function() {
-    return util.promiseEach(testNames, function(testName) {
-      info(testName);
-      var action = tests[testName];
+    var testDone = setupDone.then(function () {
+      return util.promiseEach(testNames, function (testName) {
+        info(testName);
+        var action = tests[testName];
 
-      if (typeof action === "function") {
-        var reply = action.call(tests, options);
-        return Promise.resolve(reply);
-      }
-      else if (Array.isArray(action)) {
-        return helpers.audit(options, action);
-      }
+        if (typeof action === "function") {
+          var reply = action.call(tests, options);
+          return Promise.resolve(reply);
+        }
+        else if (Array.isArray(action)) {
+          return helpers.audit(options, action);
+        }
 
-      return Promise.reject("test action '" + testName +
+        return Promise.reject("test action '" + testName +
                             "' is not a function or helpers.audit() object");
-    });
-  }, recover);
+      });
+    }, recover);
 
-  return testDone.then(function() {
-    info("SHUTDOWN");
-    return (tests.shutdown != null) ?
+    return testDone.then(function () {
+      info("SHUTDOWN");
+      return (tests.shutdown != null) ?
         Promise.resolve(tests.shutdown(options)) :
         Promise.resolve();
-  }, recover);
-};
+    }, recover);
+  };
 
-const MOCK_COMMANDS_URI = "chrome://mochitests/content/browser/devtools/client/commandline/test/mockCommands.js";
+  const MOCK_COMMANDS_URI = "chrome://mochitests/content/browser/devtools/client/commandline/test/mockCommands.js";
 
-const defer = function() {
-  const deferred = { };
-  deferred.promise = new Promise(function(resolve, reject) {
-    deferred.resolve = resolve;
-    deferred.reject = reject;
-  });
-  return deferred;
-};
+  const defer = function () {
+    const deferred = { };
+    deferred.promise = new Promise(function (resolve, reject) {
+      deferred.resolve = resolve;
+      deferred.reject = reject;
+    });
+    return deferred;
+  };
 
 /**
  * This does several actions associated with running a GCLI test in mochitest
  * 1. Create a new tab containing basic markup for GCLI tests
  * 2. Open the developer toolbar
  * 3. Register the mock commands with the server process
  * 4. Wait for the proxy commands to be auto-regitstered with the client
  * 5. Register the mock converters with the client process
  * 6. Run all the tests
  * 7. Tear down all the setup
  */
-helpers.runTestModule = function(exports, name) {
-  return Task.spawn(function*() {
-    const uri = "data:text/html;charset=utf-8," +
+  helpers.runTestModule = function (exports, name) {
+    return Task.spawn(function* () {
+      const uri = "data:text/html;charset=utf-8," +
                 "<style>div{color:red;}</style>" +
                 "<div id='gcli-root'>" + name + "</div>";
 
-    const options = yield helpers.openTab(uri);
-    options.isRemote = true;
+      const options = yield helpers.openTab(uri);
+      options.isRemote = true;
 
-    yield helpers.openToolbar(options);
+      yield helpers.openToolbar(options);
 
-    const system = options.requisition.system;
+      const system = options.requisition.system;
 
     // Register a one time listener with the local set of commands
-    const addedDeferred = defer();
-    const removedDeferred = defer();
-    let state = 'preAdd'; // Then 'postAdd' then 'postRemove'
+      const addedDeferred = defer();
+      const removedDeferred = defer();
+      let state = "preAdd"; // Then 'postAdd' then 'postRemove'
 
-    system.commands.onCommandsChange.add(function(ev) {
-      if (system.commands.get('tsslow') != null) {
-        if (state === 'preAdd') {
-          addedDeferred.resolve();
-          state = 'postAdd';
+      system.commands.onCommandsChange.add(function (ev) {
+        if (system.commands.get("tsslow") != null) {
+          if (state === "preAdd") {
+            addedDeferred.resolve();
+            state = "postAdd";
+          }
         }
-      }
-      else {
-        if (state === 'postAdd') {
-          removedDeferred.resolve();
-          state = 'postRemove';
+        else {
+          if (state === "postAdd") {
+            removedDeferred.resolve();
+            state = "postRemove";
+          }
         }
-      }
-    });
+      });
 
     // Send a message to add the commands to the content process
-    const front = yield GcliFront.create(options.target);
-    yield front._testOnly_addItemsByModule(MOCK_COMMANDS_URI);
+      const front = yield GcliFront.create(options.target);
+      yield front._testOnly_addItemsByModule(MOCK_COMMANDS_URI);
 
     // This will cause the local set of commands to be updated with the
     // command proxies, wait for that to complete.
-    yield addedDeferred.promise;
+      yield addedDeferred.promise;
 
     // Now we need to add the converters to the local GCLI
-    const converters = mockCommands.items.filter(item => item.item === 'converter');
-    system.addItems(converters);
+      const converters = mockCommands.items.filter(item => item.item === "converter");
+      system.addItems(converters);
 
     // Next run the tests
-    yield helpers.runTests(options, exports);
+      yield helpers.runTests(options, exports);
 
     // Finally undo the mock commands and converters
-    system.removeItems(converters);
-    const removePromise = system.commands.onCommandsChange.once();
-    yield front._testOnly_removeItemsByModule(MOCK_COMMANDS_URI);
-    yield removedDeferred.promise;
+      system.removeItems(converters);
+      const removePromise = system.commands.onCommandsChange.once();
+      yield front._testOnly_removeItemsByModule(MOCK_COMMANDS_URI);
+      yield removedDeferred.promise;
 
     // And close everything down
-    yield helpers.closeToolbar(options);
-    yield helpers.closeTab(options);
-  }).then(finish, helpers.handleError);
-};
+      yield helpers.closeToolbar(options);
+      yield helpers.closeTab(options);
+    }).then(finish, helpers.handleError);
+  };
 
-///////////////////////////////////////////////////////////////////////////////
+// /////////////////////////////////////////////////////////////////////////////
 
 /**
  * Ensure that the options object is setup correctly
  * options should contain an automator object that looks like this:
  * {
  *   getInputState: function() { ... },
  *   setCursor: function(cursor) { ... },
  *   getCompleterTemplateData: function() { ... },
  *   focus: function() { ... },
  *   getErrorMessage: function() { ... },
  *   fakeKey: function(keyCode) { ... },
  *   setInput: function(typed) { ... },
  *   focusManager: ...,
  *   field: ...,
  * }
  */
-function checkOptions(options) {
-  if (options == null) {
-    console.trace();
-    throw new Error('Missing options object');
+  function checkOptions(options) {
+    if (options == null) {
+      console.trace();
+      throw new Error("Missing options object");
+    }
+    if (options.requisition == null) {
+      console.trace();
+      throw new Error("options.requisition == null");
+    }
   }
-  if (options.requisition == null) {
-    console.trace();
-    throw new Error('options.requisition == null');
-  }
-}
 
 /**
  * Various functions to return the actual state of the command line
  */
-helpers._actual = {
-  input: function(options) {
-    return options.automator.getInputState().typed;
-  },
+  helpers._actual = {
+    input: function (options) {
+      return options.automator.getInputState().typed;
+    },
 
-  hints: function(options) {
-    return options.automator.getCompleterTemplateData().then(function(data) {
-      var emptyParams = data.emptyParameters.join('');
-      return (data.directTabText + emptyParams + data.arrowTabText)
-                .replace(/\u00a0/g, ' ')
-                .replace(/\u21E5/, '->')
-                .replace(/ $/, '');
-    });
-  },
+    hints: function (options) {
+      return options.automator.getCompleterTemplateData().then(function (data) {
+        var emptyParams = data.emptyParameters.join("");
+        return (data.directTabText + emptyParams + data.arrowTabText)
+                .replace(/\u00a0/g, " ")
+                .replace(/\u21E5/, "->")
+                .replace(/ $/, "");
+      });
+    },
 
-  markup: function(options) {
-    var cursor = helpers._actual.cursor(options);
-    var statusMarkup = options.requisition.getInputStatusMarkup(cursor);
-    return statusMarkup.map(function(s) {
-      return new Array(s.string.length + 1).join(s.status.toString()[0]);
-    }).join('');
-  },
+    markup: function (options) {
+      var cursor = helpers._actual.cursor(options);
+      var statusMarkup = options.requisition.getInputStatusMarkup(cursor);
+      return statusMarkup.map(function (s) {
+        return new Array(s.string.length + 1).join(s.status.toString()[0]);
+      }).join("");
+    },
 
-  cursor: function(options) {
-    return options.automator.getInputState().cursor.start;
-  },
+    cursor: function (options) {
+      return options.automator.getInputState().cursor.start;
+    },
 
-  current: function(options) {
-    var cursor = helpers._actual.cursor(options);
-    return options.requisition.getAssignmentAt(cursor).param.name;
-  },
+    current: function (options) {
+      var cursor = helpers._actual.cursor(options);
+      return options.requisition.getAssignmentAt(cursor).param.name;
+    },
 
-  status: function(options) {
-    return options.requisition.status.toString();
-  },
+    status: function (options) {
+      return options.requisition.status.toString();
+    },
 
-  predictions: function(options) {
-    var cursor = helpers._actual.cursor(options);
-    var assignment = options.requisition.getAssignmentAt(cursor);
-    var context = options.requisition.executionContext;
-    return assignment.getPredictions(context).then(function(predictions) {
-      return predictions.map(function(prediction) {
-        return prediction.name;
+    predictions: function (options) {
+      var cursor = helpers._actual.cursor(options);
+      var assignment = options.requisition.getAssignmentAt(cursor);
+      var context = options.requisition.executionContext;
+      return assignment.getPredictions(context).then(function (predictions) {
+        return predictions.map(function (prediction) {
+          return prediction.name;
+        });
       });
-    });
-  },
+    },
 
-  unassigned: function(options) {
-    return options.requisition._unassigned.map(function(assignment) {
-      return assignment.arg.toString();
-    }.bind(this));
-  },
+    unassigned: function (options) {
+      return options.requisition._unassigned.map(function (assignment) {
+        return assignment.arg.toString();
+      }.bind(this));
+    },
 
-  outputState: function(options) {
-    var outputData = options.automator.focusManager._shouldShowOutput();
-    return outputData.visible + ':' + outputData.reason;
-  },
+    outputState: function (options) {
+      var outputData = options.automator.focusManager._shouldShowOutput();
+      return outputData.visible + ":" + outputData.reason;
+    },
 
-  tooltipState: function(options) {
-    var tooltipData = options.automator.focusManager._shouldShowTooltip();
-    return tooltipData.visible + ':' + tooltipData.reason;
-  },
+    tooltipState: function (options) {
+      var tooltipData = options.automator.focusManager._shouldShowTooltip();
+      return tooltipData.visible + ":" + tooltipData.reason;
+    },
 
-  options: function(options) {
-    if (options.automator.field.menu == null) {
-      return [];
+    options: function (options) {
+      if (options.automator.field.menu == null) {
+        return [];
+      }
+      return options.automator.field.menu.items.map(function (item) {
+        return item.name.textContent ? item.name.textContent : item.name;
+      });
+    },
+
+    message: function (options) {
+      return options.automator.getErrorMessage();
     }
-    return options.automator.field.menu.items.map(function(item) {
-      return item.name.textContent ? item.name.textContent : item.name;
-    });
-  },
+  };
 
-  message: function(options) {
-    return options.automator.getErrorMessage();
+  function shouldOutputUnquoted(value) {
+    var type = typeof value;
+    return value == null || type === "boolean" || type === "number";
   }
-};
-
-function shouldOutputUnquoted(value) {
-  var type = typeof value;
-  return value == null || type === 'boolean' || type === 'number';
-}
 
-function outputArray(array) {
-  return (array.length === 0) ?
-      '[ ]' :
-      '[ \'' + array.join('\', \'') + '\' ]';
-}
+  function outputArray(array) {
+    return (array.length === 0) ?
+      "[ ]" :
+      "[ '" + array.join("', '") + "' ]";
+  }
 
-helpers._createDebugCheck = function(options) {
-  checkOptions(options);
-  var requisition = options.requisition;
-  var command = requisition.commandAssignment.value;
-  var cursor = helpers._actual.cursor(options);
-  var input = helpers._actual.input(options);
-  var padding = new Array(input.length + 1).join(' ');
+  helpers._createDebugCheck = function (options) {
+    checkOptions(options);
+    var requisition = options.requisition;
+    var command = requisition.commandAssignment.value;
+    var cursor = helpers._actual.cursor(options);
+    var input = helpers._actual.input(options);
+    var padding = new Array(input.length + 1).join(" ");
 
-  var hintsPromise = helpers._actual.hints(options);
-  var predictionsPromise = helpers._actual.predictions(options);
+    var hintsPromise = helpers._actual.hints(options);
+    var predictionsPromise = helpers._actual.predictions(options);
 
-  return Promise.all([ hintsPromise, predictionsPromise ]).then(function(values) {
-    var hints = values[0];
-    var predictions = values[1];
-    var output = '';
+    return Promise.all([ hintsPromise, predictionsPromise ]).then(function (values) {
+      var hints = values[0];
+      var predictions = values[1];
+      var output = "";
 
-    output += 'return helpers.audit(options, [\n';
-    output += '  {\n';
+      output += "return helpers.audit(options, [\n";
+      output += "  {\n";
 
-    if (cursor === input.length) {
-      output += '    setup:    \'' + input + '\',\n';
-    }
-    else {
-      output += '    name: \'' + input + ' (cursor=' + cursor + ')\',\n';
-      output += '    setup: function() {\n';
-      output += '      return helpers.setInput(options, \'' + input + '\', ' + cursor + ');\n';
-      output += '    },\n';
-    }
+      if (cursor === input.length) {
+        output += "    setup:    '" + input + "',\n";
+      }
+      else {
+        output += "    name: '" + input + " (cursor=" + cursor + ")',\n";
+        output += "    setup: function() {\n";
+        output += "      return helpers.setInput(options, '" + input + "', " + cursor + ");\n";
+        output += "    },\n";
+      }
 
-    output += '    check: {\n';
+      output += "    check: {\n";
 
-    output += '      input:  \'' + input + '\',\n';
-    output += '      hints:  ' + padding + '\'' + hints + '\',\n';
-    output += '      markup: \'' + helpers._actual.markup(options) + '\',\n';
-    output += '      cursor: ' + cursor + ',\n';
-    output += '      current: \'' + helpers._actual.current(options) + '\',\n';
-    output += '      status: \'' + helpers._actual.status(options) + '\',\n';
-    output += '      options: ' + outputArray(helpers._actual.options(options)) + ',\n';
-    output += '      message: \'' + helpers._actual.message(options) + '\',\n';
-    output += '      predictions: ' + outputArray(predictions) + ',\n';
-    output += '      unassigned: ' + outputArray(requisition._unassigned) + ',\n';
-    output += '      outputState: \'' + helpers._actual.outputState(options) + '\',\n';
-    output += '      tooltipState: \'' + helpers._actual.tooltipState(options) + '\'' +
-              (command ? ',' : '') +'\n';
+      output += "      input:  '" + input + "',\n";
+      output += "      hints:  " + padding + "'" + hints + "',\n";
+      output += "      markup: '" + helpers._actual.markup(options) + "',\n";
+      output += "      cursor: " + cursor + ",\n";
+      output += "      current: '" + helpers._actual.current(options) + "',\n";
+      output += "      status: '" + helpers._actual.status(options) + "',\n";
+      output += "      options: " + outputArray(helpers._actual.options(options)) + ",\n";
+      output += "      message: '" + helpers._actual.message(options) + "',\n";
+      output += "      predictions: " + outputArray(predictions) + ",\n";
+      output += "      unassigned: " + outputArray(requisition._unassigned) + ",\n";
+      output += "      outputState: '" + helpers._actual.outputState(options) + "',\n";
+      output += "      tooltipState: '" + helpers._actual.tooltipState(options) + "'" +
+              (command ? "," : "") + "\n";
 
-    if (command) {
-      output += '      args: {\n';
-      output += '        command: { name: \'' + command.name + '\' },\n';
+      if (command) {
+        output += "      args: {\n";
+        output += "        command: { name: '" + command.name + "' },\n";
 
-      requisition.getAssignments().forEach(function(assignment) {
-        output += '        ' + assignment.param.name + ': { ';
+        requisition.getAssignments().forEach(function (assignment) {
+          output += "        " + assignment.param.name + ": { ";
 
-        if (typeof assignment.value === 'string') {
-          output += 'value: \'' + assignment.value + '\', ';
-        }
-        else if (shouldOutputUnquoted(assignment.value)) {
-          output += 'value: ' + assignment.value + ', ';
-        }
+          if (typeof assignment.value === "string") {
+            output += "value: '" + assignment.value + "', ";
+          }
+          else if (shouldOutputUnquoted(assignment.value)) {
+            output += "value: " + assignment.value + ", ";
+          }
         else {
-          output += '/*value:' + assignment.value + ',*/ ';
-        }
+            output += "/*value:" + assignment.value + ",*/ ";
+          }
 
-        output += 'arg: \'' + assignment.arg + '\', ';
-        output += 'status: \'' + assignment.getStatus().toString() + '\', ';
-        output += 'message: \'' + assignment.message + '\'';
-        output += ' },\n';
-      });
+          output += "arg: '" + assignment.arg + "', ";
+          output += "status: '" + assignment.getStatus().toString() + "', ";
+          output += "message: '" + assignment.message + "'";
+          output += " },\n";
+        });
 
-      output += '      }\n';
-    }
+        output += "      }\n";
+      }
 
-    output += '    },\n';
-    output += '    exec: {\n';
-    output += '      output: \'\',\n';
-    output += '      type: \'string\',\n';
-    output += '      error: false\n';
-    output += '    }\n';
-    output += '  }\n';
-    output += ']);';
+      output += "    },\n";
+      output += "    exec: {\n";
+      output += "      output: '',\n";
+      output += "      type: 'string',\n";
+      output += "      error: false\n";
+      output += "    }\n";
+      output += "  }\n";
+      output += "]);";
 
-    return output;
-  }.bind(this), util.errorHandler);
-};
+      return output;
+    }.bind(this), util.errorHandler);
+  };
 
 /**
  * Simulate focusing the input field
  */
-helpers.focusInput = function(options) {
-  checkOptions(options);
-  options.automator.focus();
-};
+  helpers.focusInput = function (options) {
+    checkOptions(options);
+    options.automator.focus();
+  };
 
 /**
  * Simulate pressing TAB in the input field
  */
-helpers.pressTab = function(options) {
-  checkOptions(options);
-  return helpers.pressKey(options, KeyEvent.DOM_VK_TAB);
-};
+  helpers.pressTab = function (options) {
+    checkOptions(options);
+    return helpers.pressKey(options, KeyEvent.DOM_VK_TAB);
+  };
 
 /**
  * Simulate pressing RETURN in the input field
  */
-helpers.pressReturn = function(options) {
-  checkOptions(options);
-  return helpers.pressKey(options, KeyEvent.DOM_VK_RETURN);
-};
+  helpers.pressReturn = function (options) {
+    checkOptions(options);
+    return helpers.pressKey(options, KeyEvent.DOM_VK_RETURN);
+  };
 
 /**
  * Simulate pressing a key by keyCode in the input field
  */
-helpers.pressKey = function(options, keyCode) {
-  checkOptions(options);
-  return options.automator.fakeKey(keyCode);
-};
+  helpers.pressKey = function (options, keyCode) {
+    checkOptions(options);
+    return options.automator.fakeKey(keyCode);
+  };
 
 /**
  * A list of special key presses and how to to them, for the benefit of
  * helpers.setInput
  */
-var ACTIONS = {
-  '<TAB>': function(options) {
-    return helpers.pressTab(options);
-  },
-  '<RETURN>': function(options) {
-    return helpers.pressReturn(options);
-  },
-  '<UP>': function(options) {
-    return helpers.pressKey(options, KeyEvent.DOM_VK_UP);
-  },
-  '<DOWN>': function(options) {
-    return helpers.pressKey(options, KeyEvent.DOM_VK_DOWN);
-  },
-  '<BACKSPACE>': function(options) {
-    return helpers.pressKey(options, KeyEvent.DOM_VK_BACK_SPACE);
-  }
-};
+  var ACTIONS = {
+    "<TAB>": function (options) {
+      return helpers.pressTab(options);
+    },
+    "<RETURN>": function (options) {
+      return helpers.pressReturn(options);
+    },
+    "<UP>": function (options) {
+      return helpers.pressKey(options, KeyEvent.DOM_VK_UP);
+    },
+    "<DOWN>": function (options) {
+      return helpers.pressKey(options, KeyEvent.DOM_VK_DOWN);
+    },
+    "<BACKSPACE>": function (options) {
+      return helpers.pressKey(options, KeyEvent.DOM_VK_BACK_SPACE);
+    }
+  };
 
 /**
  * Used in helpers.setInput to cut an input string like 'blah<TAB>foo<UP>' into
  * an array like [ 'blah', '<TAB>', 'foo', '<UP>' ].
  * When using this RegExp, you also need to filter out the blank strings.
  */
-var CHUNKER = /([^<]*)(<[A-Z]+>)/;
+  var CHUNKER = /([^<]*)(<[A-Z]+>)/;
 
 /**
  * Alter the input to <code>typed</code> optionally leaving the cursor at
  * <code>cursor</code>.
  * @return A promise of the number of key-presses to respond
  */
-helpers.setInput = function(options, typed, cursor) {
-  checkOptions(options);
-  var inputPromise;
-  var automator = options.automator;
+  helpers.setInput = function (options, typed, cursor) {
+    checkOptions(options);
+    var inputPromise;
+    var automator = options.automator;
   // We try to measure average keypress time, but setInput can simulate
   // several, so we try to keep track of how many
-  var chunkLen = 1;
+    var chunkLen = 1;
 
   // The easy case is a simple string without things like <TAB>
-  if (typed.indexOf('<') === -1) {
-    inputPromise = automator.setInput(typed);
-  }
-  else {
+    if (typed.indexOf("<") === -1) {
+      inputPromise = automator.setInput(typed);
+    }
+    else {
     // Cut the input up into input strings separated by '<KEY>' tokens. The
     // CHUNKS RegExp leaves blanks so we filter them out.
-    var chunks = typed.split(CHUNKER).filter(function(s) {
-      return s !== '';
-    });
-    chunkLen = chunks.length + 1;
+      var chunks = typed.split(CHUNKER).filter(function (s) {
+        return s !== "";
+      });
+      chunkLen = chunks.length + 1;
 
     // We're working on this in chunks so first clear the input
-    inputPromise = automator.setInput('').then(function() {
-      return util.promiseEach(chunks, function(chunk) {
-        if (chunk.charAt(0) === '<') {
-          var action = ACTIONS[chunk];
-          if (typeof action !== 'function') {
-            console.error('Known actions: ' + Object.keys(ACTIONS).join());
-            throw new Error('Key action not found "' + chunk + '"');
+      inputPromise = automator.setInput("").then(function () {
+        return util.promiseEach(chunks, function (chunk) {
+          if (chunk.charAt(0) === "<") {
+            var action = ACTIONS[chunk];
+            if (typeof action !== "function") {
+              console.error("Known actions: " + Object.keys(ACTIONS).join());
+              throw new Error('Key action not found "' + chunk + '"');
+            }
+            return action(options);
           }
-          return action(options);
-        }
-        else {
-          return automator.setInput(automator.getInputState().typed + chunk);
-        }
+          else {
+            return automator.setInput(automator.getInputState().typed + chunk);
+          }
+        });
       });
-    });
-  }
-
-  return inputPromise.then(function() {
-    if (cursor != null) {
-      automator.setCursor({ start: cursor, end: cursor });
     }
 
-    if (automator.focusManager) {
-      automator.focusManager.onInputChange();
-    }
+    return inputPromise.then(function () {
+      if (cursor != null) {
+        automator.setCursor({ start: cursor, end: cursor });
+      }
+
+      if (automator.focusManager) {
+        automator.focusManager.onInputChange();
+      }
 
     // Firefox testing is noisy and distant, so logging helps
-    if (options.isFirefox) {
-      var cursorStr = (cursor == null ? '' : ', ' + cursor);
-      log('setInput("' + typed + '"' + cursorStr + ')');
-    }
+      if (options.isFirefox) {
+        var cursorStr = (cursor == null ? "" : ", " + cursor);
+        log('setInput("' + typed + '"' + cursorStr + ")");
+      }
 
-    return chunkLen;
-  });
-};
+      return chunkLen;
+    });
+  };
 
 /**
  * Helper for helpers.audit() to ensure that all the 'check' properties match.
  * See helpers.audit for more information.
  * @param name The name to use in error messages
  * @param checks See helpers.audit for a list of available checks
  * @return A promise which resolves to undefined when the checks are complete
  */
-helpers._check = function(options, name, checks) {
+  helpers._check = function (options, name, checks) {
   // A test method to check that all args are assigned in some way
-  var requisition = options.requisition;
-  requisition._args.forEach(function(arg) {
-    if (arg.assignment == null) {
-      assert.ok(false, 'No assignment for ' + arg);
+    var requisition = options.requisition;
+    requisition._args.forEach(function (arg) {
+      if (arg.assignment == null) {
+        assert.ok(false, "No assignment for " + arg);
+      }
+    });
+
+    if (checks == null) {
+      return Promise.resolve();
     }
-  });
 
-  if (checks == null) {
-    return Promise.resolve();
-  }
-
-  var outstanding = [];
-  var suffix = name ? ' (for \'' + name + '\')' : '';
+    var outstanding = [];
+    var suffix = name ? " (for '" + name + "')" : "";
 
-  if (!options.isNode && 'input' in checks) {
-    assert.is(helpers._actual.input(options), checks.input, 'input' + suffix);
-  }
+    if (!options.isNode && "input" in checks) {
+      assert.is(helpers._actual.input(options), checks.input, "input" + suffix);
+    }
 
-  if (!options.isNode && 'cursor' in checks) {
-    assert.is(helpers._actual.cursor(options), checks.cursor, 'cursor' + suffix);
-  }
+    if (!options.isNode && "cursor" in checks) {
+      assert.is(helpers._actual.cursor(options), checks.cursor, "cursor" + suffix);
+    }
 
-  if (!options.isNode && 'current' in checks) {
-    assert.is(helpers._actual.current(options), checks.current, 'current' + suffix);
-  }
+    if (!options.isNode && "current" in checks) {
+      assert.is(helpers._actual.current(options), checks.current, "current" + suffix);
+    }
 
-  if ('status' in checks) {
-    assert.is(helpers._actual.status(options), checks.status, 'status' + suffix);
-  }
+    if ("status" in checks) {
+      assert.is(helpers._actual.status(options), checks.status, "status" + suffix);
+    }
 
-  if (!options.isNode && 'markup' in checks) {
-    assert.is(helpers._actual.markup(options), checks.markup, 'markup' + suffix);
-  }
+    if (!options.isNode && "markup" in checks) {
+      assert.is(helpers._actual.markup(options), checks.markup, "markup" + suffix);
+    }
 
-  if (!options.isNode && 'hints' in checks) {
-    var hintCheck = function(actualHints) {
-      assert.is(actualHints, checks.hints, 'hints' + suffix);
-    };
-    outstanding.push(helpers._actual.hints(options).then(hintCheck));
-  }
+    if (!options.isNode && "hints" in checks) {
+      var hintCheck = function (actualHints) {
+        assert.is(actualHints, checks.hints, "hints" + suffix);
+      };
+      outstanding.push(helpers._actual.hints(options).then(hintCheck));
+    }
 
-  if (!options.isNode && 'predictions' in checks) {
-    var predictionsCheck = function(actualPredictions) {
-      helpers.arrayIs(actualPredictions,
+    if (!options.isNode && "predictions" in checks) {
+      var predictionsCheck = function (actualPredictions) {
+        helpers.arrayIs(actualPredictions,
                        checks.predictions,
-                       'predictions' + suffix);
-    };
-    outstanding.push(helpers._actual.predictions(options).then(predictionsCheck));
-  }
+                       "predictions" + suffix);
+      };
+      outstanding.push(helpers._actual.predictions(options).then(predictionsCheck));
+    }
 
-  if (!options.isNode && 'predictionsContains' in checks) {
-    var containsCheck = function(actualPredictions) {
-      checks.predictionsContains.forEach(function(prediction) {
-        var index = actualPredictions.indexOf(prediction);
-        assert.ok(index !== -1,
-                  'predictionsContains:' + prediction + suffix);
-        if (index === -1) {
-          log('Actual predictions (' + actualPredictions.length + '): ' +
-              actualPredictions.join(', '));
-        }
-      });
-    };
-    outstanding.push(helpers._actual.predictions(options).then(containsCheck));
-  }
+    if (!options.isNode && "predictionsContains" in checks) {
+      var containsCheck = function (actualPredictions) {
+        checks.predictionsContains.forEach(function (prediction) {
+          var index = actualPredictions.indexOf(prediction);
+          assert.ok(index !== -1,
+                  "predictionsContains:" + prediction + suffix);
+          if (index === -1) {
+            log("Actual predictions (" + actualPredictions.length + "): " +
+              actualPredictions.join(", "));
+          }
+        });
+      };
+      outstanding.push(helpers._actual.predictions(options).then(containsCheck));
+    }
 
-  if ('unassigned' in checks) {
-    helpers.arrayIs(helpers._actual.unassigned(options),
+    if ("unassigned" in checks) {
+      helpers.arrayIs(helpers._actual.unassigned(options),
                      checks.unassigned,
-                     'unassigned' + suffix);
-  }
+                     "unassigned" + suffix);
+    }
 
   /* TODO: Fix this
   if (!options.isNode && 'tooltipState' in checks) {
     assert.is(helpers._actual.tooltipState(options),
               checks.tooltipState,
               'tooltipState' + suffix);
   }
   */
 
-  if (!options.isNode && 'outputState' in checks) {
-    assert.is(helpers._actual.outputState(options),
+    if (!options.isNode && "outputState" in checks) {
+      assert.is(helpers._actual.outputState(options),
               checks.outputState,
-              'outputState' + suffix);
-  }
+              "outputState" + suffix);
+    }
 
-  if (!options.isNode && 'options' in checks) {
-    helpers.arrayIs(helpers._actual.options(options),
+    if (!options.isNode && "options" in checks) {
+      helpers.arrayIs(helpers._actual.options(options),
                      checks.options,
-                     'options' + suffix);
-  }
+                     "options" + suffix);
+    }
 
-  if (!options.isNode && 'error' in checks) {
-    assert.is(helpers._actual.message(options), checks.error, 'error' + suffix);
-  }
+    if (!options.isNode && "error" in checks) {
+      assert.is(helpers._actual.message(options), checks.error, "error" + suffix);
+    }
 
-  if (checks.args != null) {
-    Object.keys(checks.args).forEach(function(paramName) {
-      var check = checks.args[paramName];
+    if (checks.args != null) {
+      Object.keys(checks.args).forEach(function (paramName) {
+        var check = checks.args[paramName];
 
       // We allow an 'argument' called 'command' to be the command itself, but
       // what if the command has a parameter called 'command' (for example, an
       // 'exec' command)? We default to using the parameter because checking
       // the command value is less useful
-      var assignment = requisition.getAssignment(paramName);
-      if (assignment == null && paramName === 'command') {
-        assignment = requisition.commandAssignment;
-      }
+        var assignment = requisition.getAssignment(paramName);
+        if (assignment == null && paramName === "command") {
+          assignment = requisition.commandAssignment;
+        }
+
+        if (assignment == null) {
+          assert.ok(false, "Unknown arg: " + paramName + suffix);
+          return;
+        }
 
-      if (assignment == null) {
-        assert.ok(false, 'Unknown arg: ' + paramName + suffix);
-        return;
-      }
-
-      if ('value' in check) {
-        if (typeof check.value === 'function') {
-          try {
-            check.value(assignment.value);
+        if ("value" in check) {
+          if (typeof check.value === "function") {
+            try {
+              check.value(assignment.value);
+            }
+          catch (ex) {
+            assert.ok(false, "" + ex);
           }
-          catch (ex) {
-            assert.ok(false, '' + ex);
+          }
+          else {
+            assert.is(assignment.value,
+                    check.value,
+                    "arg." + paramName + ".value" + suffix);
           }
         }
-        else {
-          assert.is(assignment.value,
-                    check.value,
-                    'arg.' + paramName + '.value' + suffix);
-        }
-      }
 
-      if ('name' in check) {
-        assert.is(assignment.value.name,
+        if ("name" in check) {
+          assert.is(assignment.value.name,
                   check.name,
-                  'arg.' + paramName + '.name' + suffix);
-      }
+                  "arg." + paramName + ".name" + suffix);
+        }
 
-      if ('type' in check) {
-        assert.is(assignment.arg.type,
+        if ("type" in check) {
+          assert.is(assignment.arg.type,
                   check.type,
-                  'arg.' + paramName + '.type' + suffix);
-      }
+                  "arg." + paramName + ".type" + suffix);
+        }
 
-      if ('arg' in check) {
-        assert.is(assignment.arg.toString(),
+        if ("arg" in check) {
+          assert.is(assignment.arg.toString(),
                   check.arg,
-                  'arg.' + paramName + '.arg' + suffix);
-      }
+                  "arg." + paramName + ".arg" + suffix);
+        }
 
-      if ('status' in check) {
-        assert.is(assignment.getStatus().toString(),
+        if ("status" in check) {
+          assert.is(assignment.getStatus().toString(),
                   check.status,
-                  'arg.' + paramName + '.status' + suffix);
-      }
-
-      if (!options.isNode && 'message' in check) {
-        if (typeof check.message.test === 'function') {
-          assert.ok(check.message.test(assignment.message),
-                    'arg.' + paramName + '.message' + suffix);
+                  "arg." + paramName + ".status" + suffix);
         }
-        else {
-          assert.is(assignment.message,
+
+        if (!options.isNode && "message" in check) {
+          if (typeof check.message.test === "function") {
+            assert.ok(check.message.test(assignment.message),
+                    "arg." + paramName + ".message" + suffix);
+          }
+          else {
+            assert.is(assignment.message,
                     check.message,
-                    'arg.' + paramName + '.message' + suffix);
+                    "arg." + paramName + ".message" + suffix);
+          }
         }
-      }
+      });
+    }
+
+    return Promise.all(outstanding).then(function () {
+    // Ensure the promise resolves to nothing
+      return undefined;
     });
-  }
-
-  return Promise.all(outstanding).then(function() {
-    // Ensure the promise resolves to nothing
-    return undefined;
-  });
-};
+  };
 
 /**
  * Helper for helpers.audit() to ensure that all the 'exec' properties work.
  * See helpers.audit for more information.
  * @param name The name to use in error messages
  * @param expected See helpers.audit for a list of available exec checks
  * @return A promise which resolves to undefined when the checks are complete
  */
-helpers._exec = function(options, name, expected) {
-  var requisition = options.requisition;
-  if (expected == null) {
-    return Promise.resolve({});
-  }
-
-  var origLogErrors = cli.logErrors;
-  if (expected.error) {
-    cli.logErrors = false;
-  }
+  helpers._exec = function (options, name, expected) {
+    var requisition = options.requisition;
+    if (expected == null) {
+      return Promise.resolve({});
+    }
 
-  try {
-    return requisition.exec({ hidden: true }).then(function(output) {
-      if ('type' in expected) {
-        assert.is(output.type,
-                  expected.type,
-                  'output.type for: ' + name);
-      }
+    var origLogErrors = cli.logErrors;
+    if (expected.error) {
+      cli.logErrors = false;
+    }
 
-      if ('error' in expected) {
-        assert.is(output.error,
-                  expected.error,
-                  'output.error for: ' + name);
-      }
-
-      if (!('output' in expected)) {
-        return { output: output };
-      }
+    try {
+      return requisition.exec({ hidden: true }).then(function (output) {
+        if ("type" in expected) {
+          assert.is(output.type,
+                  expected.type,
+                  "output.type for: " + name);
+        }
 
-      var context = requisition.conversionContext;
-      var convertPromise;
-      if (options.isNode) {
-        convertPromise = output.convert('string', context);
-      }
-      else {
-        convertPromise = output.convert('dom', context).then(function(node) {
-          return (node == null) ? '' : node.textContent.trim();
-        });
-      }
+        if ("error" in expected) {
+          assert.is(output.error,
+                  expected.error,
+                  "output.error for: " + name);
+        }
 
-      return convertPromise.then(function(textOutput) {
-        var doTest = function(match, against) {
-          // Only log the real textContent if the test fails
-          if (against.match(match) != null) {
-            assert.ok(true, 'html output for \'' + name + '\' ' +
-                            'should match /' + (match.source || match) + '/');
-          } else {
-            assert.ok(false, 'html output for \'' + name + '\' ' +
-                             'should match /' + (match.source || match) + '/. ' +
-                             'Actual textContent: "' + against + '"');
-          }
-        };
+        if (!("output" in expected)) {
+          return { output: output };
+        }
 
-        if (typeof expected.output === 'string') {
-          assert.is(textOutput,
-                    expected.output,
-                    'html output for ' + name);
+        var context = requisition.conversionContext;
+        var convertPromise;
+        if (options.isNode) {
+          convertPromise = output.convert("string", context);
         }
-        else if (Array.isArray(expected.output)) {
-          expected.output.forEach(function(match) {
-            doTest(match, textOutput);
+        else {
+          convertPromise = output.convert("dom", context).then(function (node) {
+            return (node == null) ? "" : node.textContent.trim();
           });
         }
+
+        return convertPromise.then(function (textOutput) {
+          var doTest = function (match, against) {
+          // Only log the real textContent if the test fails
+            if (against.match(match) != null) {
+              assert.ok(true, "html output for '" + name + "' " +
+                            "should match /" + (match.source || match) + "/");
+            } else {
+              assert.ok(false, "html output for '" + name + "' " +
+                             "should match /" + (match.source || match) + "/. " +
+                             'Actual textContent: "' + against + '"');
+            }
+          };
+
+          if (typeof expected.output === "string") {
+            assert.is(textOutput,
+                    expected.output,
+                    "html output for " + name);
+          }
+          else if (Array.isArray(expected.output)) {
+            expected.output.forEach(function (match) {
+              doTest(match, textOutput);
+            });
+          }
         else {
-          doTest(expected.output, textOutput);
-        }
+            doTest(expected.output, textOutput);
+          }
 
+          if (expected.error) {
+            cli.logErrors = origLogErrors;
+          }
+          return { output: output, text: textOutput };
+        });
+      }.bind(this)).then(function (data) {
         if (expected.error) {
           cli.logErrors = origLogErrors;
         }
-        return { output: output, text: textOutput };
+
+        return data;
       });
-    }.bind(this)).then(function(data) {
-      if (expected.error) {
-        cli.logErrors = origLogErrors;
-      }
-
-      return data;
-    });
-  }
+    }
   catch (ex) {
-    assert.ok(false, 'Failure executing \'' + name + '\': ' + ex);
+    assert.ok(false, "Failure executing '" + name + "': " + ex);
     util.errorHandler(ex);
 
     if (expected.error) {
       cli.logErrors = origLogErrors;
     }
     return Promise.resolve({});
   }
-};
+  };
 
 /**
  * Helper to setup the test
  */
-helpers._setup = function(options, name, audit) {
-  if (typeof audit.setup === 'string') {
-    return helpers.setInput(options, audit.setup);
-  }
+  helpers._setup = function (options, name, audit) {
+    if (typeof audit.setup === "string") {
+      return helpers.setInput(options, audit.setup);
+    }
 
-  if (typeof audit.setup === 'function') {
-    return Promise.resolve(audit.setup.call(audit));
-  }
+    if (typeof audit.setup === "function") {
+      return Promise.resolve(audit.setup.call(audit));
+    }
 
-  return Promise.reject('\'setup\' property must be a string or a function. Is ' + audit.setup);
-};
+    return Promise.reject("'setup' property must be a string or a function. Is " + audit.setup);
+  };
 
 /**
  * Helper to shutdown the test
  */
-helpers._post = function(name, audit, data) {
-  if (typeof audit.post === 'function') {
-    return Promise.resolve(audit.post.call(audit, data.output, data.text));
-  }
-  return Promise.resolve(audit.post);
-};
+  helpers._post = function (name, audit, data) {
+    if (typeof audit.post === "function") {
+      return Promise.resolve(audit.post.call(audit, data.output, data.text));
+    }
+    return Promise.resolve(audit.post);
+  };
 
 /*
  * We do some basic response time stats so we can see if we're getting slow
  */
-var totalResponseTime = 0;
-var averageOver = 0;
-var maxResponseTime = 0;
-var maxResponseCulprit;
-var start;
+  var totalResponseTime = 0;
+  var averageOver = 0;
+  var maxResponseTime = 0;
+  var maxResponseCulprit;
+  var start;
 
 /**
  * Restart the stats collection process
  */
-helpers.resetResponseTimes = function() {
-  start = new Date().getTime();
-  totalResponseTime = 0;
-  averageOver = 0;
-  maxResponseTime = 0;
-  maxResponseCulprit = undefined;
-};
+  helpers.resetResponseTimes = function () {
+    start = new Date().getTime();
+    totalResponseTime = 0;
+    averageOver = 0;
+    maxResponseTime = 0;
+    maxResponseCulprit = undefined;
+  };
 
 /**
  * Expose an average response time in milliseconds
  */
-Object.defineProperty(helpers, 'averageResponseTime', {
-  get: function() {
-    return averageOver === 0 ?
+  Object.defineProperty(helpers, "averageResponseTime", {
+    get: function () {
+      return averageOver === 0 ?
         undefined :
         Math.round(100 * totalResponseTime / averageOver) / 100;
-  },
-  enumerable: true
-});
+    },
+    enumerable: true
+  });
 
 /**
  * Expose a maximum response time in milliseconds
  */
-Object.defineProperty(helpers, 'maxResponseTime', {
-  get: function() { return Math.round(maxResponseTime * 100) / 100; },
-  enumerable: true
-});
+  Object.defineProperty(helpers, "maxResponseTime", {
+    get: function () { return Math.round(maxResponseTime * 100) / 100; },
+    enumerable: true
+  });
 
 /**
  * Expose the name of the test that provided the maximum response time
  */
-Object.defineProperty(helpers, 'maxResponseCulprit', {
-  get: function() { return maxResponseCulprit; },
-  enumerable: true
-});
+  Object.defineProperty(helpers, "maxResponseCulprit", {
+    get: function () { return maxResponseCulprit; },
+    enumerable: true
+  });
 
 /**
  * Quick summary of the times
  */
-Object.defineProperty(helpers, 'timingSummary', {
-  get: function() {
-    var elapsed = (new Date().getTime() - start) / 1000;
-    return 'Total ' + elapsed + 's, ' +
-           'ave response ' + helpers.averageResponseTime + 'ms, ' +
-           'max response ' + helpers.maxResponseTime + 'ms ' +
-           'from \'' + helpers.maxResponseCulprit + '\'';
-  },
-  enumerable: true
-});
+  Object.defineProperty(helpers, "timingSummary", {
+    get: function () {
+      var elapsed = (new Date().getTime() - start) / 1000;
+      return "Total " + elapsed + "s, " +
+           "ave response " + helpers.averageResponseTime + "ms, " +
+           "max response " + helpers.maxResponseTime + "ms " +
+           "from '" + helpers.maxResponseCulprit + "'";
+    },
+    enumerable: true
+  });
 
 /**
  * A way of turning a set of tests into something more declarative, this helps
  * to allow tests to be asynchronous.
  * @param audits An array of objects each of which contains:
  * - setup: string/function to be called to set the test up.
  *     If audit is a string then it is passed to helpers.setInput().
  *     If audit is a function then it is executed. The tests will wait while
@@ -1229,131 +1229,131 @@ Object.defineProperty(helpers, 'timingSu
  *   - error: If true, then it is expected that this command will fail (that
  *       is, return a rejected promise or throw an exception)
  *   - type: A string documenting the expected type of the return value
  * - post: Function to be called after the checks have been run, which will be
  *     passed 2 parameters: the first being output data (with type, data, and
  *     error properties), and the second being the converted text version of
  *     the output data
  */
-helpers.audit = function(options, audits) {
-  checkOptions(options);
-  var skipReason = null;
-  return util.promiseEach(audits, function(audit) {
-    var name = audit.name;
-    if (name == null && typeof audit.setup === 'string') {
-      name = audit.setup;
-    }
+  helpers.audit = function (options, audits) {
+    checkOptions(options);
+    var skipReason = null;
+    return util.promiseEach(audits, function (audit) {
+      var name = audit.name;
+      if (name == null && typeof audit.setup === "string") {
+        name = audit.setup;
+      }
 
-    if (assert.testLogging) {
-      log('- START \'' + name + '\' in ' + assert.currentTest);
-    }
+      if (assert.testLogging) {
+        log("- START '" + name + "' in " + assert.currentTest);
+      }
 
-    if (audit.skipRemainingIf) {
-      var skipRemainingIf = (typeof audit.skipRemainingIf === 'function') ?
+      if (audit.skipRemainingIf) {
+        var skipRemainingIf = (typeof audit.skipRemainingIf === "function") ?
           audit.skipRemainingIf(options) :
           !!audit.skipRemainingIf;
-      if (skipRemainingIf) {
-        skipReason = audit.skipRemainingIf.name ?
-            'due to ' + audit.skipRemainingIf.name :
-            '';
-        assert.log('Skipped ' + name + ' ' + skipReason);
+        if (skipRemainingIf) {
+          skipReason = audit.skipRemainingIf.name ?
+            "due to " + audit.skipRemainingIf.name :
+            "";
+          assert.log("Skipped " + name + " " + skipReason);
 
         // Tests need at least one pass, fail or todo. Create a dummy pass
-        assert.ok(true, 'Each test requires at least one pass, fail or todo');
+          assert.ok(true, "Each test requires at least one pass, fail or todo");
 
-        return Promise.resolve(undefined);
+          return Promise.resolve(undefined);
+        }
       }
-    }
 
-    if (audit.skipIf) {
-      var skip = (typeof audit.skipIf === 'function') ?
+      if (audit.skipIf) {
+        var skip = (typeof audit.skipIf === "function") ?
           audit.skipIf(options) :
           !!audit.skipIf;
-      if (skip) {
-        var reason = audit.skipIf.name ? 'due to ' + audit.skipIf.name : '';
-        assert.log('Skipped ' + name + ' ' + reason);
+        if (skip) {
+          var reason = audit.skipIf.name ? "due to " + audit.skipIf.name : "";
+          assert.log("Skipped " + name + " " + reason);
+          return Promise.resolve(undefined);
+        }
+      }
+
+      if (skipReason != null) {
+        assert.log("Skipped " + name + " " + skipReason);
         return Promise.resolve(undefined);
       }
-    }
 
-    if (skipReason != null) {
-      assert.log('Skipped ' + name + ' ' + skipReason);
-      return Promise.resolve(undefined);
-    }
+      var start = new Date().getTime();
 
-    var start = new Date().getTime();
-
-    var setupDone = helpers._setup(options, name, audit);
-    return setupDone.then(function(chunkLen) {
-      if (typeof chunkLen !== 'number') {
-        chunkLen = 1;
-      }
+      var setupDone = helpers._setup(options, name, audit);
+      return setupDone.then(function (chunkLen) {
+        if (typeof chunkLen !== "number") {
+          chunkLen = 1;
+        }
 
       // Nasty hack to allow us to auto-skip tests where we're actually testing
       // a key-sequence (i.e. targeting terminal.js) when there is no terminal
-      if (chunkLen === -1) {
-        assert.log('Skipped ' + name + ' ' + skipReason);
-        return Promise.resolve(undefined);
-      }
-
-      if (assert.currentTest) {
-        var responseTime = (new Date().getTime() - start) / chunkLen;
-        totalResponseTime += responseTime;
-        if (responseTime > maxResponseTime) {
-          maxResponseTime = responseTime;
-          maxResponseCulprit = assert.currentTest + '/' + name;
+        if (chunkLen === -1) {
+          assert.log("Skipped " + name + " " + skipReason);
+          return Promise.resolve(undefined);
         }
-        averageOver++;
-      }
 
-      var checkDone = helpers._check(options, name, audit.check);
-      return checkDone.then(function() {
-        var execDone = helpers._exec(options, name, audit.exec);
-        return execDone.then(function(data) {
-          return helpers._post(name, audit, data).then(function() {
-            if (assert.testLogging) {
-              log('- END \'' + name + '\' in ' + assert.currentTest);
-            }
+        if (assert.currentTest) {
+          var responseTime = (new Date().getTime() - start) / chunkLen;
+          totalResponseTime += responseTime;
+          if (responseTime > maxResponseTime) {
+            maxResponseTime = responseTime;
+            maxResponseCulprit = assert.currentTest + "/" + name;
+          }
+          averageOver++;
+        }
+
+        var checkDone = helpers._check(options, name, audit.check);
+        return checkDone.then(function () {
+          var execDone = helpers._exec(options, name, audit.exec);
+          return execDone.then(function (data) {
+            return helpers._post(name, audit, data).then(function () {
+              if (assert.testLogging) {
+                log("- END '" + name + "' in " + assert.currentTest);
+              }
+            });
           });
         });
       });
+    }).then(function () {
+      return options.automator.setInput("");
+    }, function (ex) {
+      options.automator.setInput("");
+      throw ex;
     });
-  }).then(function() {
-    return options.automator.setInput('');
-  }, function(ex) {
-    options.automator.setInput('');
-    throw ex;
-  });
-};
+  };
 
 /**
  * Compare 2 arrays.
  */
-helpers.arrayIs = function(actual, expected, message) {
-  assert.ok(Array.isArray(actual), 'actual is not an array: ' + message);
-  assert.ok(Array.isArray(expected), 'expected is not an array: ' + message);
+  helpers.arrayIs = function (actual, expected, message) {
+    assert.ok(Array.isArray(actual), "actual is not an array: " + message);
+    assert.ok(Array.isArray(expected), "expected is not an array: " + message);
 
-  if (!Array.isArray(actual) || !Array.isArray(expected)) {
-    return;
-  }
+    if (!Array.isArray(actual) || !Array.isArray(expected)) {
+      return;
+    }
 
-  assert.is(actual.length, expected.length, 'array length: ' + message);
+    assert.is(actual.length, expected.length, "array length: " + message);
 
-  for (var i = 0; i < actual.length && i < expected.length; i++) {
-    assert.is(actual[i], expected[i], 'member[' + i + ']: ' + message);
-  }
-};
+    for (var i = 0; i < actual.length && i < expected.length; i++) {
+      assert.is(actual[i], expected[i], "member[" + i + "]: " + message);
+    }
+  };
 
 /**
  * A quick helper to log to the correct place
  */
-function log(message) {
-  if (typeof info === 'function') {
-    info(message);
+  function log(message) {
+    if (typeof info === "function") {
+      info(message);
+    }
+    else {
+      console.log(message);
+    }
   }
-  else {
-    console.log(message);
-  }
-}
 
-return { helpers: helpers, assert: assert };
+  return { helpers: helpers, assert: assert };
 })();
--- a/devtools/client/commandline/test/mockCommands.js
+++ b/devtools/client/commandline/test/mockCommands.js
@@ -9,786 +9,786 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-'use strict';
+"use strict";
 
 // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT
 // PLEASE TALK TO SOMEONE IN DEVELOPER TOOLS BEFORE EDITING IT
 
 var mockCommands;
-if (typeof exports !== 'undefined') {
+if (typeof exports !== "undefined") {
   // If we're being loaded via require();
   mockCommands = exports;
 }
 else {
   // If we're being loaded via loadScript in mochitest
   mockCommands = {};
 }
 
 // We use an alias for exports here because this module is used in Firefox
 // mochitests where we don't have define/require
 
 /**
  * Registration and de-registration.
  */
-mockCommands.setup = function(requisition) {
+mockCommands.setup = function (requisition) {
   requisition.system.addItems(mockCommands.items);
 };
 
-mockCommands.shutdown = function(requisition) {
+mockCommands.shutdown = function (requisition) {
   requisition.system.removeItems(mockCommands.items);
 };
 
 function createExec(name) {
-  return function(args, context) {
+  return function (args, context) {
     var promises = [];
 
-    Object.keys(args).map(function(argName) {
+    Object.keys(args).map(function (argName) {
       var value = args[argName];
       var type = this.getParameterByName(argName).type;
       var promise = Promise.resolve(type.stringify(value, context));
-      promises.push(promise.then(function(str) {
+      promises.push(promise.then(function (str) {
         return { name: argName, value: str };
       }.bind(this)));
     }.bind(this));
 
-    return Promise.all(promises).then(function(data) {
+    return Promise.all(promises).then(function (data) {
       var argValues = {};
-      data.forEach(function(entry) { argValues[entry.name] = entry.value; });
+      data.forEach(function (entry) { argValues[entry.name] = entry.value; });
 
-      return context.typedData('testCommandOutput', {
+      return context.typedData("testCommandOutput", {
         name: name,
         args: argValues
       });
     }.bind(this));
   };
 }
 
 mockCommands.items = [
   {
-    item: 'converter',
-    from: 'testCommandOutput',
-    to: 'dom',
-    exec: function(testCommandOutput, context) {
+    item: "converter",
+    from: "testCommandOutput",
+    to: "dom",
+    exec: function (testCommandOutput, context) {
       var view = context.createView({
         data: testCommandOutput,
-        html: '' +
-          '<table>' +
-            '<thead>' +
-              '<tr>' +
+        html: "" +
+          "<table>" +
+            "<thead>" +
+              "<tr>" +
                 '<th colspan="3">Exec: ${name}</th>' +
-              '</tr>' +
-            '</thead>' +
-            '<tbody>' +
+              "</tr>" +
+            "</thead>" +
+            "<tbody>" +
               '<tr foreach="key in ${args}">' +
-                '<td> ${key}</td>' +
-                '<td>=</td>' +
-                '<td>${args[key]}</td>' +
-              '</tr>' +
-            '</tbody>' +
-          '</table>',
+                "<td> ${key}</td>" +
+                "<td>=</td>" +
+                "<td>${args[key]}</td>" +
+              "</tr>" +
+            "</tbody>" +
+          "</table>",
         options: {
           allowEval: true
         }
       });
 
       return view.toDom(context.document);
     }
   },
   {
-    item: 'converter',
-    from: 'testCommandOutput',
-    to: 'string',
-    exec: function(testCommandOutput, context) {
-      var argsOut = Object.keys(testCommandOutput.args).map(function(key) {
-        return key + '=' + testCommandOutput.args[key];
-      }).join(' ');
-      return 'Exec: ' + testCommandOutput.name + ' ' + argsOut;
+    item: "converter",
+    from: "testCommandOutput",
+    to: "string",
+    exec: function (testCommandOutput, context) {
+      var argsOut = Object.keys(testCommandOutput.args).map(function (key) {
+        return key + "=" + testCommandOutput.args[key];
+      }).join(" ");
+      return "Exec: " + testCommandOutput.name + " " + argsOut;
     }
   },
   {
-    item: 'type',
-    name: 'optionType',
-    parent: 'selection',
+    item: "type",
+    name: "optionType",
+    parent: "selection",
     lookup: [
       {
-        name: 'option1',
-        value: 'string'
+        name: "option1",
+        value: "string"
       },
       {
-        name: 'option2',
-        value: 'number'
+        name: "option2",
+        value: "number"
       },
       {
-        name: 'option3',
+        name: "option3",
         value: {
-          name: 'selection',
+          name: "selection",
           lookup: [
-            { name: 'one', value: 1 },
-            { name: 'two', value: 2 },
-            { name: 'three', value: 3 }
+            { name: "one", value: 1 },
+            { name: "two", value: 2 },
+            { name: "three", value: 3 }
           ]
         }
       }
     ]
   },
   {
-    item: 'type',
-    name: 'optionValue',
-    parent: 'delegate',
-    delegateType: function(executionContext) {
+    item: "type",
+    name: "optionValue",
+    parent: "delegate",
+    delegateType: function (executionContext) {
       if (executionContext != null) {
         var option = executionContext.getArgsObject().optionType;
         if (option != null) {
           return option;
         }
       }
-      return 'blank';
+      return "blank";
     }
   },
   {
-    item: 'command',
-    name: 'tsv',
+    item: "command",
+    name: "tsv",
     params: [
-      { name: 'optionType', type: 'optionType' },
-      { name: 'optionValue', type: 'optionValue' }
+      { name: "optionType", type: "optionType" },
+      { name: "optionValue", type: "optionValue" }
     ],
-    exec: createExec('tsv')
+    exec: createExec("tsv")
   },
   {
-    item: 'command',
-    name: 'tsr',
-    params: [ { name: 'text', type: 'string' } ],
-    exec: createExec('tsr')
+    item: "command",
+    name: "tsr",
+    params: [ { name: "text", type: "string" } ],
+    exec: createExec("tsr")
   },
   {
-    item: 'command',
-    name: 'tsrsrsr',
+    item: "command",
+    name: "tsrsrsr",
     params: [
-      { name: 'p1', type: 'string' },
-      { name: 'p2', type: 'string' },
-      { name: 'p3', type: { name: 'string', allowBlank: true} },
+      { name: "p1", type: "string" },
+      { name: "p2", type: "string" },
+      { name: "p3", type: { name: "string", allowBlank: true} },
     ],
-    exec: createExec('tsrsrsr')
+    exec: createExec("tsrsrsr")
   },
   {
-    item: 'command',
-    name: 'tso',
-    params: [ { name: 'text', type: 'string', defaultValue: null } ],
-    exec: createExec('tso')
+    item: "command",
+    name: "tso",
+    params: [ { name: "text", type: "string", defaultValue: null } ],
+    exec: createExec("tso")
   },
   {
-    item: 'command',
-    name: 'tse',
+    item: "command",
+    name: "tse",
     params: [
-      { name: 'node', type: 'node' },
+      { name: "node", type: "node" },
       {
-        group: 'options',
+        group: "options",
         params: [
-          { name: 'nodes', type: { name: 'nodelist' } },
-          { name: 'nodes2', type: { name: 'nodelist', allowEmpty: true } }
+          { name: "nodes", type: { name: "nodelist" } },
+          { name: "nodes2", type: { name: "nodelist", allowEmpty: true } }
         ]
       }
     ],
-    exec: createExec('tse')
+    exec: createExec("tse")
   },
   {
-    item: 'command',
-    name: 'tsj',
-    params: [ { name: 'javascript', type: 'javascript' } ],
-    exec: createExec('tsj')
+    item: "command",
+    name: "tsj",
+    params: [ { name: "javascript", type: "javascript" } ],
+    exec: createExec("tsj")
   },
   {
-    item: 'command',
-    name: 'tsb',
-    params: [ { name: 'toggle', type: 'boolean' } ],
-    exec: createExec('tsb')
+    item: "command",
+    name: "tsb",
+    params: [ { name: "toggle", type: "boolean" } ],
+    exec: createExec("tsb")
   },
   {
-    item: 'command',
-    name: 'tss',
-    exec: createExec('tss')
+    item: "command",
+    name: "tss",
+    exec: createExec("tss")
   },
   {
-    item: 'command',
-    name: 'tsu',
+    item: "command",
+    name: "tsu",
     params: [
       {
-        name: 'num',
+        name: "num",
         type: {
-          name: 'number',
+          name: "number",
           max: 10,
           min: -5,
           step: 3
         }
       }
     ],
-    exec: createExec('tsu')
+    exec: createExec("tsu")
   },
   {
-    item: 'command',
-    name: 'tsf',
+    item: "command",
+    name: "tsf",
     params: [
       {
-        name: 'num',
+        name: "num",
         type: {
-          name: 'number',
+          name: "number",
           allowFloat: true,
           max: 11.5,
           min: -6.5,
           step: 1.5
         }
       }
     ],
-    exec: createExec('tsf')
+    exec: createExec("tsf")
   },
   {
-    item: 'command',
-    name: 'tsn'
+    item: "command",
+    name: "tsn"
   },
   {
-    item: 'command',
-    name: 'tsn dif',
-    params: [ { name: 'text', type: 'string', description: 'tsn dif text' } ],
-    exec: createExec('tsnDif')
+    item: "command",
+    name: "tsn dif",
+    params: [ { name: "text", type: "string", description: "tsn dif text" } ],
+    exec: createExec("tsnDif")
   },
   {
-    item: 'command',
-    name: 'tsn hidden',
+    item: "command",
+    name: "tsn hidden",
     hidden: true,
-    exec: createExec('tsnHidden')
+    exec: createExec("tsnHidden")
   },
   {
-    item: 'command',
-    name: 'tsn ext',
-    params: [ { name: 'text', type: 'string' } ],
-    exec: createExec('tsnExt')
+    item: "command",
+    name: "tsn ext",
+    params: [ { name: "text", type: "string" } ],
+    exec: createExec("tsnExt")
   },
   {
-    item: 'command',
-    name: 'tsn exte',
-    params: [ { name: 'text', type: 'string' } ],
-    exec: createExec('tsnExte')
+    item: "command",
+    name: "tsn exte",
+    params: [ { name: "text", type: "string" } ],
+    exec: createExec("tsnExte")
   },
   {
-    item: 'command',
-    name: 'tsn exten',
-    params: [ { name: 'text', type: 'string' } ],
-    exec: createExec('tsnExten')
+    item: "command",
+    name: "tsn exten",
+    params: [ { name: "text", type: "string" } ],
+    exec: createExec("tsnExten")
   },
   {
-    item: 'command',
-    name: 'tsn extend',
-    params: [ { name: 'text', type: 'string' } ],
-    exec: createExec('tsnExtend')
+    item: "command",
+    name: "tsn extend",
+    params: [ { name: "text", type: "string" } ],
+    exec: createExec("tsnExtend")
   },
   {
-    item: 'command',
-    name: 'tsn deep'
+    item: "command",
+    name: "tsn deep"
   },
   {
-    item: 'command',
-    name: 'tsn deep down'
+    item: "command",
+    name: "tsn deep down"
   },
   {
-    item: 'command',
-    name: 'tsn deep down nested'
+    item: "command",
+    name: "tsn deep down nested"
   },
   {
-    item: 'command',
-    name: 'tsn deep down nested cmd',
-    exec: createExec('tsnDeepDownNestedCmd')
+    item: "command",
+    name: "tsn deep down nested cmd",
+    exec: createExec("tsnDeepDownNestedCmd")
   },
   {
-    item: 'command',
-    name: 'tshidden',
+    item: "command",
+    name: "tshidden",
     hidden: true,
     params: [
       {
-        group: 'Options',
+        group: "Options",
         params: [
           {
-            name: 'visible',
-            type: 'string',
-            short: 'v',
+            name: "visible",
+            type: "string",
+            short: "v",
             defaultValue: null,
-            description: 'visible'
+            description: "visible"
           },
           {
-            name: 'invisiblestring',
-            type: 'string',
-            short: 'i',
-            description: 'invisiblestring',
+            name: "invisiblestring",
+            type: "string",
+            short: "i",
+            description: "invisiblestring",
             defaultValue: null,
             hidden: true
           },
           {
-            name: 'invisibleboolean',
-            short: 'b',
-            type: 'boolean',
-            description: 'invisibleboolean',
+            name: "invisibleboolean",
+            short: "b",
+            type: "boolean",
+            description: "invisibleboolean",
             hidden: true
           }
         ]
       }
     ],
-    exec: createExec('tshidden')
+    exec: createExec("tshidden")
   },
   {
-    item: 'command',
-    name: 'tselarr',
+    item: "command",
+    name: "tselarr",
     params: [
-      { name: 'num', type: { name: 'selection', data: [ '1', '2', '3' ] } },
-      { name: 'arr', type: { name: 'array', subtype: 'string' } }
+      { name: "num", type: { name: "selection", data: [ "1", "2", "3" ] } },
+      { name: "arr", type: { name: "array", subtype: "string" } }
     ],
-    exec: createExec('tselarr')
+    exec: createExec("tselarr")
   },
   {
-    item: 'command',
-    name: 'tsm',
-    description: 'a 3-param test selection|string|number',
+    item: "command",
+    name: "tsm",
+    description: "a 3-param test selection|string|number",
     params: [
-      { name: 'abc', type: { name: 'selection', data: [ 'a', 'b', 'c' ] } },
-      { name: 'txt', type: 'string' },
-      { name: 'num', type: { name: 'number', max: 42, min: 0 } }
+      { name: "abc", type: { name: "selection", data: [ "a", "b", "c" ] } },
+      { name: "txt", type: "string" },
+      { name: "num", type: { name: "number", max: 42, min: 0 } }
     ],
-    exec: createExec('tsm')
+    exec: createExec("tsm")
   },
   {
-    item: 'command',
-    name: 'tsg',
-    description: 'a param group test',
+    item: "command",
+    name: "tsg",
+    description: "a param group test",
     params: [
       {
-        name: 'solo',
-        type: { name: 'selection', data: [ 'aaa', 'bbb', 'ccc' ] },
-        description: 'solo param'
+        name: "solo",
+        type: { name: "selection", data: [ "aaa", "bbb", "ccc" ] },
+        description: "solo param"
       },
       {
-        group: 'First',
+        group: "First",
         params: [
           {
-            name: 'txt1',
-            type: 'string',
+            name: "txt1",
+            type: "string",
             defaultValue: null,
-            description: 'txt1 param'
+            description: "txt1 param"
           },
           {
-            name: 'bool',
-            type: 'boolean',
-            description: 'bool param'
+            name: "bool",
+            type: "boolean",
+            description: "bool param"
           }
         ]
       },
       {
-        name: 'txt2',
-        type: 'string',
-        defaultValue: 'd',
-        description: 'txt2 param',
-        option: 'Second'
+        name: "txt2",
+        type: "string",
+        defaultValue: "d",
+        description: "txt2 param",
+        option: "Second"
       },
       {
-        name: 'num',
-        type: { name: 'number', min: 40 },
+        name: "num",
+        type: { name: "number", min: 40 },
         defaultValue: 42,
-        description: 'num param',
-        option: 'Second'
+        description: "num param",
+        option: "Second"
       }
     ],
-    exec: createExec('tsg')
+    exec: createExec("tsg")
   },
   {
-    item: 'command',
-    name: 'tscook',
-    description: 'param group test to catch problems with cookie command',
+    item: "command",
+    name: "tscook",
+    description: "param group test to catch problems with cookie command",
     params: [
       {
-        name: 'key',
-        type: 'string',
-        description: 'tscookKeyDesc'
+        name: "key",
+        type: "string",
+        description: "tscookKeyDesc"
       },
       {
-        name: 'value',
-        type: 'string',
-        description: 'tscookValueDesc'
+        name: "value",
+        type: "string",
+        description: "tscookValueDesc"
       },
       {
-        group: 'tscookOptionsDesc',
+        group: "tscookOptionsDesc",
         params: [
           {
-            name: 'path',
-            type: 'string',
-            defaultValue: '/',
-            description: 'tscookPathDesc'
+            name: "path",
+            type: "string",
+            defaultValue: "/",
+            description: "tscookPathDesc"
           },
           {
-            name: 'domain',
-            type: 'string',
+            name: "domain",
+            type: "string",
             defaultValue: null,
-            description: 'tscookDomainDesc'
+            description: "tscookDomainDesc"
           },
           {
-            name: 'secure',
-            type: 'boolean',
-            description: 'tscookSecureDesc'
+            name: "secure",
+            type: "boolean",
+            description: "tscookSecureDesc"
           }
         ]
       }
     ],
-    exec: createExec('tscook')
+    exec: createExec("tscook")
   },
   {
-    item: 'command',
-    name: 'tslong',
-    description: 'long param tests to catch problems with the jsb command',
+    item: "command",
+    name: "tslong",
+    description: "long param tests to catch problems with the jsb command",
     params: [
       {
-        name: 'msg',
-        type: 'string',
-        description: 'msg Desc'
+        name: "msg",
+        type: "string",
+        description: "msg Desc"
       },
       {
-        group: 'Options Desc',
+        group: "Options Desc",
         params: [
           {
-            name: 'num',
-            short: 'n',
-            type: 'number',
-            description: 'num Desc',
+            name: "num",
+            short: "n",
+            type: "number",
+            description: "num Desc",
             defaultValue: 2
           },
           {
-            name: 'sel',
-            short: 's',
+            name: "sel",
+            short: "s",
             type: {
-              name: 'selection',
+              name: "selection",
               lookup: [
-                { name: 'space', value: ' ' },
-                { name: 'tab', value: '\t' }
+                { name: "space", value: " " },
+                { name: "tab", value: "\t" }
               ]
             },
-            description: 'sel Desc',
-            defaultValue: ' '
+            description: "sel Desc",
+            defaultValue: " "
           },
           {
-            name: 'bool',
-            short: 'b',
-            type: 'boolean',
-            description: 'bool Desc'
+            name: "bool",
+            short: "b",
+            type: "boolean",
+            description: "bool Desc"
           },
           {
-            name: 'num2',
-            short: 'm',
-            type: 'number',
-            description: 'num2 Desc',
+            name: "num2",
+            short: "m",
+            type: "number",
+            description: "num2 Desc",
             defaultValue: -1
           },
           {
-            name: 'bool2',
-            short: 'c',
-            type: 'boolean',
-            description: 'bool2 Desc'
+            name: "bool2",
+            short: "c",
+            type: "boolean",
+            description: "bool2 Desc"
           },
           {
-            name: 'sel2',
-            short: 't',
+            name: "sel2",
+            short: "t",
             type: {
-              name: 'selection',
-              data: [ 'collapse', 'basic', 'with space', 'with two spaces' ]
+              name: "selection",
+              data: [ "collapse", "basic", "with space", "with two spaces" ]
             },
-            description: 'sel2 Desc',
-            defaultValue: 'collapse'
+            description: "sel2 Desc",
+            defaultValue: "collapse"
           }
         ]
       }
     ],
-    exec: createExec('tslong')
+    exec: createExec("tslong")
   },
   {
-    item: 'command',
-    name: 'tsdate',
-    description: 'long param tests to catch problems with the jsb command',
+    item: "command",
+    name: "tsdate",
+    description: "long param tests to catch problems with the jsb command",
     params: [
       {
-        name: 'd1',
-        type: 'date',
+        name: "d1",
+        type: "date",
       },
       {
-        name: 'd2',
+        name: "d2",
         type: {
-          name: 'date',
-          min: '1 jan 2000',
-          max: '28 feb 2000',
+          name: "date",
+          min: "1 jan 2000",
+          max: "28 feb 2000",
           step: 2
         }
       },
     ],
-    exec: createExec('tsdate')
+    exec: createExec("tsdate")
   },
   {
-    item: 'command',
-    name: 'tsfail',
-    description: 'test errors',
+    item: "command",
+    name: "tsfail",
+    description: "test errors",
     params: [
       {
-        name: 'method',
+        name: "method",
         type: {
-          name: 'selection',
+          name: "selection",
           data: [
-            'reject', 'rejecttyped',
-            'throwerror', 'throwstring', 'throwinpromise',
-            'noerror'
+            "reject", "rejecttyped",
+            "throwerror", "throwstring", "throwinpromise",
+            "noerror"
           ]
         }
       }
     ],
-    exec: function(args, context) {
-      if (args.method === 'reject') {
-        return new Promise(function(resolve, reject) {
-          context.environment.window.setTimeout(function() {
-            reject('rejected promise');
+    exec: function (args, context) {
+      if (args.method === "reject") {
+        return new Promise(function (resolve, reject) {
+          context.environment.window.setTimeout(function () {
+            reject("rejected promise");
           }, 10);
         });
       }
 
-      if (args.method === 'rejecttyped') {
-        return new Promise(function(resolve, reject) {
-          context.environment.window.setTimeout(function() {
-            reject(context.typedData('number', 54));
+      if (args.method === "rejecttyped") {
+        return new Promise(function (resolve, reject) {
+          context.environment.window.setTimeout(function () {
+            reject(context.typedData("number", 54));
           }, 10);
         });
       }
 
-      if (args.method === 'throwinpromise') {
-        return new Promise(function(resolve, reject) {
-          context.environment.window.setTimeout(function() {
-            resolve('should be lost');
+      if (args.method === "throwinpromise") {
+        return new Promise(function (resolve, reject) {
+          context.environment.window.setTimeout(function () {
+            resolve("should be lost");
           }, 10);
-        }).then(function() {
+        }).then(function () {
           var t = null;
           return t.foo;
         });
       }
 
-      if (args.method === 'throwerror') {
-        throw new Error('thrown error');
+      if (args.method === "throwerror") {
+        throw new Error("thrown error");
       }
 
-      if (args.method === 'throwstring') {
-        throw 'thrown string';
+      if (args.method === "throwstring") {
+        throw "thrown string";
       }
 
-      return 'no error';
+      return "no error";
     }
   },
   {
-    item: 'command',
-    name: 'tsfile',
-    description: 'test file params',
+    item: "command",
+    name: "tsfile",
+    description: "test file params",
   },
   {
-    item: 'command',
-    name: 'tsfile open',
-    description: 'a file param in open mode',
+    item: "command",
+    name: "tsfile open",
+    description: "a file param in open mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'file',
-          existing: 'yes'
+          name: "file",
+          filetype: "file",
+          existing: "yes"
         }
       }
     ],
-    exec: createExec('tsfile open')
+    exec: createExec("tsfile open")
   },
   {
-    item: 'command',
-    name: 'tsfile saveas',
-    description: 'a file param in saveas mode',
+    item: "command",
+    name: "tsfile saveas",
+    description: "a file param in saveas mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'file',
-          existing: 'no'
+          name: "file",
+          filetype: "file",
+          existing: "no"
         }
       }
     ],
-    exec: createExec('tsfile saveas')
+    exec: createExec("tsfile saveas")
   },
   {
-    item: 'command',
-    name: 'tsfile save',
-    description: 'a file param in save mode',
+    item: "command",
+    name: "tsfile save",
+    description: "a file param in save mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'file',
-          existing: 'maybe'
+          name: "file",
+          filetype: "file",
+          existing: "maybe"
         }
       }
     ],
-    exec: createExec('tsfile save')
+    exec: createExec("tsfile save")
   },
   {
-    item: 'command',
-    name: 'tsfile cd',
-    description: 'a file param in cd mode',
+    item: "command",
+    name: "tsfile cd",
+    description: "a file param in cd mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'directory',
-          existing: 'yes'
+          name: "file",
+          filetype: "directory",
+          existing: "yes"
         }
       }
     ],
-    exec: createExec('tsfile cd')
+    exec: createExec("tsfile cd")
   },
   {
-    item: 'command',
-    name: 'tsfile mkdir',
-    description: 'a file param in mkdir mode',
+    item: "command",
+    name: "tsfile mkdir",
+    description: "a file param in mkdir mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'directory',
-          existing: 'no'
+          name: "file",
+          filetype: "directory",
+          existing: "no"
         }
       }
     ],
-    exec: createExec('tsfile mkdir')
+    exec: createExec("tsfile mkdir")
   },
   {
-    item: 'command',
-    name: 'tsfile rm',
-    description: 'a file param in rm mode',
+    item: "command",
+    name: "tsfile rm",
+    description: "a file param in rm mode",
     params: [
       {
-        name: 'p1',
+        name: "p1",
         type: {
-          name: 'file',
-          filetype: 'any',
-          existing: 'yes'
+          name: "file",
+          filetype: "any",
+          existing: "yes"
         }
       }
     ],
-    exec: createExec('tsfile rm')
+    exec: createExec("tsfile rm")
   },
   {
-    item: 'command',
-    name: 'tsslow',
+    item: "command",
+    name: "tsslow",
     params: [
       {
-        name: 'hello',
+        name: "hello",
         type: {
-          name: 'selection',
-          data: function(context) {
-            return new Promise(function(resolve, reject) {
-              context.environment.window.setTimeout(function() {
+          name: "selection",
+          data: function (context) {
+            return new Promise(function (resolve, reject) {
+              context.environment.window.setTimeout(function () {
                 resolve([
-                  'Shalom', 'Namasté', 'Hallo', 'Dydd-da',
-                  'Chào', 'Hej', 'Saluton', 'Sawubona'
+                  "Shalom", "Namasté", "Hallo", "Dydd-da",
+                  "Chào", "Hej", "Saluton", "Sawubona"
                 ]);
               }, 10);
             });
           }
         }
       }
     ],
-    exec: function(args, context) {
-      return 'Test completed';
+    exec: function (args, context) {
+      return "Test completed";
     }
   },
   {
-    item: 'command',
-    name: 'urlc',
+    item: "command",
+    name: "urlc",
     params: [
       {
-        name: 'url',
-        type: 'url'
+        name: "url",
+        type: "url"
       }
     ],
-    returnType: 'json',
-    exec: function(args, context) {
+    returnType: "json",
+    exec: function (args, context) {
       return args;
     }
   },
   {
-    item: 'command',
-    name: 'unionc1',
+    item: "command",
+    name: "unionc1",
     params: [
       {
-        name: 'first',
+        name: "first",
         type: {
-          name: 'union',
+          name: "union",
           alternatives: [
             {
-              name: 'selection',
+              name: "selection",
               lookup: [
-                { name: 'one', value: 1 },
-                { name: 'two', value: 2 },
+                { name: "one", value: 1 },
+                { name: "two", value: 2 },
               ]
             },
-            'number',
-            { name: 'string' }
+            "number",
+            { name: "string" }
           ]
         }
       }
     ],
-    returnType: 'json',
-    exec: function(args, context) {
+    returnType: "json",
+    exec: function (args, context) {
       return args;
     }
   },
   {
-    item: 'command',
-    name: 'unionc2',
+    item: "command",
+    name: "unionc2",
     params: [
       {
-        name: 'first',
+        name: "first",
         type: {
-          name: 'union',
+          name: "union",
           alternatives: [
             {
-              name: 'selection',
+              name: "selection",
               lookup: [
-                { name: 'one', value: 1 },
-                { name: 'two', value: 2 },
+                { name: "one", value: 1 },
+                { name: "two", value: 2 },
               ]
             },
             {
-              name: 'url'
+              name: "url"
             }
           ]
         }
       }
     ],
-    returnType: 'json',
-    exec: function(args, context) {
+    returnType: "json",
+    exec: function (args, context) {
       return args;
     }
   },
   {
-    item: 'command',
-    name: 'tsres',
+    item: "command",
+    name: "tsres",
     params: [
       {
-        name: 'resource',
-        type: 'resource'
+        name: "resource",
+        type: "resource"
       }
     ],
-    exec: createExec('tsres'),
+    exec: createExec("tsres"),
   }
 ];
--- a/devtools/client/debugger/content/actions/breakpoints.js
+++ b/devtools/client/debugger/content/actions/breakpoints.js
@@ -1,20 +1,20 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
-const promise = require('promise');
-const { asPaused } = require('../utils');
-const { PROMISE } = require('devtools/client/shared/redux/middleware/promise');
+const constants = require("../constants");
+const promise = require("promise");
+const { asPaused } = require("../utils");
+const { PROMISE } = require("devtools/client/shared/redux/middleware/promise");
 const {
   getSource, getBreakpoint, getBreakpoints, makeLocationId
-} = require('../queries');
+} = require("../queries");
 
 // Because breakpoints are just simple data structures, we still need
 // a way to lookup the actual client instance to talk to the server.
 // We keep an internal database of clients based off of actor ID.
 const BREAKPOINT_CLIENT_STORE = new Map();
 
 function setBreakpointClient(actor, client) {
   BREAKPOINT_CLIENT_STORE.set(actor, client);
@@ -46,17 +46,17 @@ function addBreakpoint(location, conditi
     }
 
     const bp = _getOrCreateBreakpoint(getState(), location, condition);
 
     return dispatch({
       type: constants.ADD_BREAKPOINT,
       breakpoint: bp,
       condition: condition,
-      [PROMISE]: Task.spawn(function*() {
+      [PROMISE]: Task.spawn(function* () {
         const sourceClient = gThreadClient.source(
           getSource(getState(), bp.location.actor)
         );
         const [response, bpClient] = yield sourceClient.setBreakpoint({
           line: bp.location.line,
           column: bp.location.column,
           condition: bp.condition
         });
@@ -73,66 +73,66 @@ function addBreakpoint(location, conditi
           // If the breakpoint response has an "actualLocation" attached, then
           // the original requested placement for the breakpoint wasn't
           // accepted.
           actualLocation: isPending ? null : actualLocation,
           actor: bpClient.actor
         };
       })
     });
-  }
+  };
 }
 
 function disableBreakpoint(location) {
   return _removeOrDisableBreakpoint(location, true);
 }
 
 function removeBreakpoint(location) {
   return _removeOrDisableBreakpoint(location);
 }
 
 function _removeOrDisableBreakpoint(location, isDisabled) {
   return (dispatch, getState) => {
     let bp = getBreakpoint(getState(), location);
     if (!bp) {
-      throw new Error('attempt to remove breakpoint that does not exist');
+      throw new Error("attempt to remove breakpoint that does not exist");
     }
     if (bp.loading) {
       // TODO(jwl): make this wait until the breakpoint is saved if it
       // is still loading
-      throw new Error('attempt to remove unsaved breakpoint');
+      throw new Error("attempt to remove unsaved breakpoint");
     }
 
     const bpClient = getBreakpointClient(bp.actor);
     const action = {
       type: constants.REMOVE_BREAKPOINT,
       breakpoint: bp,
       disabled: isDisabled
     };
 
     // If the breakpoint is already disabled, we don't need to remove
     // it from the server. We just need to dispatch an action
     // simulating a successful server request to remove it, and it
     // will be removed completely from the state.
-    if(!bp.disabled) {
+    if (!bp.disabled) {
       return dispatch(Object.assign({}, action, {
         [PROMISE]: bpClient.remove()
       }));
     } else {
       return dispatch(Object.assign({}, action, { status: "done" }));
     }
-  }
+  };
 }
 
 function removeAllBreakpoints() {
   return (dispatch, getState) => {
     const breakpoints = getBreakpoints(getState());
     const activeBreakpoints = breakpoints.filter(bp => !bp.disabled);
     activeBreakpoints.forEach(bp => removeBreakpoint(bp.location));
-  }
+  };
 }
 
 /**
  * Update the condition of a breakpoint.
  *
  * @param object aLocation
  *        @see DebuggerController.Breakpoints.addBreakpoint
  * @param string aClients
@@ -141,35 +141,35 @@ function removeAllBreakpoints() {
  *         A promise that will be resolved with the breakpoint client
  */
 function setBreakpointCondition(location, condition) {
   return (dispatch, getState) => {
     const bp = getBreakpoint(getState(), location);
     if (!bp) {
       throw new Error("Breakpoint does not exist at the specified location");
     }
-    if (bp.loading){
+    if (bp.loading) {
       // TODO(jwl): when this function is called, make sure the action
       // creator waits for the breakpoint to exist
       throw new Error("breakpoint must be saved");
     }
 
     const bpClient = getBreakpointClient(bp.actor);
     const action = {
       type: constants.SET_BREAKPOINT_CONDITION,
       breakpoint: bp,
       condition: condition
     };
 
     // If it's not disabled, we need to update the condition on the
     // server. Otherwise, just dispatch a non-remote action that
     // updates the condition locally.
-    if(!bp.disabled) {
+    if (!bp.disabled) {
       return dispatch(Object.assign({}, action, {
-        [PROMISE]: Task.spawn(function*() {
+        [PROMISE]: Task.spawn(function* () {
           const newClient = yield bpClient.setCondition(gThreadClient, condition);
 
           // Remove the old instance and save the new one
           setBreakpointClient(bpClient.actor, null);
           setBreakpointClient(newClient.actor, newClient);
 
           return { actor: newClient.actor };
         })
@@ -182,9 +182,9 @@ function setBreakpointCondition(location
 
 module.exports = {
   enableBreakpoint,
   addBreakpoint,
   disableBreakpoint,
   removeBreakpoint,
   removeAllBreakpoints,
   setBreakpointCondition
-}
+};
--- a/devtools/client/debugger/content/actions/event-listeners.js
+++ b/devtools/client/debugger/content/actions/event-listeners.js
@@ -45,17 +45,17 @@ function fetchEventListeners() {
           status: "done",
           listeners: listeners
         });
       });
     });
   };
 }
 
-const _getListeners = Task.async(function*() {
+const _getListeners = Task.async(function* () {
   const response = yield gThreadClient.eventListeners();
 
   // Make sure all the listeners are sorted by the event type, since
   // they"re not guaranteed to be clustered together.
   response.listeners.sort((a, b) => a.type > b.type ? 1 : -1);
 
   // Add all the listeners in the debugger view event linsteners container.
   let fetchedDefinitions = new Map();
@@ -77,41 +77,41 @@ const _getListeners = Task.async(functio
     listener.function.url = definitionSite;
     listeners.push(listener);
   }
   fetchedDefinitions.clear();
 
   return listeners;
 });
 
-const _getDefinitionSite = Task.async(function*(aFunction) {
+const _getDefinitionSite = Task.async(function* (aFunction) {
   const grip = gThreadClient.pauseGrip(aFunction);
   let response;
 
   try {
     response = yield grip.getDefinitionSite();
   }
-  catch(e) {
+  catch (e) {
     // Don't make this error fatal, because it would break the entire events pane.
     reportException("_getDefinitionSite", e);
     return null;
   }
 
   return response.source.url;
 });
 
 function updateEventBreakpoints(eventNames) {
   return dispatch => {
     setNamedTimeout("event-breakpoints-update", 0, () => {
-      gThreadClient.pauseOnDOMEvents(eventNames, function() {
+      gThreadClient.pauseOnDOMEvents(eventNames, function () {
         // Notify that event breakpoints were added/removed on the server.
         window.emit(EVENTS.EVENT_BREAKPOINTS_UPDATED);
 
         dispatch({
           type: constants.UPDATE_EVENT_BREAKPOINTS,
           eventNames: eventNames
         });
       });
     });
-  }
+  };
 }
 
 module.exports = { updateEventBreakpoints, fetchEventListeners };
--- a/devtools/client/debugger/content/actions/sources.js
+++ b/devtools/client/debugger/content/actions/sources.js
@@ -1,19 +1,19 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
-const promise = require('promise');
-const Services = require('Services');
+const constants = require("../constants");
+const promise = require("promise");
+const Services = require("Services");
 const { dumpn } = require("devtools/shared/DevToolsUtils");
-const { PROMISE, HISTOGRAM_ID } = require('devtools/client/shared/redux/middleware/promise');
-const { getSource, getSourceText } = require('../queries');
+const { PROMISE, HISTOGRAM_ID } = require("devtools/client/shared/redux/middleware/promise");
+const { getSource, getSourceText } = require("../queries");
 
 const NEW_SOURCE_IGNORED_URLS = ["debugger eval code", "XStringBundle"];
 const FETCH_SOURCE_RESPONSE_DELAY = 200; // ms
 
 function getSourceClient(source) {
   return gThreadClient.source(source);
 }
 
@@ -56,17 +56,17 @@ function selectSource(source, opts) {
       opts: opts
     });
   };
 }
 
 function loadSources() {
   return {
     type: constants.LOAD_SOURCES,
-    [PROMISE]: Task.spawn(function*() {
+    [PROMISE]: Task.spawn(function* () {
       const response = yield gThreadClient.getSources();
 
       // Top-level breakpoints may pause the entire loading process
       // because scripts are executed as they are loaded, so the
       // engine may pause in the middle of loading all the sources.
       // This is relatively harmless, as individual `newSource`
       // notifications are fired for each script and they will be
       // added to the UI through that.
@@ -78,17 +78,17 @@ function loadSources() {
         return;
       }
 
       // Ignore bogus scripts, e.g. generated from 'clientEvaluate' packets.
       return response.sources.filter(source => {
         return NEW_SOURCE_IGNORED_URLS.indexOf(source.url) === -1;
       });
     })
-  }
+  };
 }
 
 /**
  * Set the black boxed status of the given source.
  *
  * @param Object aSource
  *        The source form.
  * @param bool aBlackBoxFlag
@@ -98,21 +98,21 @@ function loadSources() {
  *          [aSource, error].
  */
 function blackbox(source, shouldBlackBox) {
   const client = getSourceClient(source);
 
   return {
     type: constants.BLACKBOX,
     source: source,
-    [PROMISE]: Task.spawn(function*() {
+    [PROMISE]: Task.spawn(function* () {
       yield shouldBlackBox ? client.blackBox() : client.unblackBox();
       return {
         isBlackBoxed: shouldBlackBox
-      }
+      };
     })
   };
 }
 
 /**
  * Toggle the pretty printing of a source's text. All subsequent calls to
  * |getText| will return the pretty-toggled text. Nothing will happen for
  * non-javascript files.
@@ -126,17 +126,17 @@ function blackbox(source, shouldBlackBox
 function togglePrettyPrint(source) {
   return (dispatch, getState) => {
     const sourceClient = getSourceClient(source);
     const wantPretty = !source.isPrettyPrinted;
 
     return dispatch({
       type: constants.TOGGLE_PRETTY_PRINT,
       source: source,
-      [PROMISE]: Task.spawn(function*() {
+      [PROMISE]: Task.spawn(function* () {
         let response;
 
         // Only attempt to pretty print JavaScript sources.
         const sourceText = getSourceText(getState(), source.actor);
         const contentType = sourceText ? sourceText.contentType : null;
         if (!SourceUtils.isJavaScript(source.url, contentType)) {
           throw new Error("Can't prettify non-javascript files.");
         }
@@ -171,17 +171,17 @@ function loadSourceText(source) {
       return promise.resolve(textInfo);
     }
 
     const sourceClient = getSourceClient(source);
 
     return dispatch({
       type: constants.LOAD_SOURCE_TEXT,
       source: source,
-      [PROMISE]: Task.spawn(function*() {
+      [PROMISE]: Task.spawn(function* () {
         let transportType = gClient.localTransport ? "_LOCAL" : "_REMOTE";
         let histogramId = "DEVTOOLS_DEBUGGER_DISPLAY_SOURCE" + transportType + "_MS";
         let histogram = Services.telemetry.getHistogramById(histogramId);
         let startTime = Date.now();
 
         const response = yield sourceClient.source();
 
         histogram.add(Date.now() - startTime);
@@ -193,17 +193,17 @@ function loadSourceText(source) {
             SourceUtils.isMinified(source.actor, response.source)) {
           dispatch(togglePrettyPrint(source));
         }
 
         return { text: response.source,
                  contentType: response.contentType };
       })
     });
-  }
+  };
 }
 
 /**
  * Starts fetching all the sources, silently.
  *
  * @param array aUrls
  *        The urls for the sources to fetch. If fetching a source's text
  *        takes too long, it will be discarded.
--- a/devtools/client/debugger/content/constants.js
+++ b/devtools/client/debugger/content/constants.js
@@ -1,25 +1,25 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-exports.UPDATE_EVENT_BREAKPOINTS = 'UPDATE_EVENT_BREAKPOINTS';
-exports.FETCH_EVENT_LISTENERS = 'FETCH_EVENT_LISTENERS';
+exports.UPDATE_EVENT_BREAKPOINTS = "UPDATE_EVENT_BREAKPOINTS";
+exports.FETCH_EVENT_LISTENERS = "FETCH_EVENT_LISTENERS";
 
-exports.TOGGLE_PRETTY_PRINT = 'TOGGLE_PRETTY_PRINT';
-exports.BLACKBOX = 'BLACKBOX';
+exports.TOGGLE_PRETTY_PRINT = "TOGGLE_PRETTY_PRINT";
+exports.BLACKBOX = "BLACKBOX";
 
-exports.ADD_BREAKPOINT = 'ADD_BREAKPOINT';
-exports.REMOVE_BREAKPOINT = 'REMOVE_BREAKPOINT';
-exports.ENABLE_BREAKPOINT = 'ENABLE_BREAKPOINT';
-exports.DISABLE_BREAKPOINT = 'DISABLE_BREAKPOINT';
-exports.SET_BREAKPOINT_CONDITION = 'SET_BREAKPOINT_CONDITION'
+exports.ADD_BREAKPOINT = "ADD_BREAKPOINT";
+exports.REMOVE_BREAKPOINT = "REMOVE_BREAKPOINT";
+exports.ENABLE_BREAKPOINT = "ENABLE_BREAKPOINT";
+exports.DISABLE_BREAKPOINT = "DISABLE_BREAKPOINT";
+exports.SET_BREAKPOINT_CONDITION = "SET_BREAKPOINT_CONDITION";
 
-exports.ADD_SOURCE = 'ADD_SOURCE';
-exports.LOAD_SOURCES = 'LOAD_SOURCES';
-exports.LOAD_SOURCE_TEXT = 'LOAD_SOURCE_TEXT';
-exports.SELECT_SOURCE = 'SELECT_SOURCE';
-exports.UNLOAD = 'UNLOAD';
-exports.RELOAD = 'RELOAD';
+exports.ADD_SOURCE = "ADD_SOURCE";
+exports.LOAD_SOURCES = "LOAD_SOURCES";
+exports.LOAD_SOURCE_TEXT = "LOAD_SOURCE_TEXT";
+exports.SELECT_SOURCE = "SELECT_SOURCE";
+exports.UNLOAD = "UNLOAD";
+exports.RELOAD = "RELOAD";
--- a/devtools/client/debugger/content/globalActions.js
+++ b/devtools/client/debugger/content/globalActions.js
@@ -1,18 +1,18 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('./constants');
+const constants = require("./constants");
 
 // Fired when the page is being unloaded, for example when it's being
 // navigated away from.
 function unload() {
   return {
     type: constants.UNLOAD
-  }
+  };
 }
 
 module.exports = { unload };
--- a/devtools/client/debugger/content/queries.js
+++ b/devtools/client/debugger/content/queries.js
@@ -7,26 +7,26 @@ function getSources(state) {
   return state.sources.sources;
 }
 
 function getSourceCount(state) {
   return Object.keys(state.sources.sources).length;
 }
 
 function getSourceByURL(state, url) {
-  for(let k in state.sources.sources) {
+  for (let k in state.sources.sources) {
     const source = state.sources.sources[k];
     if (source.url === url) {
       return source;
     }
   }
 }
 
 function getSourceByActor(state, actor) {
-  for(let k in state.sources.sources) {
+  for (let k in state.sources.sources) {
     const source = state.sources.sources[k];
     if (source.actor === actor) {
       return source;
     }
   }
 }
 
 function getSelectedSource(state) {
@@ -47,17 +47,17 @@ function getBreakpoints(state) {
   });
 }
 
 function getBreakpoint(state, location) {
   return state.breakpoints.breakpoints[makeLocationId(location)];
 }
 
 function makeLocationId(location) {
-  return location.actor + ':' + location.line.toString();
+  return location.actor + ":" + location.line.toString();
 }
 
 module.exports = {
   getSource,
   getSources,
   getSourceCount,
   getSourceByURL,
   getSourceByActor,
--- a/devtools/client/debugger/content/reducers/async-requests.js
+++ b/devtools/client/debugger/content/reducers/async-requests.js
@@ -1,31 +1,31 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
+const constants = require("../constants");
 const initialState = [];
 
 function update(state = initialState, action, emitChange) {
   const { seqId } = action;
 
   if (action.type === constants.UNLOAD) {
     return initialState;
   }
   else if (seqId) {
     let newState;
-    if (action.status === 'start') {
+    if (action.status === "start") {
       newState = [...state, seqId];
     }
-    else if (action.status === 'error' || action.status === 'done') {
+    else if (action.status === "error" || action.status === "done") {
       newState = state.filter(id => id !== seqId);
     }
 
-    emitChange('open-requests', newState);
+    emitChange("open-requests", newState);
     return newState;
   }
 
   return state;
 }
 
 module.exports = update;
--- a/devtools/client/debugger/content/reducers/breakpoints.js
+++ b/devtools/client/debugger/content/reducers/breakpoints.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
-const Immutable = require('devtools/client/shared/vendor/seamless-immutable');
-const { mergeIn, setIn, deleteIn } = require('../utils');
-const { makeLocationId } = require('../queries');
+const constants = require("../constants");
+const Immutable = require("devtools/client/shared/vendor/seamless-immutable");
+const { mergeIn, setIn, deleteIn } = require("../utils");
+const { makeLocationId } = require("../queries");
 
 const initialState = Immutable({
   breakpoints: {}
 });
 
 // Return the first argument that is a string, or null if nothing is a
 // string.
 function firstString(...args) {
@@ -19,135 +19,135 @@ function firstString(...args) {
     if (typeof arg === "string") {
       return arg;
     }
   }
   return null;
 }
 
 function update(state = initialState, action, emitChange) {
-  switch(action.type) {
-  case constants.ADD_BREAKPOINT: {
-    const id = makeLocationId(action.breakpoint.location);
+  switch (action.type) {
+    case constants.ADD_BREAKPOINT: {
+      const id = makeLocationId(action.breakpoint.location);
 
-    if (action.status === 'start') {
-      const existingBp = state.breakpoints[id];
-      const bp = existingBp || Immutable(action.breakpoint);
+      if (action.status === "start") {
+        const existingBp = state.breakpoints[id];
+        const bp = existingBp || Immutable(action.breakpoint);
 
-      state = setIn(state, ['breakpoints', id], bp.merge({
-        disabled: false,
-        loading: true,
+        state = setIn(state, ["breakpoints", id], bp.merge({
+          disabled: false,
+          loading: true,
         // We want to do an OR here, but we can't because we need
         // empty strings to be truthy, i.e. an empty string is a valid
         // condition.
-        condition: firstString(action.condition, bp.condition)
-      }));
+          condition: firstString(action.condition, bp.condition)
+        }));
 
-      emitChange(existingBp ? "breakpoint-enabled" : "breakpoint-added",
+        emitChange(existingBp ? "breakpoint-enabled" : "breakpoint-added",
                  state.breakpoints[id]);
-      return state;
-    }
-    else if (action.status === 'done') {
-      const { actor, text } = action.value;
-      let { actualLocation } = action.value;
+        return state;
+      }
+      else if (action.status === "done") {
+        const { actor, text } = action.value;
+        let { actualLocation } = action.value;
 
       // If the breakpoint moved, update the map
-      if (actualLocation) {
+        if (actualLocation) {
         // XXX Bug 1227417: The `setBreakpoint` RDP request rdp
         // request returns an `actualLocation` field that doesn't
         // conform to the regular { actor, line } location shape, but
         // it has a `source` field. We should fix that.
-        actualLocation = { actor: actualLocation.source.actor,
+          actualLocation = { actor: actualLocation.source.actor,
                            line: actualLocation.line };
 
-        state = deleteIn(state, ['breakpoints', id]);
+          state = deleteIn(state, ["breakpoints", id]);
 
-        const movedId = makeLocationId(actualLocation);
-        const currentBp = state.breakpoints[movedId] || Immutable(action.breakpoint);
-        const prevLocation = action.breakpoint.location;
-        const newBp = currentBp.merge({ location: actualLocation });
-        state = setIn(state, ['breakpoints', movedId], newBp);
+          const movedId = makeLocationId(actualLocation);
+          const currentBp = state.breakpoints[movedId] || Immutable(action.breakpoint);
+          const prevLocation = action.breakpoint.location;
+          const newBp = currentBp.merge({ location: actualLocation });
+          state = setIn(state, ["breakpoints", movedId], newBp);
 
-        emitChange('breakpoint-moved', {
-          breakpoint: newBp,
-          prevLocation: prevLocation
-        });
-      }
+          emitChange("breakpoint-moved", {
+            breakpoint: newBp,
+            prevLocation: prevLocation
+          });
+        }
 
-      const finalLocation = (
+        const finalLocation = (
         actualLocation ? actualLocation : action.breakpoint.location
       );
-      const finalLocationId = makeLocationId(finalLocation);
-      state = mergeIn(state, ['breakpoints', finalLocationId], {
-        disabled: false,
-        loading: false,
-        actor: actor,
-        text: text
-      });
-      emitChange('breakpoint-updated', state.breakpoints[finalLocationId]);
-      return state;
-    }
-    else if (action.status === 'error') {
+        const finalLocationId = makeLocationId(finalLocation);
+        state = mergeIn(state, ["breakpoints", finalLocationId], {
+          disabled: false,
+          loading: false,
+          actor: actor,
+          text: text
+        });
+        emitChange("breakpoint-updated", state.breakpoints[finalLocationId]);
+        return state;
+      }
+    else if (action.status === "error") {
       // Remove the optimistic update
-      emitChange('breakpoint-removed', state.breakpoints[id]);
-      return deleteIn(state, ['breakpoints', id]);
+      emitChange("breakpoint-removed", state.breakpoints[id]);
+      return deleteIn(state, ["breakpoints", id]);
     }
       break;
-  }
+    }
+
+    case constants.REMOVE_BREAKPOINT: {
+      if (action.status === "done") {
+        const id = makeLocationId(action.breakpoint.location);
+        const bp = state.breakpoints[id];
 
-  case constants.REMOVE_BREAKPOINT: {
-    if (action.status === 'done') {
-      const id = makeLocationId(action.breakpoint.location);
-      const bp = state.breakpoints[id];
+        if (action.disabled) {
+          state = mergeIn(state, ["breakpoints", id],
+                        { loading: false, disabled: true });
+          emitChange("breakpoint-disabled", state.breakpoints[id]);
+          return state;
+        }
 
-      if (action.disabled) {
-        state = mergeIn(state, ['breakpoints', id],
-                        { loading: false, disabled: true });
-        emitChange('breakpoint-disabled', state.breakpoints[id]);
+        state = deleteIn(state, ["breakpoints", id]);
+        emitChange("breakpoint-removed", bp);
         return state;
       }
-
-      state = deleteIn(state, ['breakpoints', id]);
-      emitChange('breakpoint-removed', bp);
-      return state;
+      break;
     }
-    break;
-  }
 
-  case constants.SET_BREAKPOINT_CONDITION: {
-    const id = makeLocationId(action.breakpoint.location);
-    const bp = state.breakpoints[id];
-    emitChange("breakpoint-condition-updated", bp);
+    case constants.SET_BREAKPOINT_CONDITION: {
+      const id = makeLocationId(action.breakpoint.location);
+      const bp = state.breakpoints[id];
+      emitChange("breakpoint-condition-updated", bp);
 
-    if (!action.status) {
+      if (!action.status) {
       // No status means that it wasn't a remote request. Just update
       // the condition locally.
-      return mergeIn(state, ['breakpoints', id], {
-        condition: action.condition
-      });
-    }
-    else if (action.status === 'start') {
-      return mergeIn(state, ['breakpoints', id], {
-        loading: true,
-        condition: action.condition
-      });
-    }
-    else if (action.status === 'done') {
-      return mergeIn(state, ['breakpoints', id], {
+        return mergeIn(state, ["breakpoints", id], {
+          condition: action.condition
+        });
+      }
+      else if (action.status === "start") {
+        return mergeIn(state, ["breakpoints", id], {
+          loading: true,
+          condition: action.condition
+        });
+      }
+    else if (action.status === "done") {
+      return mergeIn(state, ["breakpoints", id], {
         loading: false,
         condition: action.condition,
         // Setting a condition creates a new breakpoint client as of
         // now, so we need to update the actor
         actor: action.value.actor
       });
     }
-    else if (action.status === 'error') {
+    else if (action.status === "error") {
       emitChange("breakpoint-removed", bp);
-      return deleteIn(state, ['breakpoints', id]);
+      return deleteIn(state, ["breakpoints", id]);
     }
 
-    break;
-  }}
+      break;
+    }}
 
   return state;
 }
 
 module.exports = update;
--- a/devtools/client/debugger/content/reducers/event-listeners.js
+++ b/devtools/client/debugger/content/reducers/event-listeners.js
@@ -1,37 +1,37 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
+const constants = require("../constants");
 
 const FETCH_EVENT_LISTENERS_DELAY = 200; // ms
 
 const initialState = {
   activeEventNames: [],
   listeners: [],
   fetchingListeners: false,
 };
 
 function update(state = initialState, action, emit) {
-  switch(action.type) {
-  case constants.UPDATE_EVENT_BREAKPOINTS:
-    state.activeEventNames = action.eventNames;
-    emit("activeEventNames", state.activeEventNames);
-    break;
-  case constants.FETCH_EVENT_LISTENERS:
-    if (action.status === "begin") {
-      state.fetchingListeners = true;
-    }
-    else if (action.status === "done") {
-      state.fetchingListeners = false;
-      state.listeners = action.listeners;
-      emit("event-listeners", state.listeners);
-    }
-    break;
+  switch (action.type) {
+    case constants.UPDATE_EVENT_BREAKPOINTS:
+      state.activeEventNames = action.eventNames;
+      emit("activeEventNames", state.activeEventNames);
+      break;
+    case constants.FETCH_EVENT_LISTENERS:
+      if (action.status === "begin") {
+        state.fetchingListeners = true;
+      }
+      else if (action.status === "done") {
+        state.fetchingListeners = false;
+        state.listeners = action.listeners;
+        emit("event-listeners", state.listeners);
+      }
+      break;
   }
 
   return state;
 }
 
 module.exports = update;
--- a/devtools/client/debugger/content/reducers/index.js
+++ b/devtools/client/debugger/content/reducers/index.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const eventListeners = require('./event-listeners');
-const sources = require('./sources');
-const breakpoints = require('./breakpoints');
-const asyncRequests = require('./async-requests');
+const eventListeners = require("./event-listeners");
+const sources = require("./sources");
+const breakpoints = require("./breakpoints");
+const asyncRequests = require("./async-requests");
 
 module.exports = {
   eventListeners,
   sources,
   breakpoints,
   asyncRequests
 };
--- a/devtools/client/debugger/content/reducers/sources.js
+++ b/devtools/client/debugger/content/reducers/sources.js
@@ -1,128 +1,128 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const constants = require('../constants');
-const Immutable = require('devtools/client/shared/vendor/seamless-immutable');
-const { mergeIn, setIn } = require('../utils');
+const constants = require("../constants");
+const Immutable = require("devtools/client/shared/vendor/seamless-immutable");
+const { mergeIn, setIn } = require("../utils");
 
 const initialState = Immutable({
   sources: {},
   selectedSource: null,
   selectedSourceOpts: null,
   sourcesText: {}
 });
 
 function update(state = initialState, action, emitChange) {
-  switch(action.type) {
-  case constants.ADD_SOURCE:
-    emitChange('source', action.source);
-    return mergeIn(state, ['sources', action.source.actor], action.source);
+  switch (action.type) {
+    case constants.ADD_SOURCE:
+      emitChange("source", action.source);
+      return mergeIn(state, ["sources", action.source.actor], action.source);
 
-  case constants.LOAD_SOURCES:
-    if (action.status === "done") {
-      const sources = action.value;
-      if (!sources) {
-        return state;
+    case constants.LOAD_SOURCES:
+      if (action.status === "done") {
+        const sources = action.value;
+        if (!sources) {
+          return state;
+        }
+        const sourcesByActor = {};
+        sources.forEach(source => {
+          if (!state.sources[source.actor]) {
+            emitChange("source", source);
+          }
+          sourcesByActor[source.actor] = source;
+        });
+        return mergeIn(state, ["sources"], state.sources.merge(sourcesByActor));
       }
-      const sourcesByActor = {};
-      sources.forEach(source => {
-        if (!state.sources[source.actor]) {
-          emitChange('source', source);
-        }
-        sourcesByActor[source.actor] = source;
+      break;
+
+    case constants.SELECT_SOURCE:
+      emitChange("source-selected", action.source);
+      return state.merge({
+        selectedSource: action.source.actor,
+        selectedSourceOpts: action.opts
       });
-      return mergeIn(state, ['sources'], state.sources.merge(sourcesByActor))
-    }
-    break;
 
-  case constants.SELECT_SOURCE:
-    emitChange('source-selected', action.source);
-    return state.merge({
-      selectedSource: action.source.actor,
-      selectedSourceOpts: action.opts
-    });
-
-  case constants.LOAD_SOURCE_TEXT: {
-    const s = _updateText(state, action);
-    emitChange('source-text-loaded', s.sources[action.source.actor]);
-    return s;
-  }
-
-  case constants.BLACKBOX:
-    if (action.status === 'done') {
-      const s = mergeIn(state,
-                        ['sources', action.source.actor, 'isBlackBoxed'],
-                        action.value.isBlackBoxed);
-      emitChange('blackboxed', s.sources[action.source.actor]);
+    case constants.LOAD_SOURCE_TEXT: {
+      const s = _updateText(state, action);
+      emitChange("source-text-loaded", s.sources[action.source.actor]);
       return s;
     }
-    break;
 
-  case constants.TOGGLE_PRETTY_PRINT:
-    let s = state;
-    if (action.status === "error") {
-      s = mergeIn(state, ['sourcesText', action.source.actor], {
-        loading: false
-      });
+    case constants.BLACKBOX:
+      if (action.status === "done") {
+        const s = mergeIn(state,
+                        ["sources", action.source.actor, "isBlackBoxed"],
+                        action.value.isBlackBoxed);
+        emitChange("blackboxed", s.sources[action.source.actor]);
+        return s;
+      }
+      break;
+
+    case constants.TOGGLE_PRETTY_PRINT:
+      let s = state;
+      if (action.status === "error") {
+        s = mergeIn(state, ["sourcesText", action.source.actor], {
+          loading: false
+        });
 
       // If it errored, just display the source as it was before, but
       // only if there is existing text already. If auto-prettifying
       // is on, the original text may still be coming in and we don't
       // have it yet. If we try to set empty text we confuse the
       // editor because it thinks it's already displaying the source's
       // text and won't load the text when it actually comes in.
-      if(s.sourcesText[action.source.actor].text != null) {
-        emitChange('prettyprinted', s.sources[action.source.actor]);
+        if (s.sourcesText[action.source.actor].text != null) {
+          emitChange("prettyprinted", s.sources[action.source.actor]);
+        }
       }
-    }
-    else {
-      s = _updateText(state, action);
+      else {
+        s = _updateText(state, action);
       // Don't do this yet, the progress bar is still imperatively shown
       // from the source view. We will fix in the next iteration.
       // emitChange('source-text-loaded', s.sources[action.source.actor]);
 
-      if (action.status === 'done') {
-        s = mergeIn(s,
-                    ['sources', action.source.actor, 'isPrettyPrinted'],
+        if (action.status === "done") {
+          s = mergeIn(s,
+                    ["sources", action.source.actor, "isPrettyPrinted"],
                     action.value.isPrettyPrinted);
-        emitChange('prettyprinted', s.sources[action.source.actor]);
+          emitChange("prettyprinted", s.sources[action.source.actor]);
+        }
       }
-    }
-    return s;
+      return s;
 
-  case constants.UNLOAD:
+    case constants.UNLOAD:
     // Reset the entire state to just the initial state, a blank state
     // if you will.
-    return initialState;
+      return initialState;
   }
 
   return state;
 }
 
 function _updateText(state, action) {
   const { source } = action;
 
-  if (action.status === 'start') {
+  if (action.status === "start") {
     // Merge this in, don't set it. That way the previous value is
     // still stored here, and we can retrieve it if whatever we're
     // doing fails.
-    return mergeIn(state, ['sourcesText', source.actor], {
+    return mergeIn(state, ["sourcesText", source.actor], {
       loading: true
     });
   }
-  else if (action.status === 'error') {
-    return setIn(state, ['sourcesText', source.actor], {
+  else if (action.status === "error") {
+    return setIn(state, ["sourcesText", source.actor], {
       error: action.error
     });
   }
   else {
-    return setIn(state, ['sourcesText', source.actor], {
+    return setIn(state, ["sourcesText", source.actor], {
       text: action.value.text,
       contentType: action.value.contentType
     });
   }
 }
 
 module.exports = update;
--- a/devtools/client/debugger/content/utils.js
+++ b/devtools/client/debugger/content/utils.js
@@ -4,24 +4,24 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { reportException } = require("devtools/shared/DevToolsUtils");
 
 function asPaused(client, func) {
   if (client.state != "paused") {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield client.interrupt();
       let result;
 
       try {
         result = yield func();
       }
-      catch(e) {
+      catch (e) {
         // Try to put the debugger back in a working state by resuming
         // it
         yield client.resume();
         throw e;
       }
 
       yield client.resume();
       return result;
@@ -40,25 +40,25 @@ function onReducerEvents(controller, lis
     const listener = listeners[name];
     controller.onChange(name, payload => {
       listener.call(thisContext, payload);
     });
   });
 }
 
 function _getIn(destObj, path) {
-  return path.reduce(function(acc, name) {
+  return path.reduce(function (acc, name) {
     return acc[name];
   }, destObj);
 }
 
 function mergeIn(destObj, path, value) {
   path = [...path];
   path.reverse();
-  var obj = path.reduce(function(acc, name) {
+  var obj = path.reduce(function (acc, name) {
     return { [name]: acc };
   }, value);
 
   return destObj.merge(obj, { deep: true });
 }
 
 function setIn(destObj, path, value) {
   destObj = mergeIn(destObj, path, null);
--- a/devtools/client/debugger/content/views/event-listeners-view.js
+++ b/devtools/client/debugger/content/views/event-listeners-view.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const actions = require('../actions/event-listeners');
-const { bindActionCreators } = require('devtools/client/shared/vendor/redux');
+const actions = require("../actions/event-listeners");
+const { bindActionCreators } = require("devtools/client/shared/vendor/redux");
 const { Heritage, WidgetMethods } = require("devtools/client/shared/widgets/view-helpers");
 
 /**
  * Functions handling the event listeners UI.
  */
 function EventListenersView(controller) {
   dumpn("EventListenersView was instantiated");
 
@@ -21,17 +21,17 @@ function EventListenersView(controller) 
 
   controller.onChange("event-listeners", this.renderListeners.bind(this));
 }
 
 EventListenersView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the EventListenersView");
 
     this.widget = new SideMenuWidget(document.getElementById("event-listeners"), {
       showItemCheckboxes: true,
       showGroupCheckboxes: true
     });
 
     this.emptyText = L10N.getStr("noEventListenersText");
@@ -42,24 +42,24 @@ EventListenersView.prototype = Heritage.
 
     this.widget.addEventListener("check", this._onCheck, false);
     this.widget.addEventListener("click", this._onClick, false);
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the EventListenersView");
 
     this.widget.removeEventListener("check", this._onCheck, false);
     this.widget.removeEventListener("click", this._onClick, false);
   },
 
-  renderListeners: function(listeners) {
+  renderListeners: function (listeners) {
     listeners.forEach(listener => {
       this.addListener(listener, { staged: true });
     });
 
     // Flushes all the prepared events into the event listeners container.
     this.commit();
   },
 
@@ -67,17 +67,17 @@ EventListenersView.prototype = Heritage.
    * Adds an event to this event listeners container.
    *
    * @param object aListener
    *        The listener object coming from the active thread.
    * @param object aOptions [optional]
    *        Additional options for adding the source. Supported options:
    *        - staged: true to stage the item to be appended later
    */
-  addListener: function(aListener, aOptions = {}) {
+  addListener: function (aListener, aOptions = {}) {
     let { node: { selector }, function: { url }, type } = aListener;
     if (!type) return;
 
     // Some listener objects may be added from plugins, thus getting
     // translated to native code.
     if (!url) {
       url = this._inNativeCodeString;
     }
@@ -181,43 +181,43 @@ EventListenersView.prototype = Heritage.
   },
 
   /**
    * Gets all the event types known to this container.
    *
    * @return array
    *         List of event types, for example ["load", "click"...]
    */
-  getAllEvents: function() {
+  getAllEvents: function () {
     return this.attachments.map(e => e.type);
   },
 
   /**
    * Gets the checked event types in this container.
    *
    * @return array
    *         List of event types, for example ["load", "click"...]
    */
-  getCheckedEvents: function() {
+  getCheckedEvents: function () {
     return this.attachments.filter(e => e.checkboxState).map(e => e.type);
   },
 
   /**
    * Customization function for creating an item's UI.
    *
    * @param string aType
    *        The event type, for example "click".
    * @param string aSelector
    *        The target element's selector.
    * @param string url
    *        The source url in which the event listener is located.
    * @return object
    *         An object containing the event listener view nodes.
    */
-  _createItemView: function(aType, aSelector, aUrl) {
+  _createItemView: function (aType, aSelector, aUrl) {
     let container = document.createElement("hbox");
     container.className = "dbg-event-listener";
 
     let eventType = document.createElement("label");
     eventType.className = "plain dbg-event-listener-type";
     eventType.setAttribute("value", aType);
     container.appendChild(eventType);
 
@@ -249,34 +249,34 @@ EventListenersView.prototype = Heritage.
       targets: eventTargets,
       location: eventLocation
     };
   },
 
   /**
    * The check listener for the event listeners container.
    */
-  _onCheck: function({ detail: { description, checked }, target }) {
+  _onCheck: function ({ detail: { description, checked }, target }) {
     if (description == "item") {
       this.getItemForElement(target).attachment.checkboxState = checked;
 
       this.actions.updateEventBreakpoints(this.getCheckedEvents());
       return;
     }
 
     // Check all the event items in this group.
     this.items
       .filter(e => e.attachment.group == description)
       .forEach(e => this.callMethod("checkItem", e.target, checked));
   },
 
   /**
    * The select listener for the event listeners container.
    */
-  _onClick: function({ target }) {
+  _onClick: function ({ target }) {
     // Changing the checkbox state is handled by the _onCheck event. Avoid
     // handling that again in this click event, so pass in "noSiblings"
     // when retrieving the target's item, to ignore the checkbox.
     let eventItem = this.getItemForElement(target, { noSiblings: true });
     if (eventItem) {
       let newState = eventItem.attachment.checkboxState ^= 1;
       this.callMethod("checkItem", eventItem.target, newState);
     }
--- a/devtools/client/debugger/content/views/sources-view.js
+++ b/devtools/client/debugger/content/views/sources-view.js
@@ -1,28 +1,28 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 /* import-globals-from ../../debugger-controller.js */
 "use strict";
 
-const utils = require('../utils');
+const utils = require("../utils");
 const {
   getSelectedSource,
   getSourceByURL,
   getBreakpoint,
   getBreakpoints,
   makeLocationId
-} = require('../queries');
+} = require("../queries");
 const actions = Object.assign(
   {},
-  require('../actions/sources'),
-  require('../actions/breakpoints')
+  require("../actions/sources"),
+  require("../actions/breakpoints")
 );
-const { bindActionCreators } = require('devtools/client/shared/vendor/redux');
+const { bindActionCreators } = require("devtools/client/shared/vendor/redux");
 const {
   Heritage,
   WidgetMethods,
   setNamedTimeout
 } = require("devtools/client/shared/widgets/view-helpers");
 
 const NEW_SOURCE_DISPLAY_DELAY = 200; // ms
 const FUNCTION_SEARCH_POPUP_POSITION = "topcenter bottomleft";
@@ -73,17 +73,17 @@ function SourcesView(controller, Debugge
   this._onNewTabCommand = this._onNewTabCommand.bind(this);
   this._onConditionalPopupHidden = this._onConditionalPopupHidden.bind(this);
 }
 
 SourcesView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the SourcesView");
 
     this.widget = new SideMenuWidget(document.getElementById("sources"), {
       contextMenu: document.getElementById("debuggerSourcesContextMenu"),
       showArrows: true
     });
 
     this._preferredSourceURL = null;
@@ -131,56 +131,56 @@ SourcesView.prototype = Heritage.extend(
 
     // Sort the contents by the displayed label.
     this.sortContents((aFirst, aSecond) => {
       return +(aFirst.attachment.label.toLowerCase() >
                aSecond.attachment.label.toLowerCase());
     });
 
     // Sort known source groups towards the end of the list
-    this.widget.groupSortPredicate = function(a, b) {
+    this.widget.groupSortPredicate = function (a, b) {
       if ((a in KNOWN_SOURCE_GROUPS) == (b in KNOWN_SOURCE_GROUPS)) {
         return a.localeCompare(b);
       }
       return (a in KNOWN_SOURCE_GROUPS) ? 1 : -1;
     };
 
     this.DebuggerView.editor.on("popupOpen", this._onEditorContextMenuOpen);
 
     this._addCommands();
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the SourcesView");
 
     this.widget.removeEventListener("select", this._onSourceSelect, false);
     this._stopBlackBoxButton.removeEventListener("click", this._onStopBlackBoxing, false);
     this._cbPanel.removeEventListener("popupshowing", this._onConditionalPopupShowing, false);
     this._cbPanel.removeEventListener("popupshown", this._onConditionalPopupShown, false);
     this._cbPanel.removeEventListener("popuphiding", this._onConditionalPopupHiding, false);
     this._cbPanel.removeEventListener("popuphidden", this._onConditionalPopupHidden, false);
     this._cbTextbox.removeEventListener("keypress", this._onConditionalTextboxKeyPress, false);
     this._copyUrlMenuItem.removeEventListener("command", this._onCopyUrlCommand, false);
     this._newTabMenuItem.removeEventListener("command", this._onNewTabCommand, false);
     this.DebuggerView.editor.off("popupOpen", this._onEditorContextMenuOpen, false);
   },
 
-  empty: function() {
+  empty: function () {
     WidgetMethods.empty.call(this);
     this._unnamedSourceIndex = 0;
     this._selectedBreakpoint = null;
   },
 
   /**
    * Add commands that XUL can fire.
    */
-  _addCommands: function() {
+  _addCommands: function () {
     XULUtils.addCommands(this._commandset, {
       addBreakpointCommand: e => this._onCmdAddBreakpoint(e),
       addConditionalBreakpointCommand: e => this._onCmdAddConditionalBreakpoint(e),
       blackBoxCommand: () => this.toggleBlackBoxing(),
       unBlackBoxButton: () => this._onStopBlackBoxing(),
       prettyPrintCommand: () => this.togglePrettyPrint(),
       toggleBreakpointsCommand: () =>this.toggleBreakpoints(),
       togglePromiseDebuggerCommand: () => this.togglePromiseDebugger(),
@@ -198,53 +198,53 @@ SourcesView.prototype = Heritage.extend(
 
     // Selects the element with the specified value in this sources container,
     // if already inserted.
     if (this.containsValue(aUrl)) {
       this.selectedValue = aUrl;
     }
   },
 
-  sourcesDidUpdate: function() {
+  sourcesDidUpdate: function () {
     if (!getSelectedSource(this.getState())) {
       let url = this._preferredSourceURL;
       let source = url && getSourceByURL(this.getState(), url);
       if (source) {
         this.actions.selectSource(source);
       }
       else {
         setNamedTimeout("new-source", NEW_SOURCE_DISPLAY_DELAY, () => {
           if (!getSelectedSource(this.getState()) && this.itemCount > 0) {
             this.actions.selectSource(this.getItemAtIndex(0).attachment.source);
           }
         });
       }
     }
   },
 
-  renderSource: function(source) {
+  renderSource: function (source) {
     this.addSource(source, { staged: false });
-    for(let bp of getBreakpoints(this.getState())) {
+    for (let bp of getBreakpoints(this.getState())) {
       if (bp.location.actor === source.actor) {
         this.renderBreakpoint(bp);
       }
     }
     this.sourcesDidUpdate();
   },
 
   /**
    * Adds a source to this sources container.
    *
    * @param object aSource
    *        The source object coming from the active thread.
    * @param object aOptions [optional]
    *        Additional options for adding the source. Supported options:
    *        - staged: true to stage the item to be appended later
    */
-  addSource: function(aSource, aOptions = {}) {
+  addSource: function (aSource, aOptions = {}) {
     if (!aSource.url && !aOptions.force) {
       // We don't show any unnamed eval scripts yet (see bug 1124106)
       return;
     }
 
     let { label, group, unicodeUrl } = this._parseUrl(aSource);
 
     let contents = document.createElement("label");
@@ -279,22 +279,22 @@ SourcesView.prototype = Heritage.extend(
         group: group,
         checkboxState: !aSource.isBlackBoxed,
         checkboxTooltip: this._blackBoxCheckboxTooltip,
         source: aSource
       }
     });
   },
 
-  _parseUrl: function(aSource) {
+  _parseUrl: function (aSource) {
     let fullUrl = aSource.url;
     let url, unicodeUrl, label, group;
 
     if (!fullUrl) {
-      unicodeUrl = 'SCRIPT' + this._unnamedSourceIndex++;
+      unicodeUrl = "SCRIPT" + this._unnamedSourceIndex++;
       label = unicodeUrl;
       group = L10N.getStr("anonymousSourcesLabel");
     }
     else {
       let url = fullUrl.split(" -> ").pop();
       label = aSource.addonPath ? aSource.addonPath : SourceUtils.getSourceLabel(url);
       group = aSource.addonID ? aSource.addonID : SourceUtils.getSourceGroup(url);
       unicodeUrl = NetworkHelper.convertToUnicode(unescape(fullUrl));
@@ -302,21 +302,21 @@ SourcesView.prototype = Heritage.extend(
 
     return {
       label: label,
       group: group,
       unicodeUrl: unicodeUrl
     };
   },
 
-  renderBreakpoint: function(breakpoint, removed) {
+  renderBreakpoint: function (breakpoint, removed) {
     if (removed) {
       // Be defensive about the breakpoint not existing.
       if (this._getBreakpoint(breakpoint)) {
-        this._removeBreakpoint(breakpoint)
+        this._removeBreakpoint(breakpoint);
       }
     }
     else {
       if (this._getBreakpoint(breakpoint)) {
         this._updateBreakpointStatus(breakpoint);
       }
       else {
         this._addBreakpoint(breakpoint);
@@ -327,17 +327,17 @@ SourcesView.prototype = Heritage.extend(
   /**
    * Adds a breakpoint to this sources container.
    *
    * @param object aBreakpointClient
    *               See Breakpoints.prototype._showBreakpoint
    * @param object aOptions [optional]
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _addBreakpoint: function(breakpoint, options = {}) {
+  _addBreakpoint: function (breakpoint, options = {}) {
     let disabled = breakpoint.disabled;
     let location = breakpoint.location;
 
     // Get the source item to which the breakpoint should be attached.
     let sourceItem = this.getItemByValue(location.actor);
     if (!sourceItem) {
       return;
     }
@@ -375,17 +375,17 @@ SourcesView.prototype = Heritage.extend(
 
   /**
    * Removes a breakpoint from this sources container.
    * It does not also remove the breakpoint from the controller. Be careful.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _removeBreakpoint: function(breakpoint) {
+  _removeBreakpoint: function (breakpoint) {
     // When a parent source item is removed, all the child breakpoint items are
     // also automagically removed.
     let sourceItem = this.getItemByValue(breakpoint.location.actor);
     if (!sourceItem) {
       return;
     }
 
     // Clear the breakpoint view.
@@ -395,29 +395,29 @@ SourcesView.prototype = Heritage.extend(
        (queries.makeLocationId(this._selectedBreakpoint.location) ===
         queries.makeLocationId(breakpoint.location))) {
       this._selectedBreakpoint = null;
     }
 
     window.emit(EVENTS.BREAKPOINT_HIDDEN_IN_PANE);
   },
 
-  _getBreakpoint: function(bp) {
+  _getBreakpoint: function (bp) {
     return this.getItemForPredicate(item => {
       return item.attachment.actor === bp.location.actor &&
         item.attachment.line === bp.location.line;
     });
   },
 
   /**
    * Updates a breakpoint.
    *
    * @param object breakpoint
    */
-  _updateBreakpointStatus: function(breakpoint) {
+  _updateBreakpointStatus: function (breakpoint) {
     let location = breakpoint.location;
     let breakpointItem = this._getBreakpoint(getBreakpoint(this.getState(), location));
     if (!breakpointItem) {
       return promise.reject(new Error("No breakpoint found."));
     }
 
     // Breakpoint will now be enabled.
     let attachment = breakpointItem.attachment;
@@ -451,17 +451,17 @@ SourcesView.prototype = Heritage.extend(
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    * @param object aOptions [optional]
    *        An object containing some of the following boolean properties:
    *          - openPopup: tells if the expression popup should be shown.
    *          - noEditorUpdate: tells if you want to skip editor updates.
    */
-  highlightBreakpoint: function(aLocation, aOptions = {}) {
+  highlightBreakpoint: function (aLocation, aOptions = {}) {
     let breakpoint = getBreakpoint(this.getState(), aLocation);
     if (!breakpoint) {
       return;
     }
 
     // Breakpoint will now be selected.
     this._selectBreakpoint(breakpoint);
 
@@ -478,50 +478,50 @@ SourcesView.prototype = Heritage.extend(
       return this._hideConditionalPopup();
     }
   },
 
   /**
    * Highlight the breakpoint on the current currently focused line/column
    * if it exists.
    */
-  highlightBreakpointAtCursor: function() {
+  highlightBreakpointAtCursor: function () {
     let actor = this.selectedValue;
     let line = this.DebuggerView.editor.getCursor().line + 1;
 
     let location = { actor: actor, line: line };
     this.highlightBreakpoint(location, { noEditorUpdate: true });
   },
 
   /**
    * Unhighlights the current breakpoint in this sources container.
    */
-  unhighlightBreakpoint: function() {
+  unhighlightBreakpoint: function () {
     this._hideConditionalPopup();
     this._unselectBreakpoint();
   },
 
    /**
     * Display the message thrown on breakpoint condition
     */
-  showBreakpointConditionThrownMessage: function(aLocation, aMessage = "") {
+  showBreakpointConditionThrownMessage: function (aLocation, aMessage = "") {
     let breakpointItem = this._getBreakpoint(getBreakpoint(this.getState(), aLocation));
     if (!breakpointItem) {
       return;
     }
     let attachment = breakpointItem.attachment;
     attachment.view.container.classList.add("dbg-breakpoint-condition-thrown");
     attachment.view.message.setAttribute("value", aMessage);
   },
 
   /**
    * Update the checked/unchecked and enabled/disabled states of the buttons in
    * the sources toolbar based on the currently selected source's state.
    */
-  updateToolbarButtonsState: function(source) {
+  updateToolbarButtonsState: function (source) {
     if (source.isBlackBoxed) {
       this._blackBoxButton.setAttribute("checked", true);
       this._prettyPrintButton.setAttribute("checked", true);
     } else {
       this._blackBoxButton.removeAttribute("checked");
       this._prettyPrintButton.removeAttribute("checked");
     }
 
@@ -530,17 +530,17 @@ SourcesView.prototype = Heritage.extend(
     } else {
       this._prettyPrintButton.removeAttribute("checked");
     }
   },
 
   /**
    * Toggle the pretty printing of the selected source.
    */
-  togglePrettyPrint: function() {
+  togglePrettyPrint: function () {
     if (this._prettyPrintButton.hasAttribute("disabled")) {
       return;
     }
 
     this.DebuggerView.showProgressBar();
     const source = getSelectedSource(this.getState());
     const sourceClient = gThreadClient.source(source);
     const shouldPrettyPrint = !source.isPrettyPrinted;
@@ -554,17 +554,17 @@ SourcesView.prototype = Heritage.extend(
     }
 
     this.actions.togglePrettyPrint(source);
   },
 
   /**
    * Toggle the black boxed state of the selected source.
    */
-  toggleBlackBoxing: Task.async(function*() {
+  toggleBlackBoxing: Task.async(function* () {
     const source = getSelectedSource(this.getState());
     const shouldBlackBox = !source.isBlackBoxed;
 
     // Be optimistic that the (un-)black boxing will succeed, so
     // enable/disable the pretty print button and check/uncheck the
     // black box button immediately.
     if (shouldBlackBox) {
       this._prettyPrintButton.setAttribute("disabled", true);
@@ -572,119 +572,119 @@ SourcesView.prototype = Heritage.extend(
     } else {
       this._prettyPrintButton.removeAttribute("disabled");
       this._blackBoxButton.removeAttribute("checked");
     }
 
     this.actions.blackbox(source, shouldBlackBox);
   }),
 
-  renderBlackBoxed: function(source) {
+  renderBlackBoxed: function (source) {
     const sourceItem = this.getItemByValue(source.actor);
     sourceItem.prebuiltNode.classList.toggle(
       "black-boxed",
       source.isBlackBoxed
     );
 
     if (getSelectedSource(this.getState()).actor === source.actor) {
       this.updateToolbarButtonsState(source);
     }
   },
 
   /**
    * Toggles all breakpoints enabled/disabled.
    */
-  toggleBreakpoints: function() {
+  toggleBreakpoints: function () {
     let breakpoints = getBreakpoints(this.getState());
     let hasBreakpoints = breakpoints.length > 0;
     let hasEnabledBreakpoints = breakpoints.some(bp => !bp.disabled);
 
     if (hasBreakpoints && hasEnabledBreakpoints) {
       this._toggleBreakpointsButton.setAttribute("checked", true);
       this._onDisableAll();
     } else {
       this._toggleBreakpointsButton.removeAttribute("checked");
       this._onEnableAll();
     }
   },
 
-  togglePromiseDebugger: function() {
+  togglePromiseDebugger: function () {
     if (Prefs.promiseDebuggerEnabled) {
       let promisePane = this.DebuggerView._promisePane;
       promisePane.hidden = !promisePane.hidden;
 
       if (!this.DebuggerView._promiseDebuggerIframe) {
         this.DebuggerView._initializePromiseDebugger();
       }
     }
   },
 
-  hidePrettyPrinting: function() {
-    this._prettyPrintButton.style.display = 'none';
+  hidePrettyPrinting: function () {
+    this._prettyPrintButton.style.display = "none";
 
-    if (this._blackBoxButton.style.display === 'none') {
-      let sep = document.querySelector('#sources-toolbar .devtools-separator');
-      sep.style.display = 'none';
+    if (this._blackBoxButton.style.display === "none") {
+      let sep = document.querySelector("#sources-toolbar .devtools-separator");
+      sep.style.display = "none";
     }
   },
 
-  hideBlackBoxing: function() {
-    this._blackBoxButton.style.display = 'none';
+  hideBlackBoxing: function () {
+    this._blackBoxButton.style.display = "none";
 
-    if (this._prettyPrintButton.style.display === 'none') {
-      let sep = document.querySelector('#sources-toolbar .devtools-separator');
-      sep.style.display = 'none';
+    if (this._prettyPrintButton.style.display === "none") {
+      let sep = document.querySelector("#sources-toolbar .devtools-separator");
+      sep.style.display = "none";
     }
   },
 
-  getDisplayURL: function(source) {
+  getDisplayURL: function (source) {
     if (!source.url) {
       return this.getItemByValue(source.actor).attachment.label;
     }
-    return NetworkHelper.convertToUnicode(unescape(source.url))
+    return NetworkHelper.convertToUnicode(unescape(source.url));
   },
 
   /**
    * Marks a breakpoint as selected in this sources container.
    *
    * @param object aItem
    *        The breakpoint item to select.
    */
-  _selectBreakpoint: function(bp) {
+  _selectBreakpoint: function (bp) {
     if (this._selectedBreakpoint === bp) {
       return;
     }
     this._unselectBreakpoint();
     this._selectedBreakpoint = bp;
 
     const item = this._getBreakpoint(bp);
     item.target.classList.add("selected");
 
     // Ensure the currently selected breakpoint is visible.
     this.widget.ensureElementIsVisible(item.target);
   },
 
   /**
    * Marks the current breakpoint as unselected in this sources container.
    */
-  _unselectBreakpoint: function() {
+  _unselectBreakpoint: function () {
     if (!this._selectedBreakpoint) {
       return;
     }
 
     const item = this._getBreakpoint(this._selectedBreakpoint);
     item.target.classList.remove("selected");
 
     this._selectedBreakpoint = null;
   },
 
   /**
    * Opens a conditional breakpoint's expression input popup.
    */
-  _openConditionalPopup: function() {
+  _openConditionalPopup: function () {
     let breakpointItem = this._getBreakpoint(this._selectedBreakpoint);
     let attachment = breakpointItem.attachment;
     // Check if this is an enabled conditional breakpoint, and if so,
     // retrieve the current conditional epression.
     let bp = getBreakpoint(this.getState(), attachment);
     let expr = (bp ? (bp.condition || "") : "");
     let cbPanel = this._cbPanel;
 
@@ -697,31 +697,31 @@ SourcesView.prototype = Heritage.extend(
       // Show the conditional expression panel. The popup arrow should be pointing
       // at the line number node in the breakpoint item view.
       cbPanel.hidden = false;
       cbPanel.openPopup(breakpointItem.attachment.view.lineNumber,
                               BREAKPOINT_CONDITIONAL_POPUP_POSITION,
                               BREAKPOINT_CONDITIONAL_POPUP_OFFSET_X,
                               BREAKPOINT_CONDITIONAL_POPUP_OFFSET_Y);
 
-      cbPanel.removeEventListener('popuphidden', openPopup, false);
+      cbPanel.removeEventListener("popuphidden", openPopup, false);
     }
 
     // Wait until the other cb panel is closed
     if (!this._cbPanel.hidden) {
-      this._cbPanel.addEventListener('popuphidden', openPopup, false);
+      this._cbPanel.addEventListener("popuphidden", openPopup, false);
     } else {
       openPopup();
     }
   },
 
   /**
    * Hides a conditional breakpoint's expression input popup.
    */
-  _hideConditionalPopup: function() {
+  _hideConditionalPopup: function () {
     // Sometimes this._cbPanel doesn't have hidePopup method which doesn't
     // break anything but simply outputs an exception to the console.
     if (this._cbPanel.hidePopup) {
       this._cbPanel.hidePopup();
     }
   },
 
   /**
@@ -732,17 +732,17 @@ SourcesView.prototype = Heritage.extend(
    *          - location: the breakpoint's source location and line number
    *          - disabled: the breakpoint's disabled state, boolean
    *          - text: the breakpoint's line text to be displayed
    *          - message: thrown string when the breakpoint condition throws
    * @return object
    *         An object containing the breakpoint container, checkbox,
    *         line number and line text nodes.
    */
-  _createBreakpointView: function(aOptions) {
+  _createBreakpointView: function (aOptions) {
     let { location, disabled, text, message } = aOptions;
     let identifier = makeLocationId(location);
 
     let checkbox = document.createElement("checkbox");
     if (!disabled) {
       checkbox.setAttribute("checked", true);
     }
     checkbox.className = "dbg-breakpoint-checkbox";
@@ -807,17 +807,17 @@ SourcesView.prototype = Heritage.extend(
    *
    * @param object aOptions
    *        A couple of options or flags supported by this operation:
    *          - location: the breakpoint's source location and line number
    *          - disabled: the breakpoint's disabled state, boolean
    * @return object
    *         An object containing the breakpoint commandset and menu popup ids.
    */
-  _createContextMenu: function(aOptions) {
+  _createContextMenu: function (aOptions) {
     let { location, disabled } = aOptions;
     let identifier = makeLocationId(location);
 
     let commandset = document.createElement("commandset");
     let menupopup = document.createElement("menupopup");
     commandset.id = "bp-cSet-" + identifier;
     menupopup.id = "bp-mPop-" + identifier;
 
@@ -884,76 +884,76 @@ SourcesView.prototype = Heritage.extend(
       let menuseparator = document.createElement("menuseparator");
       menupopup.appendChild(menuseparator);
     }
   },
 
   /**
    * Copy the source url from the currently selected item.
    */
-  _onCopyUrlCommand: function() {
+  _onCopyUrlCommand: function () {
     let selected = this.selectedItem && this.selectedItem.attachment;
     if (!selected) {
       return;
     }
     clipboardHelper.copyString(selected.source.url);
   },
 
   /**
    * Opens selected item source in a new tab.
    */
-  _onNewTabCommand: function() {
+  _onNewTabCommand: function () {
     let win = Services.wm.getMostRecentWindow("navigator:browser");
     let selected = this.selectedItem.attachment;
     win.openUILinkIn(selected.source.url, "tab", { relatedToCurrent: true });
   },
 
   /**
    * Function called each time a breakpoint item is removed.
    *
    * @param object aItem
    *        The corresponding item.
    */
-  _onBreakpointRemoved: function(aItem) {
+  _onBreakpointRemoved: function (aItem) {
     dumpn("Finalizing breakpoint item: " + aItem.stringify());
 
     // Destroy the context menu for the breakpoint.
     let contextMenu = aItem.attachment.popup;
     document.getElementById(contextMenu.commandsetId).remove();
     document.getElementById(contextMenu.menupopupId).remove();
   },
 
-  _onMouseDown: function(e) {
+  _onMouseDown: function (e) {
     this.hideNoResultsTooltip();
 
     if (!e.metaKey) {
       return;
     }
 
     let editor = this.DebuggerView.editor;
     let identifier = this._findIdentifier(e.clientX, e.clientY);
 
     if (!identifier) {
-        return;
+      return;
     }
 
     let foundDefinitions = this._getFunctionDefinitions(identifier);
 
     if (!foundDefinitions || !foundDefinitions.definitions) {
       return;
     }
 
     this._showFunctionDefinitionResults(identifier, foundDefinitions.definitions, editor);
   },
 
   /**
    * Searches for function definition of a function in a given source file
    */
 
-  _findDefinition: function(parsedSource, aName) {
+  _findDefinition: function (parsedSource, aName) {
     let functionDefinitions = parsedSource.getNamedFunctionDefinitions(aName);
 
     let resultList = [];
 
     if (!functionDefinitions || !functionDefinitions.length || !functionDefinitions[0].length) {
       return {
         definitions: resultList
       };
@@ -963,49 +963,49 @@ SourcesView.prototype = Heritage.extend(
     // extract the data and use to construct a more useful, less
     // cluttered, contextual list
     for (let i = 0; i < functionDefinitions.length; i++) {
       let functionDefinition = {
         source: functionDefinitions[i].sourceUrl,
         startLine: functionDefinitions[i][0].functionLocation.start.line,
         startColumn: functionDefinitions[i][0].functionLocation.start.column,
         name: functionDefinitions[i][0].functionName
-      }
+      };
 
-      resultList.push(functionDefinition)
+      resultList.push(functionDefinition);
     }
 
     return {
-     definitions: resultList
+      definitions: resultList
     };
   },
 
   /**
    * Searches for an identifier underneath the specified position in the
    * source editor.
    *
    * @param number x, y
    *        The left/top coordinates where to look for an identifier.
    */
-  _findIdentifier: function(x, y) {
+  _findIdentifier: function (x, y) {
     let parsedSource = SourceUtils.parseSource(this.DebuggerView, this.Parser);
     let identifierInfo = SourceUtils.findIdentifier(this.DebuggerView.editor, parsedSource, x, y);
 
     // Not hovering over an identifier
     if (!identifierInfo) {
-        return;
+      return;
     }
 
     return identifierInfo;
   },
 
   /**
    * The selection listener for the source editor.
    */
-  _onEditorCursorActivity: function(e) {
+  _onEditorCursorActivity: function (e) {
     let editor = this.DebuggerView.editor;
     let start = editor.getCursor("start").line + 1;
     let end = editor.getCursor().line + 1;
     let source = getSelectedSource(this.getState());
 
     if (source) {
       let location = { actor: source.actor, line: start };
       if (getBreakpoint(this.getState(), location) && start == end) {
@@ -1015,102 +1015,102 @@ SourcesView.prototype = Heritage.extend(
       }
     }
   },
 
   /*
    * Uses function definition data to perform actions in different
    * cases of how many locations were found: zero, one, or multiple definitions
    */
-  _showFunctionDefinitionResults: function(aHoveredFunction, aDefinitionList, aEditor) {
+  _showFunctionDefinitionResults: function (aHoveredFunction, aDefinitionList, aEditor) {
     let definitions = aDefinitionList;
     let hoveredFunction = aHoveredFunction;
 
-    //show a popup saying no results were found
+    // show a popup saying no results were found
     if (definitions.length == 0) {
       this._noResultsFoundToolTip.setTextContent({
-          messages: [L10N.getStr("noMatchingStringsText")]
+        messages: [L10N.getStr("noMatchingStringsText")]
       });
 
       this._markedIdentifier = aEditor.markText(
         { line: hoveredFunction.location.start.line - 1, ch: hoveredFunction.location.start.column },
         { line: hoveredFunction.location.end.line - 1, ch: hoveredFunction.location.end.column });
 
       this._noResultsFoundToolTip.show(this._markedIdentifier.anchor);
 
     } else if (definitions.length == 1) {
       this.DebuggerView.setEditorLocation(definitions[0].source, definitions[0].startLine);
     } else {
       // TODO: multiple definitions found, do something else
       this.DebuggerView.setEditorLocation(definitions[0].source, definitions[0].startLine);
     }
-},
+  },
 
   /**
    * Hides the tooltip and clear marked text popup.
    */
-  hideNoResultsTooltip: function() {
+  hideNoResultsTooltip: function () {
     this._noResultsFoundToolTip.hide();
     if (this._markedIdentifier) {
       this._markedIdentifier.clear();
       this._markedIdentifier = null;
     }
   },
 
   /*
    * Gets the definition locations from function metadata
    */
-  _getFunctionDefinitions: function(aIdentifierInfo) {
+  _getFunctionDefinitions: function (aIdentifierInfo) {
     let parsedSource = SourceUtils.parseSource(this.DebuggerView, this.Parser);
     let definition_info = this._findDefinition(parsedSource, aIdentifierInfo.name);
 
-    //Did not find any definitions for the identifier
+    // Did not find any definitions for the identifier
     if (!definition_info) {
       return;
     }
 
     return definition_info;
   },
 
   /**
    * The select listener for the sources container.
    */
-  _onSourceSelect: function({ detail: sourceItem }) {
+  _onSourceSelect: function ({ detail: sourceItem }) {
     if (!sourceItem) {
       return;
     }
 
     const { source } = sourceItem.attachment;
     this.actions.selectSource(source);
   },
 
-  renderSourceSelected: function(source) {
+  renderSourceSelected: function (source) {
     // Set window title. No need to split the url by " -> " here,
     // because it was already sanitized when the source was added.
     document.title = L10N.getFormatStr("DebuggerWindowScriptTitle", source.url);
 
     if (source.url) {
       this._preferredSourceURL = source.url;
     }
     this.updateToolbarButtonsState(source);
     this._selectItem(this.getItemByValue(source.actor));
   },
 
   /**
    * The click listener for the "stop black boxing" button.
    */
-  _onStopBlackBoxing: Task.async(function*() {
+  _onStopBlackBoxing: Task.async(function* () {
     this.actions.blackbox(getSelectedSource(this.getState()), false);
   }),
 
   /**
    * The source editor's contextmenu handler.
    * - Toggles "Add Conditional Breakpoint" and "Edit Conditional Breakpoint" items
    */
-  _onEditorContextMenuOpen: function(message, ev, popup) {
+  _onEditorContextMenuOpen: function (message, ev, popup) {
     let actor = this.selectedValue;
     let line = this.DebuggerView.editor.getCursor().line + 1;
     let location = { actor, line };
 
     let breakpoint = getBreakpoint(this.getState(), location);
     let addConditionalBreakpointMenuItem = popup.querySelector("#se-dbg-cMenu-addConditionalBreakpoint");
     let editConditionalBreakpointMenuItem = popup.querySelector("#se-dbg-cMenu-editConditionalBreakpoint");
 
@@ -1122,34 +1122,34 @@ SourcesView.prototype = Heritage.extend(
       addConditionalBreakpointMenuItem.removeAttribute("hidden");
       editConditionalBreakpointMenuItem.setAttribute("hidden", true);
     }
   },
 
   /**
    * The click listener for a breakpoint container.
    */
-  _onBreakpointClick: function(e) {
+  _onBreakpointClick: function (e) {
     let sourceItem = this.getItemForElement(e.target);
     let breakpointItem = this.getItemForElement.call(sourceItem, e.target);
     let attachment = breakpointItem.attachment;
     let bp = getBreakpoint(this.getState(), attachment);
     if (bp) {
       this.highlightBreakpoint(bp.location, {
         openPopup: bp.condition && e.button == 0
       });
     } else {
       this.highlightBreakpoint(bp.location);
     }
   },
 
   /**
    * The click listener for a breakpoint checkbox.
    */
-  _onBreakpointCheckboxClick: function(e) {
+  _onBreakpointCheckboxClick: function (e) {
     let sourceItem = this.getItemForElement(e.target);
     let breakpointItem = this.getItemForElement.call(sourceItem, e.target);
     let bp = getBreakpoint(this.getState(), breakpointItem.attachment);
 
     if (bp.disabled) {
       this.actions.enableBreakpoint(bp.location);
     }
     else {
@@ -1159,64 +1159,64 @@ SourcesView.prototype = Heritage.extend(
     // Don't update the editor location (avoid propagating into _onBreakpointClick).
     e.preventDefault();
     e.stopPropagation();
   },
 
   /**
    * The popup showing listener for the breakpoints conditional expression panel.
    */
-  _onConditionalPopupShowing: function() {
+  _onConditionalPopupShowing: function () {
     this._conditionalPopupVisible = true; // Used in tests.
     window.emit(EVENTS.CONDITIONAL_BREAKPOINT_POPUP_SHOWING);
   },
 
   /**
    * The popup shown listener for the breakpoints conditional expression panel.
    */
-  _onConditionalPopupShown: function() {
+  _onConditionalPopupShown: function () {
     this._cbTextbox.focus();
     this._cbTextbox.select();
   },
 
   /**
    * The popup hiding listener for the breakpoints conditional expression panel.
    */
-  _onConditionalPopupHiding: function() {
+  _onConditionalPopupHiding: function () {
     this._conditionalPopupVisible = false; // Used in tests.
 
     // Check if this is an enabled conditional breakpoint, and if so,
     // save the current conditional expression.
     let bp = this._selectedBreakpoint;
     if (bp) {
       let condition = this._cbTextbox.value;
       this.actions.setBreakpointCondition(bp.location, condition);
     }
   },
 
   /**
    * The popup hidden listener for the breakpoints conditional expression panel.
    */
-  _onConditionalPopupHidden: function() {
+  _onConditionalPopupHidden: function () {
     this._cbPanel.hidden = true;
   },
 
   /**
    * The keypress listener for the breakpoints conditional expression textbox.
    */
-  _onConditionalTextboxKeyPress: function(e) {
+  _onConditionalTextboxKeyPress: function (e) {
     if (e.keyCode == e.DOM_VK_RETURN) {
       this._hideConditionalPopup();
     }
   },
 
   /**
    * Called when the add breakpoint key sequence was pressed.
    */
-  _onCmdAddBreakpoint: function(e) {
+  _onCmdAddBreakpoint: function (e) {
     let actor = this.selectedValue;
     let line = (this.DebuggerView.clickedLine ?
                 this.DebuggerView.clickedLine + 1 :
                 this.DebuggerView.editor.getCursor().line + 1);
     let location = { actor, line };
     let bp = getBreakpoint(this.getState(), location);
 
     // If a breakpoint already existed, remove it now.
@@ -1227,17 +1227,17 @@ SourcesView.prototype = Heritage.extend(
     else {
       this.actions.addBreakpoint(location);
     }
   },
 
   /**
    * Called when the add conditional breakpoint key sequence was pressed.
    */
-  _onCmdAddConditionalBreakpoint: function(e) {
+  _onCmdAddConditionalBreakpoint: function (e) {
     let actor = this.selectedValue;
     let line = (this.DebuggerView.clickedLine ?
                 this.DebuggerView.clickedLine + 1 :
                 this.DebuggerView.editor.getCursor().line + 1);
 
     let location = { actor, line };
     let bp = getBreakpoint(this.getState(), location);
 
@@ -1246,124 +1246,124 @@ SourcesView.prototype = Heritage.extend(
       this.highlightBreakpoint(bp.location, { openPopup: true });
     }
     // No breakpoint existed at the required location, add one now.
     else {
       this.actions.addBreakpoint(location, "");
     }
   },
 
-  getOtherBreakpoints: function(location) {
+  getOtherBreakpoints: function (location) {
     const bps = getBreakpoints(this.getState());
     if (location) {
       return bps.filter(bp => {
         return (bp.location.actor !== location.actor ||
                 bp.location.line !== location.line);
       });
     }
     return bps;
   },
 
   /**
    * Function invoked on the "setConditional" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onSetConditional: function(aLocation) {
+  _onSetConditional: function (aLocation) {
     // Highlight the breakpoint and show a conditional expression popup.
     this.highlightBreakpoint(aLocation, { openPopup: true });
   },
 
   /**
    * Function invoked on the "enableSelf" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onEnableSelf: function(aLocation) {
+  _onEnableSelf: function (aLocation) {
     // Enable the breakpoint, in this container and the controller store.
     this.actions.enableBreakpoint(aLocation);
   },
 
   /**
    * Function invoked on the "disableSelf" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onDisableSelf: function(aLocation) {
+  _onDisableSelf: function (aLocation) {
     const bp = getBreakpoint(this.getState(), aLocation);
     if (!bp.disabled) {
       this.actions.disableBreakpoint(aLocation);
     }
   },
 
   /**
    * Function invoked on the "deleteSelf" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onDeleteSelf: function(aLocation) {
+  _onDeleteSelf: function (aLocation) {
     this.actions.removeBreakpoint(aLocation);
   },
 
   /**
    * Function invoked on the "enableOthers" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onEnableOthers: function(aLocation) {
+  _onEnableOthers: function (aLocation) {
     let other = this.getOtherBreakpoints(aLocation);
     // TODO(jwl): batch these and interrupt the thread for all of them
     other.forEach(bp => this._onEnableSelf(bp.location));
   },
 
   /**
    * Function invoked on the "disableOthers" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onDisableOthers: function(aLocation) {
+  _onDisableOthers: function (aLocation) {
     let other = this.getOtherBreakpoints(aLocation);
     other.forEach(bp => this._onDisableSelf(bp.location));
   },
 
   /**
    * Function invoked on the "deleteOthers" menuitem command.
    *
    * @param object aLocation
    *        @see DebuggerController.Breakpoints.addBreakpoint
    */
-  _onDeleteOthers: function(aLocation) {
+  _onDeleteOthers: function (aLocation) {
     let other = this.getOtherBreakpoints(aLocation);
     other.forEach(bp => this._onDeleteSelf(bp.location));
   },
 
   /**
    * Function invoked on the "enableAll" menuitem command.
    */
-  _onEnableAll: function() {
+  _onEnableAll: function () {
     this._onEnableOthers(undefined);
   },
 
   /**
    * Function invoked on the "disableAll" menuitem command.
    */
-  _onDisableAll: function() {
+  _onDisableAll: function () {
     this._onDisableOthers(undefined);
   },
 
   /**
    * Function invoked on the "deleteAll" menuitem command.
    */
-  _onDeleteAll: function() {
+  _onDeleteAll: function () {
     this._onDeleteOthers(undefined);
   },
 
   _commandset: null,
   _popupset: null,
   _cmPopup: null,
   _cbPanel: null,
   _cbTextbox: null,
--- a/devtools/client/debugger/debugger-commands.js
+++ b/devtools/client/debugger/debugger-commands.js
@@ -77,27 +77,27 @@ exports.items.push({
  * 'break list' command
  */
 exports.items.push({
   name: "break list",
   item: "command",
   runAt: "client",
   description: l10n.lookup("breaklistDesc"),
   returnType: "breakpoints",
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger", { ensureOpened: true });
     return dbg.then(getAllBreakpoints);
   }
 });
 
 exports.items.push({
   item: "converter",
   from: "breakpoints",
   to: "view",
-  exec: function(breakpoints, context) {
+  exec: function (breakpoints, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (dbg && breakpoints.length) {
       return context.createView({
         html: breakListHtml,
         data: {
           breakpoints: breakpoints,
           onclick: context.update,
           ondblclick: context.updateExec
@@ -157,39 +157,39 @@ exports.items.push({
   runAt: "client",
   name: "break add line",
   description: l10n.lookup("breakaddlineDesc"),
   params: [
     {
       name: "file",
       type: {
         name: "selection",
-        lookup: function(context) {
+        lookup: function (context) {
           return getAllSources(getPanel(context, "jsdebugger"));
         }
       },
       description: l10n.lookup("breakaddlineFileDesc")
     },
     {
       name: "line",
       type: { name: "number", min: 1, step: 10 },
       description: l10n.lookup("breakaddlineLineDesc")
     }
   ],
   returnType: "string",
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let deferred = context.defer();
     let item = dbg._view.Sources.getItemForAttachment(a => {
       return a.source && a.source.actor === args.file;
-    })
+    });
     let position = { actor: item.value, line: args.line };
 
     dbg.addBreakpoint(position).then(() => {
       deferred.resolve(l10n.lookup("breakaddAdded"));
     }, aError => {
       deferred.resolve(l10n.lookupFormat("breakaddFailed", [aError]));
     });
 
@@ -205,40 +205,40 @@ exports.items.push({
   runAt: "client",
   name: "break del",
   description: l10n.lookup("breakdelDesc"),
   params: [
     {
       name: "breakpoint",
       type: {
         name: "selection",
-        lookup: function(context) {
+        lookup: function (context) {
           let dbg = getPanel(context, "jsdebugger");
           if (!dbg) {
             return [];
           }
           return getAllBreakpoints(dbg).map(breakpoint => ({
             name: breakpoint.label,
             value: breakpoint,
             description: breakpoint.truncatedLineText
           }));
         }
       },
       description: l10n.lookup("breakdelBreakidDesc")
     }
   ],
   returnType: "string",
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let source = dbg._view.Sources.getItemForAttachment(a => {
-      return a.source && a.source.url === args.breakpoint.url
+      return a.source && a.source.url === args.breakpoint.url;
     });
 
     let deferred = context.defer();
     let position = { actor: source.attachment.source.actor,
                      line: args.breakpoint.lineNumber };
 
     dbg.removeBreakpoint(position).then(() => {
       deferred.resolve(l10n.lookup("breakdelRemoved"));
@@ -263,32 +263,32 @@ exports.items.push({
  * 'dbg open' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg open",
   description: l10n.lookup("dbgOpen"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let target = context.environment.target;
     return gDevTools.showToolbox(target, "jsdebugger").then(() => null);
   }
 });
 
 /**
  * 'dbg close' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg close",
   description: l10n.lookup("dbgClose"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     if (!getPanel(context, "jsdebugger")) {
       return;
     }
     let target = context.environment.target;
     return gDevTools.closeToolbox(target).then(() => null);
   }
 });
 
@@ -296,17 +296,17 @@ exports.items.push({
  * 'dbg interrupt' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg interrupt",
   description: l10n.lookup("dbgInterrupt"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let controller = dbg._controller;
     let thread = controller.activeThread;
     if (!thread.paused) {
@@ -319,17 +319,17 @@ exports.items.push({
  * 'dbg continue' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg continue",
   description: l10n.lookup("dbgContinue"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let controller = dbg._controller;
     let thread = controller.activeThread;
     if (thread.paused) {
@@ -353,17 +353,17 @@ exports.items.push({
  * 'dbg step over' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg step over",
   description: l10n.lookup("dbgStepOverDesc"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let controller = dbg._controller;
     let thread = controller.activeThread;
     if (thread.paused) {
@@ -373,20 +373,20 @@ exports.items.push({
 });
 
 /**
  * 'dbg step in' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
-  name: 'dbg step in',
+  name: "dbg step in",
   description: l10n.lookup("dbgStepInDesc"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let controller = dbg._controller;
     let thread = controller.activeThread;
     if (thread.paused) {
@@ -396,20 +396,20 @@ exports.items.push({
 });
 
 /**
  * 'dbg step over' command
  */
 exports.items.push({
   item: "command",
   runAt: "client",
-  name: 'dbg step out',
+  name: "dbg step out",
   description: l10n.lookup("dbgStepOutDesc"),
   params: [],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerStopped");
     }
 
     let controller = dbg._controller;
     let thread = controller.activeThread;
     if (thread.paused) {
@@ -423,17 +423,17 @@ exports.items.push({
  */
 exports.items.push({
   item: "command",
   runAt: "client",
   name: "dbg list",
   description: l10n.lookup("dbgListSourcesDesc"),
   params: [],
   returnType: "dom",
-  exec: function(args, context) {
+  exec: function (args, context) {
     let dbg = getPanel(context, "jsdebugger");
     if (!dbg) {
       return l10n.lookup("debuggerClosed");
     }
 
     let sources = getAllSources(dbg);
     let doc = context.environment.chromeDocument;
     let div = createXHTMLElement(doc, "div");
@@ -459,32 +459,32 @@ exports.items.push({
     clientMethod: "blackBox",
     l10nPrefix: "dbgBlackBox"
   },
   {
     name: "unblackbox",
     clientMethod: "unblackBox",
     l10nPrefix: "dbgUnBlackBox"
   }
-].forEach(function(cmd) {
-  const lookup = function(id) {
+].forEach(function (cmd) {
+  const lookup = function (id) {
     return l10n.lookup(cmd.l10nPrefix + id);
   };
 
   exports.items.push({
     item: "command",
     runAt: "client",
     name: "dbg " + cmd.name,
     description: lookup("Desc"),
     params: [
       {
         name: "source",
         type: {
           name: "selection",
-          lookup: function(context) {
+          lookup: function (context) {
             return getAllSources(getPanel(context, "jsdebugger"));
           }
         },
         description: lookup("SourceDesc"),
         defaultValue: null
       },
       {
         name: "glob",
@@ -494,17 +494,17 @@ exports.items.push({
       },
       {
         name: "invert",
         type: "boolean",
         description: lookup("InvertDesc")
       }
     ],
     returnType: "dom",
-    exec: function(args, context) {
+    exec: function (args, context) {
       const dbg = getPanel(context, "jsdebugger");
       const doc = context.environment.chromeDocument;
       if (!dbg) {
         throw new Error(l10n.lookup("debuggerClosed"));
       }
 
       const { promise, resolve, reject } = context.defer();
       const { activeThread } = dbg._controller;
@@ -542,17 +542,17 @@ exports.items.push({
         dbg.blackbox(source, cmd.clientMethod === "blackBox").then(() => {
           blackBoxed.push(source.url);
         }, err => {
           blackBoxed.push(lookup("ErrorDesc") + " " + source.url);
         }).then(() => {
           if (toBlackBox.length === blackBoxed.length) {
             displayResults();
           }
-        })
+        });
       }
 
       // List the results for the user.
 
       function displayResults() {
         const results = doc.createElement("div");
         results.textContent = lookup("NonEmptyDesc");
 
@@ -623,11 +623,11 @@ function globToRegExp(glob) {
     .replace(/\|/g, "\\|")
     .replace(/\{/g, "\\{")
     .replace(/\}/g, "\\}")
     .replace(/\,/g, "\\,")
     .replace(/\[/g, "\\[")
     .replace(/\]/g, "\\]")
     .replace(/\-/g, "\\-")
   // Turn * into the match everything wildcard.
-    .replace(/\*/g, ".*")
+    .replace(/\*/g, ".*");
   return new RegExp("^" + reStr + "$");
 }
--- a/devtools/client/debugger/debugger-controller.js
+++ b/devtools/client/debugger/debugger-controller.js
@@ -124,17 +124,17 @@ const createStore = require("devtools/cl
   getTargetClient: () => DebuggerController.client,
   log: false
 });
 const {
   makeStateBroadcaster,
   enhanceStoreWithBroadcaster,
   combineBroadcastingReducers
 } = require("devtools/client/shared/redux/non-react-subscriber");
-const { bindActionCreators } = require('devtools/client/shared/vendor/redux');
+const { bindActionCreators } = require("devtools/client/shared/vendor/redux");
 const reducers = require("./content/reducers/index");
 const { onReducerEvents } = require("./content/utils");
 
 const waitUntilService = require("devtools/client/shared/redux/middleware/wait-service");
 var services = {
   WAIT_UNTIL: waitUntilService.NAME
 };
 
@@ -160,17 +160,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 
 XPCOMUtils.defineLazyModuleGetter(this, "ShortcutUtils",
   "resource://gre/modules/ShortcutUtils.jsm");
 
 XPCOMUtils.defineLazyServiceGetter(this, "clipboardHelper",
   "@mozilla.org/widget/clipboardhelper;1", "nsIClipboardHelper");
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   enumerable: true
 });
 
 /**
  * Localization convenience methods.
@@ -179,17 +179,17 @@ var L10N = new LocalizationHelper(DBG_ST
 
 /**
  * Object defining the debugger controller components.
  */
 var DebuggerController = {
   /**
    * Initializes the debugger controller.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the DebuggerController");
 
     this.startupDebugger = this.startupDebugger.bind(this);
     this.shutdownDebugger = this.shutdownDebugger.bind(this);
     this._onNavigate = this._onNavigate.bind(this);
     this._onWillNavigate = this._onWillNavigate.bind(this);
     this._onTabDetached = this._onTabDetached.bind(this);
 
@@ -203,17 +203,17 @@ var DebuggerController = {
     //
     // We only want to process async event that are appropriate for
     // this page. The devtools are open across page reloads, so async
     // requests from the last page might bleed through if reloading
     // fast enough. We check to make sure the async action is part of
     // a current request, and ignore it if not.
     let store = createStore((state, action) => {
       if (action.seqId &&
-         (action.status === 'done' || action.status === 'error') &&
+         (action.status === "done" || action.status === "error") &&
          state && state.asyncRequests.indexOf(action.seqId) === -1) {
         return state;
       }
       return reducer(state, action);
     });
     store = enhanceStoreWithBroadcaster(store, broadcaster);
 
     // This controller right now acts as the store that's globally
@@ -224,32 +224,32 @@ var DebuggerController = {
   },
 
   /**
    * Initializes the view.
    *
    * @return object
    *         A promise that is resolved when the debugger finishes startup.
    */
-  startupDebugger: Task.async(function*() {
+  startupDebugger: Task.async(function* () {
     if (this._startup) {
       return;
     }
 
     yield DebuggerView.initialize();
     this._startup = true;
   }),
 
   /**
    * Destroys the view and disconnects the debugger client from the server.
    *
    * @return object
    *         A promise that is resolved when the debugger finishes shutdown.
    */
-  shutdownDebugger: Task.async(function*() {
+  shutdownDebugger: Task.async(function* () {
     if (this._shutdown) {
       return;
     }
 
     DebuggerView.destroy();
     this.StackFrames.disconnect();
     this.ThreadState.disconnect();
     if (this._target.isTabActor) {
@@ -263,17 +263,17 @@ var DebuggerController = {
 
   /**
    * Initiates remote debugging based on the current target, wiring event
    * handlers as necessary.
    *
    * @return object
    *         A promise that is resolved when the debugger finishes connecting.
    */
-  connect: Task.async(function*() {
+  connect: Task.async(function* () {
     let target = this._target;
 
     let { client } = target;
     target.on("close", this._onTabDetached);
     target.on("navigate", this._onNavigate);
     target.on("will-navigate", this._onWillNavigate);
     this.client = client;
     this.activeThread = this._toolbox.threadClient;
@@ -285,17 +285,17 @@ var DebuggerController = {
 
     // We need to call this to sync the state of the resume
     // button in the toolbar with the state of the thread.
     this.ThreadState._update();
 
     this._hideUnsupportedFeatures();
   }),
 
-  connectThread: function() {
+  connectThread: function () {
     const { newSource, fetchEventListeners } = bindActionCreators(actions, this.dispatch);
 
     // TODO: bug 806775, update the globals list using aPacket.hostAnnotations
     // from bug 801084.
     // this.client.addListener("newGlobal", ...);
 
     this.activeThread.addListener("newSource", (event, packet) => {
       newSource(packet.source);
@@ -330,42 +330,42 @@ var DebuggerController = {
         }
       }
     });
   },
 
   /**
    * Disconnects the debugger client and removes event handlers as necessary.
    */
-  disconnect: function() {
+  disconnect: function () {
     // Return early if the client didn't even have a chance to instantiate.
     if (!this.client) {
       return;
     }
 
     this.client.removeListener("newGlobal");
     this.activeThread.removeListener("newSource");
     this.activeThread.removeListener("blackboxchange");
 
     this._connected = false;
     this.client = null;
     this.activeThread = null;
   },
 
-  _hideUnsupportedFeatures: function() {
+  _hideUnsupportedFeatures: function () {
     if (this.client.mainRoot.traits.noPrettyPrinting) {
       DebuggerView.Sources.hidePrettyPrinting();
     }
 
     if (this.client.mainRoot.traits.noBlackBoxing) {
       DebuggerView.Sources.hideBlackBoxing();
     }
   },
 
-  _onWillNavigate: function(opts={}) {
+  _onWillNavigate: function (opts = {}) {
     // Reset UI.
     DebuggerView.handleTabNavigation();
     if (!opts.noUnload) {
       this.dispatch(actions.unload());
     }
 
     // Discard all the cached parsed sources *before* the target
     // starts navigating. Sources may be fetched during navigation, in
@@ -375,52 +375,52 @@ var DebuggerController = {
 
     // Prevent performing any actions that were scheduled before
     // navigation.
     clearNamedTimeout("new-source");
     clearNamedTimeout("event-breakpoints-update");
     clearNamedTimeout("event-listeners-fetch");
   },
 
-  _onNavigate: function() {
+  _onNavigate: function () {
     this.ThreadState.handleTabNavigation();
     this.StackFrames.handleTabNavigation();
   },
 
   /**
    * Called when the debugged tab is closed.
    */
-  _onTabDetached: function() {
+  _onTabDetached: function () {
     this.shutdownDebugger();
   },
 
   /**
    * Warn if resuming execution produced a wrongOrder error.
    */
-  _ensureResumptionOrder: function(aResponse) {
+  _ensureResumptionOrder: function (aResponse) {
     if (aResponse.error == "wrongOrder") {
       DebuggerView.Toolbar.showResumeWarning(aResponse.lastPausedUrl);
     }
   },
 
   /**
    * Detach and reattach to the thread actor with useSourceMaps true, blow
    * away old sources and get them again.
    */
-  reconfigureThread: function(opts) {
+  reconfigureThread: function (opts) {
     const deferred = promise.defer();
     this.activeThread.reconfigure(
       opts,
       aResponse => {
         if (aResponse.error) {
           deferred.reject(aResponse.error);
           return;
         }
 
-        if (('useSourceMaps' in opts) || ('autoBlackBox' in opts)) {
+        if (("useSourceMaps" in opts) || ("autoBlackBox" in opts)) {
           // Reset the view and fetch all the sources again.
           DebuggerView.handleTabNavigation();
           this.dispatch(actions.unload());
           this.dispatch(actions.loadSources());
 
           // Update the stack frame list.
           if (this.activeThread.paused) {
             this.activeThread._clearFrames();
@@ -429,28 +429,28 @@ var DebuggerController = {
         }
 
         deferred.resolve();
       }
     );
     return deferred.promise;
   },
 
-  waitForSourcesLoaded: function() {
+  waitForSourcesLoaded: function () {
     const deferred = promise.defer();
     this.dispatch({
       type: services.WAIT_UNTIL,
       predicate: action => (action.type === constants.LOAD_SOURCES &&
                             action.status === "done"),
       run: deferred.resolve
     });
     return deferred.promise;
   },
 
-  waitForSourceShown: function(name) {
+  waitForSourceShown: function (name) {
     const deferred = promise.defer();
     window.on(EVENTS.SOURCE_SHOWN, function onShown(_, source) {
       if (source.url.includes(name)) {
         window.off(EVENTS.SOURCE_SHOWN, onShown);
         deferred.resolve();
       }
     });
     return deferred.promise;
@@ -540,49 +540,49 @@ function ThreadState() {
 ThreadState.prototype = {
   get activeThread() {
     return DebuggerController.activeThread;
   },
 
   /**
    * Connect to the current thread client.
    */
-  connect: function() {
+  connect: function () {
     dumpn("ThreadState is connecting...");
     this.activeThread.addListener("paused", this._update);
     this.activeThread.addListener("resumed", this._update);
   },
 
   /**
    * Disconnect from the client.
    */
-  disconnect: function() {
+  disconnect: function () {
     if (!this.activeThread) {
       return;
     }
     dumpn("ThreadState is disconnecting...");
     this.activeThread.removeListener("paused", this._update);
     this.activeThread.removeListener("resumed", this._update);
   },
 
   /**
    * Handles any initialization on a tab navigation event issued by the client.
    */
-  handleTabNavigation: function() {
+  handleTabNavigation: function () {
     if (!this.activeThread) {
       return;
     }
     dumpn("Handling tab navigation in the ThreadState");
     this._update();
   },
 
   /**
    * Update the UI after a thread state change.
    */
-  _update: function(aEvent, aPacket) {
+  _update: function (aEvent, aPacket) {
     if (aEvent == "paused") {
       if (aPacket.why.type == "interrupted" &&
           this.interruptedByResumeButton) {
         // Interrupt requests suppressed by default, but if this is an
         // explicit interrupt by the pause button we want to emit it.
         gTarget.emit("thread-paused", aPacket);
       } else if (aPacket.why.type == "breakpointConditionThrown" && aPacket.why.message) {
         let where = aPacket.frame.where;
@@ -633,61 +633,61 @@ StackFrames.prototype = {
   _currentBreakpointLocation: null,
   _currentEvaluation: null,
   _currentException: null,
   _currentReturnedValue: null,
 
   /**
    * Connect to the current thread client.
    */
-  connect: function() {
+  connect: function () {
     dumpn("StackFrames is connecting...");
     this.activeThread.addListener("paused", this._onPaused);
     this.activeThread.addListener("resumed", this._onResumed);
     this.activeThread.addListener("framesadded", this._onFrames);
     this.activeThread.addListener("framescleared", this._onFramesCleared);
     this.activeThread.addListener("blackboxchange", this._onBlackBoxChange);
     this.activeThread.addListener("prettyprintchange", this._onPrettyPrintChange);
     this.handleTabNavigation();
   },
 
   /**
    * Disconnect from the client.
    */
-  disconnect: function() {
+  disconnect: function () {
     if (!this.activeThread) {
       return;
     }
     dumpn("StackFrames is disconnecting...");
     this.activeThread.removeListener("paused", this._onPaused);
     this.activeThread.removeListener("resumed", this._onResumed);
     this.activeThread.removeListener("framesadded", this._onFrames);
     this.activeThread.removeListener("framescleared", this._onFramesCleared);
     this.activeThread.removeListener("blackboxchange", this._onBlackBoxChange);
     this.activeThread.removeListener("prettyprintchange", this._onPrettyPrintChange);
     clearNamedTimeout("frames-cleared");
   },
 
   /**
    * Handles any initialization on a tab navigation event issued by the client.
    */
-  handleTabNavigation: function() {
+  handleTabNavigation: function () {
     dumpn("Handling tab navigation in the StackFrames");
     // Nothing to do here yet.
   },
 
   /**
    * Handler for the thread client's paused notification.
    *
    * @param string aEvent
    *        The name of the notification ("paused" in this case).
    * @param object aPacket
    *        The response packet.
    */
-  _onPaused: function(aEvent, aPacket) {
+  _onPaused: function (aEvent, aPacket) {
     switch (aPacket.why.type) {
       // If paused by a breakpoint, store the breakpoint location.
       case "breakpoint":
         this._currentBreakpointLocation = aPacket.frame.where;
         break;
       case "breakpointConditionThrown":
         this._currentBreakpointLocation = aPacket.frame.where;
         this._conditionThrowMessage = aPacket.why.message;
@@ -726,27 +726,27 @@ StackFrames.prototype = {
     if (!DebuggerController._toolbox.isSplitConsoleFocused()) {
       DebuggerView.editor.focus();
     }
   },
 
   /**
    * Handler for the thread client's resumed notification.
    */
-  _onResumed: function() {
+  _onResumed: function () {
     // Prepare the watch expression evaluation string for the next pause.
     if (this._currentFrameDescription != FRAME_TYPE.WATCH_EXPRESSIONS_EVAL) {
       this._currentWatchExpressions = this._syncedWatchExpressions;
     }
   },
 
   /**
    * Handler for the thread client's framesadded notification.
    */
-  _onFrames: Task.async(function*() {
+  _onFrames: Task.async(function* () {
     // Ignore useless notifications.
     if (!this.activeThread || !this.activeThread.cachedFrames.length) {
       return;
     }
     if (this._currentFrameDescription != FRAME_TYPE.NORMAL &&
         this._currentFrameDescription != FRAME_TYPE.PUBLIC_CLIENT_EVAL) {
       return;
     }
@@ -766,17 +766,17 @@ StackFrames.prototype = {
       this._currentFrameDescription = FRAME_TYPE.NORMAL;
     }
   }),
 
   /**
    * Fill the StackFrames view with the frames we have in the cache, compressing
    * frames which have black boxed sources into single frames.
    */
-  _refillFrames: function() {
+  _refillFrames: function () {
     // Make sure all the previous stackframes are removed before re-adding them.
     DebuggerView.StackFrames.empty();
 
     for (let frame of this.activeThread.cachedFrames) {
       let { depth, source, where: { line, column } } = frame;
 
       let isBlackBoxed = source ? this.activeThread.source(source).isBlackBoxed : false;
       DebuggerView.StackFrames.addFrame(frame, line, column, depth, isBlackBoxed);
@@ -788,17 +788,17 @@ StackFrames.prototype = {
     DebuggerView.StackFrames.addCopyContextMenu();
 
     window.emit(EVENTS.AFTER_FRAMES_REFILLED);
   },
 
   /**
    * Handler for the thread client's framescleared notification.
    */
-  _onFramesCleared: function() {
+  _onFramesCleared: function () {
     switch (this._currentFrameDescription) {
       case FRAME_TYPE.NORMAL:
         this._currentEvaluation = null;
         this._currentException = null;
         this._currentReturnedValue = null;
         break;
       case FRAME_TYPE.CONDITIONAL_BREAKPOINT_EVAL:
         this._currentBreakpointLocation = null;
@@ -813,44 +813,44 @@ StackFrames.prototype = {
     // this is not necessary, and will result in a brief redraw flicker.
     // To avoid it, invalidate the UI only after a short time if necessary.
     setNamedTimeout("frames-cleared", FRAME_STEP_CLEAR_DELAY, this._afterFramesCleared);
   },
 
   /**
    * Handler for the debugger's blackboxchange notification.
    */
-  _onBlackBoxChange: function() {
+  _onBlackBoxChange: function () {
     if (this.activeThread.state == "paused") {
       // Hack to avoid selecting the topmost frame after blackboxing a source.
       this.currentFrameDepth = NaN;
       this._refillFrames();
     }
   },
 
   /**
    * Handler for the debugger's prettyprintchange notification.
    */
-  _onPrettyPrintChange: function() {
+  _onPrettyPrintChange: function () {
     if (this.activeThread.state != "paused") {
       return;
     }
     // Makes sure the selected source remains selected
     // after the fillFrames is called.
     const source = DebuggerView.Sources.selectedValue;
 
     this.activeThread.fillFrames(CALL_STACK_PAGE_SIZE, () => {
       DebuggerView.Sources.selectedValue = source;
     });
   },
 
   /**
    * Called soon after the thread client's framescleared notification.
    */
-  _afterFramesCleared: function() {
+  _afterFramesCleared: function () {
     // Ignore useless notifications.
     if (this.activeThread.cachedFrames.length) {
       return;
     }
     DebuggerView.editor.clearDebugLocation();
     DebuggerView.StackFrames.empty();
     DebuggerView.Sources.unhighlightBreakpoint();
     DebuggerView.WatchExpressions.toggleContents(true);
@@ -861,17 +861,17 @@ StackFrames.prototype = {
 
   /**
    * Marks the stack frame at the specified depth as selected and updates the
    * properties view with the stack frame's data.
    *
    * @param number aDepth
    *        The depth of the frame in the stack.
    */
-  selectFrame: function(aDepth) {
+  selectFrame: function (aDepth) {
     // Make sure the frame at the specified depth exists first.
     let frame = this.activeThread.cachedFrames[this.currentFrameDepth = aDepth];
     if (!frame) {
       return;
     }
 
     // Check if the frame does not represent the evaluation of debuggee code.
     let { environment, where, source } = frame;
@@ -948,17 +948,17 @@ StackFrames.prototype = {
 
     // Signal that scope environments have been shown.
     window.emit(EVENTS.FETCHED_SCOPES);
   },
 
   /**
    * Loads more stack frames from the debugger server cache.
    */
-  addMoreFrames: function() {
+  addMoreFrames: function () {
     this.activeThread.fillFrames(
       this.activeThread.cachedFrames.length + CALL_STACK_PAGE_SIZE);
   },
 
   /**
    * Evaluate an expression in the context of the selected frame.
    *
    * @param string aExpression
@@ -967,17 +967,17 @@ StackFrames.prototype = {
    *        Additional options for this client evaluation:
    *          - depth: the frame depth used for evaluation, 0 being the topmost.
    *          - meta: some meta-description for what this evaluation represents.
    * @return object
    *         A promise that is resolved when the evaluation finishes,
    *         or rejected if there was no stack frame available or some
    *         other error occurred.
    */
-  evaluate: function(aExpression, aOptions = {}) {
+  evaluate: function (aExpression, aOptions = {}) {
     let depth = "depth" in aOptions ? aOptions.depth : this.currentFrameDepth;
     let frame = this.activeThread.cachedFrames[depth];
     if (frame == null) {
       return promise.reject(new Error("No stack frame available."));
     }
 
     let deferred = promise.defer();
 
@@ -1000,17 +1000,17 @@ StackFrames.prototype = {
   /**
    * Add nodes for special frame references in the innermost scope.
    *
    * @param Scope aScope
    *        The scope where the references will be placed into.
    * @param object aFrame
    *        The frame to get some references from.
    */
-  _insertScopeFrameReferences: function(aScope, aFrame) {
+  _insertScopeFrameReferences: function (aScope, aFrame) {
     // Add any thrown exception.
     if (this._currentException) {
       let excRef = aScope.addItem("<exception>", { value: this._currentException },
                                   { internalItem: true });
       DebuggerView.Variables.controller.addExpander(excRef, this._currentException);
     }
     // Add any returned value.
     if (this._currentReturnedValue) {
@@ -1035,17 +1035,17 @@ StackFrames.prototype = {
    * server code in production is updated with it.
    * TODO: remove all of this deprecated code: Bug 990137.
    *
    * @return object
    *         A promise that is resolved after a potential breakpoint's
    *         conditional expression is evaluated. If there's no breakpoint
    *         where the debugger is paused, the promise is resolved immediately.
    */
-  _handleConditionalBreakpoint: Task.async(function*() {
+  _handleConditionalBreakpoint: Task.async(function* () {
     if (gClient.mainRoot.traits.conditionalBreakpoints) {
       return;
     }
     let breakLocation = this._currentBreakpointLocation;
     if (!breakLocation) {
       return;
     }
 
@@ -1077,17 +1077,17 @@ StackFrames.prototype = {
    * Handles watch expressions when the debugger pauses and the stackframes
    * are received.
    *
    * @return object
    *         A promise that is resolved after the potential watch expressions
    *         are evaluated. If there are no watch expressions where the debugger
    *         is paused, the promise is resolved immediately.
    */
-  _handleWatchExpressions: Task.async(function*() {
+  _handleWatchExpressions: Task.async(function* () {
     // Ignore useless notifications.
     if (!this.activeThread || !this.activeThread.cachedFrames.length) {
       return;
     }
 
     let watchExpressions = this._currentWatchExpressions;
     if (!watchExpressions) {
       return;
@@ -1112,17 +1112,17 @@ StackFrames.prototype = {
   /**
    * Adds the watch expressions evaluation results to a scope in the view.
    *
    * @param Scope aScope
    *        The scope where the watch expressions will be placed into.
    * @param object aExp
    *        The grip of the evaluation results.
    */
-  _fetchWatchExpressions: function(aScope, aExp) {
+  _fetchWatchExpressions: function (aScope, aExp) {
     // Fetch the expressions only once.
     if (aScope._fetched) {
       return;
     }
     aScope._fetched = true;
 
     // Add nodes for every watch expression in scope.
     this.activeThread.pauseGrip(aExp).getPrototypeAndProperties(aResponse => {
@@ -1147,17 +1147,17 @@ StackFrames.prototype = {
       window.emit(EVENTS.FETCHED_WATCH_EXPRESSIONS);
     });
   },
 
   /**
    * Updates a list of watch expressions to evaluate on each pause.
    * TODO: handle all of this server-side: Bug 832470, comment 14.
    */
-  syncWatchExpressions: function() {
+  syncWatchExpressions: function () {
     let list = DebuggerView.WatchExpressions.getAllStrings();
 
     // Sanity check all watch expressions before syncing them. To avoid
     // having the whole watch expressions array throw because of a single
     // faulty expression, simply convert it to a string describing the error.
     // There's no other information necessary to be offered in such cases.
     let sanitizedExpressions = list.map(aString => {
       // Reflect.parse throws when it encounters a syntax error.
@@ -1230,41 +1230,41 @@ DebuggerController.Workers = new Workers
 DebuggerController.ThreadState = new ThreadState();
 DebuggerController.StackFrames = new StackFrames();
 
 /**
  * Export some properties to the global scope for easier access.
  */
 Object.defineProperties(window, {
   "gTarget": {
-    get: function() {
+    get: function () {
       return DebuggerController._target;
     },
     configurable: true
   },
   "gHostType": {
-    get: function() {
+    get: function () {
       return DebuggerView._hostType;
     },
     configurable: true
   },
   "gClient": {
-    get: function() {
+    get: function () {
       return DebuggerController.client;
     },
     configurable: true
   },
   "gThreadClient": {
-    get: function() {
+    get: function () {
       return DebuggerController.activeThread;
     },
     configurable: true
   },
   "gCallStackPageSize": {
-    get: function() {
+    get: function () {
       return CALL_STACK_PAGE_SIZE;
     },
     configurable: true
   }
 });
 
 /**
  * Helper method for debugging.
--- a/devtools/client/debugger/debugger-view.js
+++ b/devtools/client/debugger/debugger-view.js
@@ -23,27 +23,27 @@ const SEARCH_TOKEN_FLAG = "#";
 const SEARCH_LINE_FLAG = ":";
 const SEARCH_VARIABLE_FLAG = "*";
 const SEARCH_AUTOFILL = [SEARCH_GLOBAL_FLAG, SEARCH_FUNCTION_FLAG, SEARCH_TOKEN_FLAG];
 const TOOLBAR_ORDER_POPUP_POSITION = "topcenter bottomleft";
 const RESIZE_REFRESH_RATE = 50; // ms
 const PROMISE_DEBUGGER_URL =
   "chrome://devtools/content/promisedebugger/promise-debugger.xhtml";
 
-const EventListenersView = require('./content/views/event-listeners-view');
-const SourcesView = require('./content/views/sources-view');
+const EventListenersView = require("./content/views/event-listeners-view");
+const SourcesView = require("./content/views/sources-view");
 var actions = Object.assign(
   {},
-  require('./content/globalActions'),
-  require('./content/actions/breakpoints'),
-  require('./content/actions/sources'),
-  require('./content/actions/event-listeners')
+  require("./content/globalActions"),
+  require("./content/actions/breakpoints"),
+  require("./content/actions/sources"),
+  require("./content/actions/event-listeners")
 );
-var queries = require('./content/queries');
-var constants = require('./content/constants');
+var queries = require("./content/queries");
+var constants = require("./content/constants");
 
 /**
  * Object defining the debugger view components.
  */
 var DebuggerView = {
 
   /**
    * This is attached so tests can change it without needing to load an
@@ -52,17 +52,17 @@ var DebuggerView = {
   LARGE_FILE_SIZE: 1048576, // 1 MB in bytes
 
   /**
    * Initializes the debugger view.
    *
    * @return object
    *         A promise that is resolved when the view finishes initializing.
    */
-  initialize: function() {
+  initialize: function () {
     if (this._startup) {
       return this._startup;
     }
     const deferred = promise.defer();
     this._startup = deferred.promise;
 
     this._initializePanes();
     this._initializeEditor(deferred.resolve);
@@ -115,17 +115,17 @@ var DebuggerView = {
   },
 
   /**
    * Destroys the debugger view.
    *
    * @return object
    *         A promise that is resolved when the view finishes destroying.
    */
-  destroy: function() {
+  destroy: function () {
     if (this._hasShutdown) {
       return;
     }
     this._hasShutdown = true;
 
     window.removeEventListener("resize", this._onResize, false);
     this.editor.off("cursorActivity", this.Sources._onEditorCursorActivity);
 
@@ -146,17 +146,17 @@ var DebuggerView = {
     this.editor = null;
 
     this.controller.dispatch(actions.removeAllBreakpoints());
   },
 
   /**
    * Initializes the UI for all the displayed panes.
    */
-  _initializePanes: function() {
+  _initializePanes: function () {
     dumpn("Initializing the DebuggerView panes");
 
     this._body = document.getElementById("body");
     this._editorDeck = document.getElementById("editor-deck");
     this._workersAndSourcesPane = document.getElementById("workers-and-sources-pane");
     this._instrumentsPane = document.getElementById("instruments-pane");
     this._instrumentsPaneToggleButton = document.getElementById("instruments-pane-toggle");
     this._promisePane = document.getElementById("promise-debugger-pane");
@@ -179,34 +179,34 @@ var DebuggerView = {
 
     this._onResize = this._onResize.bind(this);
     window.addEventListener("resize", this._onResize, false);
   },
 
   /**
    * Destroys the UI for all the displayed panes.
    */
-  _destroyPanes: function() {
+  _destroyPanes: function () {
     dumpn("Destroying the DebuggerView panes");
 
     if (gHostType != "side") {
       Prefs.workersAndSourcesWidth = this._workersAndSourcesPane.getAttribute("width");
       Prefs.instrumentsWidth = this._instrumentsPane.getAttribute("width");
     }
 
     this._workersAndSourcesPane = null;
     this._instrumentsPane = null;
     this._instrumentsPaneToggleButton = null;
     this._promisePane = null;
   },
 
   /**
    * Initializes the VariablesView instance and attaches a controller.
    */
-  _initializeVariablesView: function() {
+  _initializeVariablesView: function () {
     this.Variables = new VariablesView(document.getElementById("variables"), {
       searchPlaceholder: L10N.getStr("emptyVariablesFilterText"),
       emptyText: L10N.getStr("emptyVariablesText"),
       onlyEnumVisible: Prefs.variablesOnlyEnumVisible,
       searchEnabled: Prefs.variablesSearchboxVisible,
       eval: (variable, value) => {
         let string = variable.evaluationMacro(variable, value);
         DebuggerController.StackFrames.evaluate(string);
@@ -217,17 +217,17 @@ var DebuggerView = {
     // Attach the current toolbox to the VView so it can link DOMNodes to
     // the inspector/highlighter
     this.Variables.toolbox = DebuggerController._toolbox;
 
     // Attach a controller that handles interfacing with the debugger protocol.
     VariablesViewController.attach(this.Variables, {
       getEnvironmentClient: aObject => gThreadClient.environment(aObject),
       getObjectClient: aObject => {
-        return gThreadClient.pauseGrip(aObject)
+        return gThreadClient.pauseGrip(aObject);
       }
     });
 
     // Relay events from the VariablesView.
     this.Variables.on("fetched", (aEvent, aType) => {
       switch (aType) {
         case "scopes":
           window.emit(EVENTS.FETCHED_SCOPES);
@@ -240,17 +240,17 @@ var DebuggerView = {
           break;
       }
     });
   },
 
   /**
    * Initialie the Promise Debugger instance.
    */
-  _initializePromiseDebugger: function() {
+  _initializePromiseDebugger: function () {
     let iframe = this._promiseDebuggerIframe = document.createElement("iframe");
     iframe.setAttribute("flex", 1);
 
     let onLoad = (event) => {
       iframe.removeEventListener("load", onLoad, true);
 
       let doc = event.target;
       let win = doc.defaultView;
@@ -261,34 +261,34 @@ var DebuggerView = {
     iframe.addEventListener("load", onLoad, true);
     iframe.setAttribute("src", PROMISE_DEBUGGER_URL);
     this._promisePane.appendChild(iframe);
   },
 
   /**
    * Destroy the Promise Debugger instance.
    */
-  _destroyPromiseDebugger: function() {
+  _destroyPromiseDebugger: function () {
     if (this._promiseDebuggerIframe) {
       this._promiseDebuggerIframe.contentWindow.destroy();
 
       this._promiseDebuggerIframe.parentNode.removeChild(
         this._promiseDebuggerIframe);
 
       this._promiseDebuggerIframe = null;
     }
   },
 
   /**
    * Initializes the Editor instance.
    *
    * @param function aCallback
    *        Called after the editor finishes initializing.
    */
-  _initializeEditor: function(callback) {
+  _initializeEditor: function (callback) {
     dumpn("Initializing the DebuggerView editor");
 
     let extraKeys = {};
     bindKey("_doTokenSearch", "tokenSearchKey");
     bindKey("_doGlobalSearch", "globalSearchKey", { alt: true });
     bindKey("_doFunctionSearch", "functionSearchKey");
     extraKeys[Editor.keyFor("jumpToLine")] = false;
     extraKeys["Esc"] = false;
@@ -337,31 +337,31 @@ var DebuggerView = {
       }
     });
 
     this.editor.on("cursorActivity", () => {
       this.clickedLine = null;
     });
   },
 
-  updateEditorBreakpoints: function(source) {
+  updateEditorBreakpoints: function (source) {
     const breakpoints = queries.getBreakpoints(this.controller.getState());
     const sources = queries.getSources(this.controller.getState());
 
     for (let bp of breakpoints) {
       if (sources[bp.location.actor] && !bp.disabled) {
         this.addEditorBreakpoint(bp);
       }
       else {
         this.removeEditorBreakpoint(bp);
       }
     }
   },
 
-  addEditorBreakpoint: function(breakpoint) {
+  addEditorBreakpoint: function (breakpoint) {
     const { location, condition } = breakpoint;
     const source = queries.getSelectedSource(this.controller.getState());
 
     if (source &&
        source.actor === location.actor &&
        !breakpoint.disabled) {
       this.editor.addBreakpoint(location.line - 1, condition);
     }
@@ -388,48 +388,48 @@ var DebuggerView = {
         this.editor.removeBreakpointCondition(location.line - 1);
       }
     }
   },
 
   /**
    * Display the source editor.
    */
-  showEditor: function() {
+  showEditor: function () {
     this._editorDeck.selectedIndex = 0;
   },
 
   /**
    * Display the black box message.
    */
-  showBlackBoxMessage: function() {
+  showBlackBoxMessage: function () {
     this._editorDeck.selectedIndex = 1;
   },
 
   /**
    * Display the progress bar.
    */
-  showProgressBar: function() {
+  showProgressBar: function () {
     this._editorDeck.selectedIndex = 2;
   },
 
   /**
    * Sets the currently displayed text contents in the source editor.
    * This resets the mode and undo stack.
    *
    * @param string documentKey
    *        Key to get the correct editor document
    *
    * @param string aTextContent
    *        The source text content.
    *
    * @param boolean shouldUpdateText
             Forces a text and mode reset
    */
-  _setEditorText: function(documentKey, aTextContent = "", shouldUpdateText = false) {
+  _setEditorText: function (documentKey, aTextContent = "", shouldUpdateText = false) {
     const isNew = this._setEditorDocument(documentKey);
 
     this.editor.clearDebugLocation();
     this.editor.clearHistory();
     this.editor.removeBreakpoints();
 
     // Only set editor's text and mode if it is a new document
     if (isNew || shouldUpdateText) {
@@ -444,17 +444,17 @@ var DebuggerView = {
    *
    * @param string aUrl
    *        The source url.
    * @param string aContentType [optional]
    *        The source content type.
    * @param string aTextContent [optional]
    *        The source text content.
    */
-  _setEditorMode: function(aUrl, aContentType = "", aTextContent = "") {
+  _setEditorMode: function (aUrl, aContentType = "", aTextContent = "") {
     // Use JS mode for files with .js and .jsm extensions.
     if (SourceUtils.isJavaScript(aUrl, aContentType)) {
       return void this.editor.setMode(Editor.modes.js);
     }
 
     // Use HTML mode for files in which the first non whitespace character is
     // &lt;, regardless of extension.
     if (aTextContent.match(/^\s*</)) {
@@ -468,54 +468,54 @@ var DebuggerView = {
   /**
    * Sets the editor's displayed document.
    * If there isn't a document for the source, create one
    *
    * @param string key - key used to access the editor document cache
    *
    * @return boolean isNew - was the document just created
    */
-  _setEditorDocument: function(key) {
+  _setEditorDocument: function (key) {
     let isNew;
 
     if (!this._editorDocuments[key]) {
       isNew = true;
       this._editorDocuments[key] = this.editor.createDocument();
     } else {
       isNew = false;
     }
 
     const doc = this._editorDocuments[key];
     this.editor.replaceDocument(doc);
     return isNew;
   },
 
-  renderBlackBoxed: function(source) {
+  renderBlackBoxed: function (source) {
     this._renderSourceText(
       source,
       queries.getSourceText(this.controller.getState(), source.actor)
     );
   },
 
-  renderPrettyPrinted: function(source) {
+  renderPrettyPrinted: function (source) {
     this._renderSourceText(
       source,
       queries.getSourceText(this.controller.getState(), source.actor)
     );
   },
 
-  renderSourceText: function(source) {
+  renderSourceText: function (source) {
     this._renderSourceText(
       source,
       queries.getSourceText(this.controller.getState(), source.actor),
       queries.getSelectedSourceOpts(this.controller.getState())
     );
   },
 
-  _renderSourceText: function(source, textInfo, opts = {}) {
+  _renderSourceText: function (source, textInfo, opts = {}) {
     const selectedSource = queries.getSelectedSource(this.controller.getState());
 
     // Exit early if we're attempting to render an unselected source
     if (!selectedSource || selectedSource.actor !== source.actor) {
       return;
     }
 
     if (source.isBlackBoxed) {
@@ -528,33 +528,33 @@ var DebuggerView = {
     else {
       this.showEditor();
     }
 
     if (textInfo.loading) {
       // TODO: bug 1228866, we need to update `_editorSource` here but
       // still make the editor be updated when the full text comes
       // through somehow.
-      this._setEditorText('loading', L10N.getStr("loadingText"));
+      this._setEditorText("loading", L10N.getStr("loadingText"));
       return;
     }
     else if (textInfo.error) {
       let msg = L10N.getFormatStr("errorLoadingText2", textInfo.error);
-      this._setEditorText('error', msg);
+      this._setEditorText("error", msg);
       console.error(new Error(msg));
       dumpn(msg);
 
       this.showEditor();
       window.emit(EVENTS.SOURCE_ERROR_SHOWN, source);
       return;
     }
 
     // If the line is not specified, default to the current frame's position,
     // if available and the frame's url corresponds to the requested url.
-    if (!('line' in opts)) {
+    if (!("line" in opts)) {
       let cachedFrames = DebuggerController.activeThread.cachedFrames;
       let currentDepth = DebuggerController.StackFrames.currentFrameDepth;
       let frame = cachedFrames[currentDepth];
       if (frame && frame.source.actor == source.actor) {
         opts.line = frame.where.line;
       }
     }
 
@@ -579,17 +579,17 @@ var DebuggerView = {
 
     setTimeout(() => {
       window.emit(EVENTS.SOURCE_SHOWN, source);
     }, 0);
 
     this.updateEditorPosition(opts);
   },
 
-  updateEditorPosition: function(opts) {
+  updateEditorPosition: function (opts) {
     let line = opts.line || 0;
 
     // Line numbers in the source editor should start from 1. If
     // invalid or not specified, then don't do anything.
     if (line < 1) {
       window.emit(EVENTS.EDITOR_LOCATION_SET);
       return;
     }
@@ -626,17 +626,17 @@ var DebuggerView = {
    *          - noCaret: don't set the caret location at the specified line
    *          - noDebug: don't set the debug location at the specified line
    *          - align: string specifying whether to align the specified line
    *                   at the "top", "center" or "bottom" of the editor
    *          - force: boolean forcing all text to be reshown in the editor
    * @return object
    *         A promise that is resolved after the source text has been set.
    */
-  setEditorLocation: function(aActor, aLine, aFlags = {}) {
+  setEditorLocation: function (aActor, aLine, aFlags = {}) {
     // Avoid trying to set a source for a url that isn't known yet.
     if (!this.Sources.containsValue(aActor)) {
       throw new Error("Unknown source for the specified URL.");
     }
 
     let sourceItem = this.Sources.getItemByValue(aActor);
     let source = sourceItem.attachment.source;
 
@@ -677,17 +677,17 @@ var DebuggerView = {
    *        An object containing some of the following properties:
    *        - visible: true if the pane should be shown, false to hide
    *        - animated: true to display an animation on toggle
    *        - delayed: true to wait a few cycles before toggle
    *        - callback: a function to invoke when the toggle finishes
    * @param number aTabIndex [optional]
    *        The index of the intended selected tab in the details pane.
    */
-  toggleInstrumentsPane: function(aFlags, aTabIndex) {
+  toggleInstrumentsPane: function (aFlags, aTabIndex) {
     let pane = this._instrumentsPane;
     let button = this._instrumentsPaneToggleButton;
 
     ViewHelpers.togglePane(aFlags, pane);
 
     if (aFlags.visible) {
       button.removeAttribute("pane-collapsed");
       button.setAttribute("tooltiptext", this._collapsePaneString);
@@ -702,82 +702,82 @@ var DebuggerView = {
   },
 
   /**
    * Sets the instruments pane visible after a short period of time.
    *
    * @param function aCallback
    *        A function to invoke when the toggle finishes.
    */
-  showInstrumentsPane: function(aCallback) {
+  showInstrumentsPane: function (aCallback) {
     DebuggerView.toggleInstrumentsPane({
       visible: true,
       animated: true,
       delayed: true,
       callback: aCallback
     }, 0);
   },
 
   /**
    * Handles a tab selection event on the instruments pane.
    */
-  _onInstrumentsPaneTabSelect: function() {
+  _onInstrumentsPaneTabSelect: function () {
     if (this._instrumentsPane.selectedTab.id == "events-tab") {
       this.controller.dispatch(actions.fetchEventListeners());
     }
   },
 
   /**
    * Handles a host change event issued by the parent toolbox.
    *
    * @param string aType
    *        The host type, either "bottom", "side" or "window".
    */
-  handleHostChanged: function(hostType) {
+  handleHostChanged: function (hostType) {
     this._hostType = hostType;
     this.updateLayoutMode();
   },
 
   /**
    * Resize handler for this container's window.
    */
   _onResize: function (evt) {
     // Allow requests to settle down first.
     setNamedTimeout(
       "resize-events", RESIZE_REFRESH_RATE, () => this.updateLayoutMode());
   },
 
   /**
    * Set the layout to "vertical" or "horizontal" depending on the host type.
    */
-  updateLayoutMode: function() {
+  updateLayoutMode: function () {
     if (this._isSmallWindowHost() || this._hostType == "side") {
       this._setLayoutMode("vertical");
     } else {
       this._setLayoutMode("horizontal");
     }
   },
 
   /**
    * Check if the current host is in window mode and is
    * too small for horizontal layout
    */
-  _isSmallWindowHost: function() {
+  _isSmallWindowHost: function () {
     if (this._hostType != "window") {
       return false;
     }
 
     return window.outerWidth <= BREAKPOINT_SMALL_WINDOW_WIDTH;
   },
 
   /**
    * Enter the provided layoutMode. Do nothing if the layout is the same as the current one.
    * @param {String} layoutMode new layout ("vertical" or "horizontal")
    */
-  _setLayoutMode: function(layoutMode) {
+  _setLayoutMode: function (layoutMode) {
     if (this._body.getAttribute("layout") == layoutMode) {
       return;
     }
 
     if (layoutMode == "vertical") {
       this._enterVerticalLayout();
     } else {
       this._enterHorizontalLayout();
@@ -785,34 +785,34 @@ var DebuggerView = {
 
     this._body.setAttribute("layout", layoutMode);
     window.emit(EVENTS.LAYOUT_CHANGED, layoutMode);
   },
 
   /**
    * Switches the debugger widgets to a vertical layout.
    */
-  _enterVerticalLayout: function() {
+  _enterVerticalLayout: function () {
     let vertContainer = document.getElementById("vertical-layout-panes-container");
 
     // Move the soruces and instruments panes in a different container.
     let splitter = document.getElementById("sources-and-instruments-splitter");
     vertContainer.insertBefore(this._workersAndSourcesPane, splitter);
     vertContainer.appendChild(this._instrumentsPane);
 
     // Make sure the vertical layout container's height doesn't repeatedly
     // grow or shrink based on the displayed sources, variables etc.
     vertContainer.setAttribute("height",
       vertContainer.getBoundingClientRect().height);
   },
 
   /**
    * Switches the debugger widgets to a horizontal layout.
    */
-  _enterHorizontalLayout: function() {
+  _enterHorizontalLayout: function () {
     let normContainer = document.getElementById("debugger-widgets");
     let editorPane = document.getElementById("editor-and-instruments-pane");
 
     // The sources and instruments pane need to be inserted at their
     // previous locations in their normal container.
     let splitter = document.getElementById("sources-and-editor-splitter");
     normContainer.insertBefore(this._workersAndSourcesPane, splitter);
     editorPane.appendChild(this._instrumentsPane);
@@ -821,17 +821,17 @@ var DebuggerView = {
     // they flexed in the vertical layout.
     this._workersAndSourcesPane.setAttribute("width", Prefs.workersAndSourcesWidth);
     this._instrumentsPane.setAttribute("width", Prefs.instrumentsWidth);
   },
 
   /**
    * Handles any initialization on a tab navigation event issued by the client.
    */
-  handleTabNavigation: function() {
+  handleTabNavigation: function () {
     dumpn("Handling tab navigation in the DebuggerView");
     this.Filtering.clearSearch();
     this.GlobalSearch.clearView();
     this.StackFrames.empty();
     this.Sources.empty();
     this.Variables.empty();
     this.EventListeners.empty();
 
@@ -935,38 +935,38 @@ ResultsPanelContainer.prototype = Herita
   get hidden() {
     return this._panel.state == "closed" ||
            this._panel.state == "hiding";
   },
 
   /**
    * Removes all items from this container and hides it.
    */
-  clearView: function() {
+  clearView: function () {
     this.hidden = true;
     this.empty();
   },
 
   /**
    * Selects the next found item in this container.
    * Does not change the currently focused node.
    */
-  selectNext: function() {
+  selectNext: function () {
     let nextIndex = this.selectedIndex + 1;
     if (nextIndex >= this.itemCount) {
       nextIndex = 0;
     }
     this.selectedItem = this.getItemAtIndex(nextIndex);
   },
 
   /**
    * Selects the previously found item in this container.
    * Does not change the currently focused node.
    */
-  selectPrev: function() {
+  selectPrev: function () {
     let prevIndex = this.selectedIndex - 1;
     if (prevIndex < 0) {
       prevIndex = this.itemCount - 1;
     }
     this.selectedItem = this.getItemAtIndex(prevIndex);
   },
 
   /**
@@ -974,17 +974,17 @@ ResultsPanelContainer.prototype = Herita
    *
    * @param string aLabel
    *        The item's label string.
    * @param string aBeforeLabel
    *        An optional string shown before the label.
    * @param string aBelowLabel
    *        An optional string shown underneath the label.
    */
-  _createItemView: function(aLabel, aBelowLabel, aBeforeLabel) {
+  _createItemView: function (aLabel, aBelowLabel, aBeforeLabel) {
     let container = document.createElement("vbox");
     container.className = "results-panel-item";
 
     let firstRowLabels = document.createElement("hbox");
     let secondRowLabels = document.createElement("hbox");
 
     if (aBeforeLabel) {
       let beforeLabelNode = document.createElement("label");
--- a/devtools/client/debugger/panel.js
+++ b/devtools/client/debugger/panel.js
@@ -29,25 +29,25 @@ exports.DebuggerPanel = DebuggerPanel;
 
 DebuggerPanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor.
    *
    * @return object
    *         A promise that is resolved when the Debugger completes opening.
    */
-  open: function() {
+  open: function () {
     let targetPromise;
 
     // Local debugging needs to make the target remote.
     if (!this.target.isRemote) {
       targetPromise = this.target.makeRemote();
       // Listen for tab switching events to manage focus when the content window
       // is paused and events suppressed.
-      this.target.tab.addEventListener('TabSelect', this);
+      this.target.tab.addEventListener("TabSelect", this);
     } else {
       targetPromise = promise.resolve(this.target);
     }
 
     return targetPromise
       .then(() => this._controller.startupDebugger())
       .then(() => this._controller.connect())
       .then(() => {
@@ -71,59 +71,59 @@ DebuggerPanel.prototype = {
   },
 
   // DevToolPanel API
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: function() {
+  destroy: function () {
     // Make sure this panel is not already destroyed.
     if (this._destroyer) {
       return this._destroyer;
     }
 
     if (!this.target.isRemote) {
-      this.target.tab.removeEventListener('TabSelect', this);
+      this.target.tab.removeEventListener("TabSelect", this);
     }
 
     return this._destroyer = this._controller.shutdownDebugger().then(() => {
       this.emit("destroyed");
     });
   },
 
   // DebuggerPanel API
 
-  addBreakpoint: function(location) {
+  addBreakpoint: function (location) {
     const { actions } = this.panelWin;
-    const { dispatch } =  this._controller;
+    const { dispatch } = this._controller;
 
     return dispatch(actions.addBreakpoint(location));
   },
 
-  removeBreakpoint: function(location) {
+  removeBreakpoint: function (location) {
     const { actions } = this.panelWin;
-    const { dispatch } =  this._controller;
+    const { dispatch } = this._controller;
 
     return dispatch(actions.removeBreakpoint(location));
   },
 
-  blackbox: function(source, flag) {
+  blackbox: function (source, flag) {
     const { actions } = this.panelWin;
-    const { dispatch } =  this._controller;
-    return dispatch(actions.blackbox(source, flag))
+    const { dispatch } = this._controller;
+    return dispatch(actions.blackbox(source, flag));
   },
 
-  handleHostChanged: function() {
+  handleHostChanged: function () {
     this._view.handleHostChanged(this._toolbox.hostType);
   },
 
   // nsIDOMEventListener API
 
-  handleEvent: function(aEvent) {
+  handleEvent: function (aEvent) {
     if (aEvent.target == this.target.tab &&
         this._controller.activeThread.state == "paused") {
       // Wait a tick for the content focus event to be delivered.
       DevToolsUtils.executeSoon(() => this._toolbox.focusTool("jsdebugger"));
     }
   }
 };
--- a/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul.js
+++ b/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul.js
@@ -1,4 +1,4 @@
 // Define something in here or the script may get collected
-window.addEventListener("unload", function() {
+window.addEventListener("unload", function () {
   window.foo = "bar";
 });
--- a/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul2.js
+++ b/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/testxul2.js
@@ -1,4 +1,4 @@
 // Define something in here or the script may get collected
-window.addEventListener("unload", function() {
+window.addEventListener("unload", function () {
   window.foo = "bar";
 });
--- a/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul.js
+++ b/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul.js
@@ -1,4 +1,4 @@
 // Define something in here or the script may get collected
-window.addEventListener("unload", function() {
+window.addEventListener("unload", function () {
   window.foo = "bar";
 });
--- a/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul2.js
+++ b/devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon5/testxul2.js
@@ -1,4 +1,4 @@
 // Define something in here or the script may get collected
-window.addEventListener("unload", function() {
+window.addEventListener("unload", function () {
   window.foo = "bar";
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-console.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-console.js
@@ -15,17 +15,17 @@ function getCachedMessages(webConsole) {
       return;
     }
     deferred.resolve(aResponse.messages);
   });
   return deferred.promise;
 }
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let addon = yield addAddon(ADDON_URL);
     let addonDebugger = yield initAddonDebugger(ADDON_URL);
 
     let webConsole = addonDebugger.webConsole;
     let messages = yield getCachedMessages(webConsole);
     is(messages.length, 1, "Should be one cached message");
     is(messages[0].arguments[0].type, "object", "Should have logged an object");
     is(messages[0].arguments[0].preview.ownProperties.msg.value, "Hello from the test add-on", "Should have got the right message");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-modules-unpacked.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-modules-unpacked.js
@@ -3,61 +3,61 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Make sure the add-on actor can see loaded JS Modules from an add-on
 
 const ADDON_URL = EXAMPLE_URL + "addon5.xpi";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let addon = yield addAddon(ADDON_URL);
     let tab1 = yield addTab("chrome://browser_dbg_addon5/content/test.xul");
 
     let addonDebugger = yield initAddonDebugger(ADDON_URL);
 
     is(addonDebugger.title, `Developer Tools - Test unpacked add-on with JS Modules - ${ADDON_URL}`,
        "Saw the right toolbox title.");
 
     // Check the inital list of sources is correct
     let groups = yield addonDebugger.getSourceGroups();
     is(groups[0].name, "browser_dbg_addon5@tests.mozilla.org", "Add-on code should be the first group");
     is(groups[1].name, "chrome://global", "XUL code should be the second group");
     is(groups.length, 2, "Should be only two groups.");
 
     let sources = groups[0].sources;
     is(sources.length, 3, "Should be three sources");
-    ok(sources[0].url.endsWith("/browser_dbg_addon5@tests.mozilla.org/bootstrap.js"), "correct url for bootstrap code")
-    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code")
-    is(sources[1].url, "resource://browser_dbg_addon5/test.jsm", "correct url for addon code")
-    is(sources[1].label, "test.jsm", "correct label for addon code")
-    is(sources[2].url, "chrome://browser_dbg_addon5/content/testxul.js", "correct url for addon tab code")
-    is(sources[2].label, "testxul.js", "correct label for addon tab code")
+    ok(sources[0].url.endsWith("/browser_dbg_addon5@tests.mozilla.org/bootstrap.js"), "correct url for bootstrap code");
+    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code");
+    is(sources[1].url, "resource://browser_dbg_addon5/test.jsm", "correct url for addon code");
+    is(sources[1].label, "test.jsm", "correct label for addon code");
+    is(sources[2].url, "chrome://browser_dbg_addon5/content/testxul.js", "correct url for addon tab code");
+    is(sources[2].label, "testxul.js", "correct label for addon tab code");
 
     // Load a new module and tab and check they appear in the list of sources
     Cu.import("resource://browser_dbg_addon5/test2.jsm", {});
     let tab2 = yield addTab("chrome://browser_dbg_addon5/content/test2.xul");
 
     groups = yield addonDebugger.getSourceGroups();
     is(groups[0].name, "browser_dbg_addon5@tests.mozilla.org", "Add-on code should be the first group");
     is(groups[1].name, "chrome://global", "XUL code should be the second group");
     is(groups.length, 2, "Should be only two groups.");
 
     sources = groups[0].sources;
     is(sources.length, 5, "Should be five sources");
-    ok(sources[0].url.endsWith("/browser_dbg_addon5@tests.mozilla.org/bootstrap.js"), "correct url for bootstrap code")
-    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code")
-    is(sources[1].url, "resource://browser_dbg_addon5/test.jsm", "correct url for addon code")
-    is(sources[1].label, "test.jsm", "correct label for addon code")
-    is(sources[2].url, "chrome://browser_dbg_addon5/content/testxul.js", "correct url for addon tab code")
-    is(sources[2].label, "testxul.js", "correct label for addon tab code")
-    is(sources[3].url, "resource://browser_dbg_addon5/test2.jsm", "correct url for addon code")
-    is(sources[3].label, "test2.jsm", "correct label for addon code")
-    is(sources[4].url, "chrome://browser_dbg_addon5/content/testxul2.js", "correct url for addon tab code")
-    is(sources[4].label, "testxul2.js", "correct label for addon tab code")
+    ok(sources[0].url.endsWith("/browser_dbg_addon5@tests.mozilla.org/bootstrap.js"), "correct url for bootstrap code");
+    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code");
+    is(sources[1].url, "resource://browser_dbg_addon5/test.jsm", "correct url for addon code");
+    is(sources[1].label, "test.jsm", "correct label for addon code");
+    is(sources[2].url, "chrome://browser_dbg_addon5/content/testxul.js", "correct url for addon tab code");
+    is(sources[2].label, "testxul.js", "correct label for addon tab code");
+    is(sources[3].url, "resource://browser_dbg_addon5/test2.jsm", "correct url for addon code");
+    is(sources[3].label, "test2.jsm", "correct label for addon code");
+    is(sources[4].url, "chrome://browser_dbg_addon5/content/testxul2.js", "correct url for addon tab code");
+    is(sources[4].label, "testxul2.js", "correct label for addon tab code");
 
     Cu.unload("resource://browser_dbg_addon5/test2.jsm");
     yield addonDebugger.destroy();
     yield removeTab(tab1);
     yield removeTab(tab2);
     yield removeAddon(addon);
     finish();
   });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-modules.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-modules.js
@@ -3,61 +3,61 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Make sure the add-on actor can see loaded JS Modules from an add-on
 
 const ADDON_URL = EXAMPLE_URL + "addon4.xpi";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let addon = yield addAddon(ADDON_URL);
     let tab1 = yield addTab("chrome://browser_dbg_addon4/content/test.xul");
 
     let addonDebugger = yield initAddonDebugger(ADDON_URL);
 
     is(addonDebugger.title, `Developer Tools - Test add-on with JS Modules - ${ADDON_URL}`,
        "Saw the right toolbox title.");
 
     // Check the inital list of sources is correct
     let groups = yield addonDebugger.getSourceGroups();
     is(groups[0].name, "browser_dbg_addon4@tests.mozilla.org", "Add-on code should be the first group");
     is(groups[1].name, "chrome://global", "XUL code should be the second group");
     is(groups.length, 2, "Should be only two groups.");
 
     let sources = groups[0].sources;
     is(sources.length, 3, "Should be three sources");
-    ok(sources[0].url.endsWith("/browser_dbg_addon4@tests.mozilla.org.xpi!/bootstrap.js"), "correct url for bootstrap code")
-    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code")
-    is(sources[1].url, "resource://browser_dbg_addon4/test.jsm", "correct url for addon code")
-    is(sources[1].label, "test.jsm", "correct label for addon code")
-    is(sources[2].url, "chrome://browser_dbg_addon4/content/testxul.js", "correct url for addon tab code")
-    is(sources[2].label, "testxul.js", "correct label for addon tab code")
+    ok(sources[0].url.endsWith("/browser_dbg_addon4@tests.mozilla.org.xpi!/bootstrap.js"), "correct url for bootstrap code");
+    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code");
+    is(sources[1].url, "resource://browser_dbg_addon4/test.jsm", "correct url for addon code");
+    is(sources[1].label, "test.jsm", "correct label for addon code");
+    is(sources[2].url, "chrome://browser_dbg_addon4/content/testxul.js", "correct url for addon tab code");
+    is(sources[2].label, "testxul.js", "correct label for addon tab code");
 
     // Load a new module and tab and check they appear in the list of sources
     Cu.import("resource://browser_dbg_addon4/test2.jsm", {});
     let tab2 = yield addTab("chrome://browser_dbg_addon4/content/test2.xul");
 
     groups = yield addonDebugger.getSourceGroups();
     is(groups[0].name, "browser_dbg_addon4@tests.mozilla.org", "Add-on code should be the first group");
     is(groups[1].name, "chrome://global", "XUL code should be the second group");
     is(groups.length, 2, "Should be only two groups.");
 
     sources = groups[0].sources;
     is(sources.length, 5, "Should be five sources");
-    ok(sources[0].url.endsWith("/browser_dbg_addon4@tests.mozilla.org.xpi!/bootstrap.js"), "correct url for bootstrap code")
-    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code")
-    is(sources[1].url, "resource://browser_dbg_addon4/test.jsm", "correct url for addon code")
-    is(sources[1].label, "test.jsm", "correct label for addon code")
-    is(sources[2].url, "chrome://browser_dbg_addon4/content/testxul.js", "correct url for addon tab code")
-    is(sources[2].label, "testxul.js", "correct label for addon tab code")
-    is(sources[3].url, "resource://browser_dbg_addon4/test2.jsm", "correct url for addon code")
-    is(sources[3].label, "test2.jsm", "correct label for addon code")
-    is(sources[4].url, "chrome://browser_dbg_addon4/content/testxul2.js", "correct url for addon tab code")
-    is(sources[4].label, "testxul2.js", "correct label for addon tab code")
+    ok(sources[0].url.endsWith("/browser_dbg_addon4@tests.mozilla.org.xpi!/bootstrap.js"), "correct url for bootstrap code");
+    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code");
+    is(sources[1].url, "resource://browser_dbg_addon4/test.jsm", "correct url for addon code");
+    is(sources[1].label, "test.jsm", "correct label for addon code");
+    is(sources[2].url, "chrome://browser_dbg_addon4/content/testxul.js", "correct url for addon tab code");
+    is(sources[2].label, "testxul.js", "correct label for addon tab code");
+    is(sources[3].url, "resource://browser_dbg_addon4/test2.jsm", "correct url for addon code");
+    is(sources[3].label, "test2.jsm", "correct label for addon code");
+    is(sources[4].url, "chrome://browser_dbg_addon4/content/testxul2.js", "correct url for addon tab code");
+    is(sources[4].label, "testxul2.js", "correct label for addon tab code");
 
     Cu.unload("resource://browser_dbg_addon4/test2.jsm");
     yield addonDebugger.destroy();
     yield removeTab(tab1);
     yield removeTab(tab2);
     yield removeAddon(addon);
     finish();
   });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-panels.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-panels.js
@@ -12,17 +12,17 @@ var gAddon, gClient, gThreadClient, gDeb
 var PREFS = [
   ["devtools.canvasdebugger.enabled", true],
   ["devtools.shadereditor.enabled", true],
   ["devtools.performance.enabled", true],
   ["devtools.netmonitor.enabled", true],
   ["devtools.scratchpad.enabled", true]
 ];
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     // Store and enable all optional dev tools panels
     yield pushPrefs(...PREFS);
 
     let addon = yield addAddon(ADDON_URL);
     let addonDebugger = yield initAddonDebugger(ADDON_URL);
 
     // Check only valid tabs are shown
     let tabs = addonDebugger.frame.contentDocument.getElementById("toolbox-tabs").children;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-sources.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-sources.js
@@ -5,35 +5,35 @@
 
 // Ensure that the sources listed when debugging an addon are either from the
 // addon itself, or the SDK, with proper groups and labels.
 
 const ADDON_URL = EXAMPLE_URL + "addon3.xpi";
 var gClient;
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let addon = yield addAddon(ADDON_URL);
     let addonDebugger = yield initAddonDebugger(ADDON_URL);
 
     is(addonDebugger.title, `Developer Tools - browser_dbg_addon3 - ${ADDON_URL}`,
        "Saw the right toolbox title.");
 
     // Check the inital list of sources is correct
     let groups = yield addonDebugger.getSourceGroups();
     is(groups[0].name, "jid1-ami3akps3baaeg@jetpack", "Add-on code should be the first group");
     is(groups[1].name, "Add-on SDK", "Add-on SDK should be the second group");
     is(groups.length, 2, "Should be only two groups.");
 
     let sources = groups[0].sources;
     is(sources.length, 2, "Should be two sources");
-    ok(sources[0].url.endsWith("/jid1-ami3akps3baaeg@jetpack.xpi!/bootstrap.js"), "correct url for bootstrap code")
-    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code")
-    is(sources[1].url, "resource://jid1-ami3akps3baaeg-at-jetpack/browser_dbg_addon3/lib/main.js", "correct url for add-on code")
-    is(sources[1].label, "resources/browser_dbg_addon3/lib/main.js", "correct label for add-on code")
+    ok(sources[0].url.endsWith("/jid1-ami3akps3baaeg@jetpack.xpi!/bootstrap.js"), "correct url for bootstrap code");
+    is(sources[0].label, "bootstrap.js", "correct label for bootstrap code");
+    is(sources[1].url, "resource://jid1-ami3akps3baaeg-at-jetpack/browser_dbg_addon3/lib/main.js", "correct url for add-on code");
+    is(sources[1].label, "resources/browser_dbg_addon3/lib/main.js", "correct label for add-on code");
 
     ok(groups[1].sources.length > 10, "SDK modules are listed");
 
     yield addonDebugger.destroy();
     yield removeAddon(addon);
     finish();
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addon-workers-dbg-enabled.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addon-workers-dbg-enabled.js
@@ -6,17 +6,17 @@
 "use strict";
 
 // Test that the Addon Debugger works when devtools.debugger.workers is enabled.
 // Workers controller cannot be used when debugging an Addon actor.
 
 const ADDON_URL = EXAMPLE_URL + "addon3.xpi";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     info("Enable worker debugging.");
     yield new Promise(resolve => {
       SpecialPowers.pushPrefEnv({
         "set": [["devtools.debugger.workers", true]]
       }, resolve);
     });
 
     let addon = yield addAddon(ADDON_URL);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_addonactor.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_addonactor.js
@@ -31,41 +31,41 @@ function test() {
       .then(uninstallAddon)
       .then(finish)
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
   });
 }
 
-function installAddon () {
+function installAddon() {
   return addAddon(ADDON3_URL).then(aAddon => {
     gAddon = aAddon;
   });
 }
 
-function attachAddonThread ([aGrip, aResponse]) {
+function attachAddonThread([aGrip, aResponse]) {
   info("attached addon actor for URL");
   let deferred = promise.defer();
 
   gClient.attachThread(aResponse.threadActor, (aResponse, aThreadClient) => {
     info("attached thread");
     gThreadClient = aThreadClient;
     gThreadClient.resume(deferred.resolve);
   });
   return deferred.promise;
 }
 
 function testDebugger() {
-  info('Entering testDebugger');
+  info("Entering testDebugger");
   let deferred = promise.defer();
 
   once(gClient, "paused").then(() => {
     ok(true, "Should be able to attach to addon actor");
-    gThreadClient.resume(deferred.resolve)
+    gThreadClient.resume(deferred.resolve);
   });
 
   Services.obs.notifyObservers(null, "debuggerAttached", null);
 
   return deferred.promise;
 }
 
 function testSources() {
@@ -82,19 +82,19 @@ function testSources() {
 
   return deferred.promise;
 }
 
 function uninstallAddon() {
   return removeAddon(gAddon);
 }
 
-function closeConnection () {
+function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
   gAddon = null;
   gThreadClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-01.js
@@ -10,28 +10,28 @@ const TAB_URL = EXAMPLE_URL + "doc_auto-
 var gTab, gPanel, gDebugger;
 var gEditor, gSources, gPrefs, gOptions, gView;
 
 var gFirstSourceLabel = "code_ugly-5.js";
 var gSecondSourceLabel = "code_ugly-6.js";
 
 var gOriginalPref = Services.prefs.getBoolPref("devtools.debugger.auto-pretty-print");
 
-function test(){
+function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gEditor = gDebugger.DebuggerView.editor;
     gSources = gDebugger.DebuggerView.Sources;
     gPrefs = gDebugger.Prefs;
     gOptions = gDebugger.DebuggerView.Options;
     gView = gDebugger.DebuggerView;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, gFirstSourceLabel);
       testSourceIsUgly();
 
       enableAutoPrettyPrint();
       testAutoPrettyPrintOn();
 
       reload(gPanel);
       yield waitForSourceShown(gPanel, gFirstSourceLabel);
@@ -54,59 +54,59 @@ function test(){
   });
 }
 
 function testSourceIsUgly() {
   ok(!gEditor.getText().includes("\n  "),
     "The source shouldn't be pretty printed yet.");
 }
 
-function testSecondSourceLabel(){
+function testSecondSourceLabel() {
   let source = gSources.selectedItem.attachment.source;
   ok(source.url === EXAMPLE_URL + gSecondSourceLabel,
     "Second source url is correct.");
 }
 
 function testProgressBarShown() {
   const deck = gDebugger.document.getElementById("editor-deck");
   is(deck.selectedIndex, 2, "The progress bar should be shown");
 }
 
-function testAutoPrettyPrintOn(){
+function testAutoPrettyPrintOn() {
   is(gPrefs.autoPrettyPrint, true,
     "The auto-pretty-print pref should be on.");
   is(gOptions._autoPrettyPrint.getAttribute("checked"), "true",
     "The Auto pretty print menu item should be checked.");
 }
 
-function disableAutoPrettyPrint(){
+function disableAutoPrettyPrint() {
   gOptions._autoPrettyPrint.setAttribute("checked", "false");
   gOptions._toggleAutoPrettyPrint();
   gOptions._onPopupHidden();
 }
 
-function enableAutoPrettyPrint(){
+function enableAutoPrettyPrint() {
   gOptions._autoPrettyPrint.setAttribute("checked", "true");
   gOptions._toggleAutoPrettyPrint();
   gOptions._onPopupHidden();
 }
 
-function testAutoPrettyPrintOff(){
+function testAutoPrettyPrintOff() {
   is(gPrefs.autoPrettyPrint, false,
     "The auto-pretty-print pref should be off.");
   isnot(gOptions._autoPrettyPrint.getAttribute("checked"), "true",
        "The Auto pretty print menu item should not be checked.");
 }
 
 function testSourceIsPretty() {
   ok(gEditor.getText().includes("\n  "),
-    "The source should be pretty printed.")
+    "The source should be pretty printed.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gOptions = null;
   gPrefs = null;
   gView = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-02.js
@@ -15,32 +15,32 @@ var gTab, gDebuggee, gPanel, gDebugger;
 var gEditor, gSources, gPrefs, gOptions, gView;
 
 var gFirstSourceLabel = "code_ugly-6.js";
 var gSecondSourceLabel = "code_ugly-7.js";
 
 var gOriginalPref = Services.prefs.getBoolPref("devtools.debugger.auto-pretty-print");
 Services.prefs.setBoolPref("devtools.debugger.auto-pretty-print", true);
 
-function test(){
+function test() {
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     const gTab = aTab;
     const gDebuggee = aDebuggee;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gPrefs = gDebugger.Prefs;
     const gOptions = gDebugger.DebuggerView.Options;
     const gView = gDebugger.DebuggerView;
 
     // Should be on by default.
     testAutoPrettyPrintOn();
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
 
       yield waitForSourceShown(gPanel, gFirstSourceLabel);
       testSourceIsUgly();
 
       yield waitForSourceShown(gPanel, gFirstSourceLabel);
       testSourceIsPretty();
       testPrettyPrintButtonOn();
 
@@ -54,17 +54,17 @@ function test(){
       testPrettyPrintButtonOn();
 
       // Disable auto pretty printing so it does not affect the following tests.
       yield disableAutoPrettyPrint();
 
       closeDebuggerAndFinish(gPanel)
         .then(null, aError => {
           ok(false, "Got an error: " + DevToolsUtils.safeErrorString(aError));
-        })
+        });
     });
 
     function selectSecondSource() {
       let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN, 2);
       gSources.selectedIndex = 1;
       return finished;
     }
 
@@ -74,50 +74,50 @@ function test(){
       return finished;
     }
 
     function testSourceIsUgly() {
       ok(!gEditor.getText().includes("\n  "),
         "The source shouldn't be pretty printed yet.");
     }
 
-    function testFirstSourceLabel(){
+    function testFirstSourceLabel() {
       let source = gSources.selectedItem.attachment.source;
       ok(source.url === EXAMPLE_URL + gFirstSourceLabel,
         "First source url is correct.");
     }
 
-    function testSecondSourceLabel(){
+    function testSecondSourceLabel() {
       let source = gSources.selectedItem.attachment.source;
       ok(source.url === EXAMPLE_URL + gSecondSourceLabel,
         "Second source url is correct.");
     }
 
-    function testAutoPrettyPrintOn(){
+    function testAutoPrettyPrintOn() {
       is(gPrefs.autoPrettyPrint, true,
         "The auto-pretty-print pref should be on.");
       is(gOptions._autoPrettyPrint.getAttribute("checked"), "true",
         "The Auto pretty print menu item should be checked.");
     }
 
-    function testPrettyPrintButtonOn(){
+    function testPrettyPrintButtonOn() {
       is(gDebugger.document.getElementById("pretty-print").checked, true,
         "The button should be checked when the source is selected.");
     }
 
-    function disableAutoPrettyPrint(){
+    function disableAutoPrettyPrint() {
       gOptions._autoPrettyPrint.setAttribute("checked", "false");
       gOptions._toggleAutoPrettyPrint();
       gOptions._onPopupHidden();
       info("Disabled auto pretty printing.");
     }
 
     function testSourceIsPretty() {
       ok(gEditor.getText().includes("\n  "),
-        "The source should be pretty printed.")
+        "The source should be pretty printed.");
     }
 
-    registerCleanupFunction(function() {
+    registerCleanupFunction(function () {
       Services.prefs.setBoolPref("devtools.debugger.auto-pretty-print", gOriginalPref);
     });
 
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_auto-pretty-print-03.js
@@ -9,29 +9,29 @@
  * source.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_auto-pretty-print-02.html";
 
 var FIRST_SOURCE = "code_ugly-6.js";
 var SECOND_SOURCE = "code_ugly-7.js";
 
-function test(){
+function test() {
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
 
     const gController = gDebugger.DebuggerController;
     const gEditor = gDebugger.DebuggerView.editor;
-    const constants = gDebugger.require('./content/constants');
-    const queries = gDebugger.require('./content/queries');
+    const constants = gDebugger.require("./content/constants");
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, FIRST_SOURCE);
 
       const secondSource = queries.getSourceByURL(gController.getState(), EXAMPLE_URL + SECOND_SOURCE);
       actions.selectSource(secondSource);
 
       // It should be showing the loading text
       is(gEditor.getText(), gDebugger.DebuggerView._loadingText,
         "The editor loading text is shown");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_bfcache.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_bfcache.js
@@ -77,15 +77,15 @@ function validateFirstPage() {
 
 function validateSecondPage() {
   is(gSources.itemCount, 1,
     "Found the expected number of sources.");
   ok(gSources.getItemForAttachment(e => e.label == "doc_recursion-stack.html"),
     "Found the single source label.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gDebuggee = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-01.js
@@ -42,13 +42,13 @@ function testBlackBoxReload() {
     const bbButton = getBlackBoxButton(gPanel);
     const selectedSource = getSelectedSourceElement(gPanel);
     ok(bbButton.checked, "Should still be black boxed.");
     ok(selectedSource.classList.contains("black-boxed"),
       "'black-boxed' class should still be applied");
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-02.js
@@ -4,17 +4,17 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that black boxed frames are compressed into a single frame on the stack
  * view.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_blackboxing.html";
-const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js"
+const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js";
 
 var gTab, gPanel, gDebugger;
 var gFrames;
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
@@ -44,14 +44,14 @@ function testBlackBoxStack() {
     is(gDebugger.document.querySelectorAll(".dbg-stackframe-black-boxed").length, 1,
       "And one of them should be the combined black boxed frames.");
   });
 
   callInTab(gTab, "runTest");
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-03.js
@@ -4,17 +4,17 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that black boxed frames are compressed into a single frame on the stack
  * view when we are already paused.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_blackboxing.html";
-const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js"
+const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js";
 
 var gTab, gPanel, gDebugger;
 var gFrames, gSources;
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
@@ -47,15 +47,15 @@ function testBlackBoxSource() {
 
     is(gFrames.itemCount, 3,
       "Should only get 3 frames.");
     is(gDebugger.document.querySelectorAll(".dbg-stackframe-black-boxed").length, 1,
       "And one of them should be the combined black boxed frames.");
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-04.js
@@ -4,17 +4,17 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that we get a stack frame for each black boxed source, not a single one
  * for all of them.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_blackboxing.html";
-const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js"
+const BLACKBOXME_URL = EXAMPLE_URL + "code_blackboxing_blackboxme.js";
 
 var gTab, gPanel, gDebugger;
 var gFrames, gSources;
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
@@ -48,15 +48,15 @@ function testBlackBoxStack() {
     is(gDebugger.document.querySelectorAll(".dbg-stackframe-black-boxed").length, 3,
       "And 'one', 'two', and 'three' should each have their own black boxed frame.");
   });
 
   callInTab(gTab, "one");
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-05.js
@@ -58,14 +58,14 @@ function testSourceEditorShownAgain() {
     resolve();
   });
 }
 
 function getEditorBlackboxMessageButton() {
   return gDebugger.document.getElementById("black-boxed-message-button");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gDeck = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-06.js
@@ -44,14 +44,14 @@ function testBlackBox() {
         "The selected source did not change.");
     });
   });
 
   gSources.selectedIndex = 0;
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-07.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_blackboxing-07.js
@@ -39,13 +39,13 @@ function testBlackBoxSource() {
 
 function testBlackBoxReload() {
   return reloadActiveTab(gPanel, gDebugger.EVENTS.SOURCE_SHOWN).then(() => {
     const selectedSource = getSelectedSourceElement(gPanel);
     ok(!selectedSource.isBlackBoxed, "The source should not be blackboxed.");
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breadcrumbs-access.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breadcrumbs-access.js
@@ -30,33 +30,33 @@ function test() {
       });
 
     callInTab(gTab, "firstCall");
   });
 
   function checkNavigationWhileNotFocused() {
     checkState({ frame: 1, source: 1, line: 6 });
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       EventUtils.sendKey("DOWN", gDebugger);
       checkState({ frame: 1, source: 1, line: 7 });
 
       EventUtils.sendKey("UP", gDebugger);
       checkState({ frame: 1, source: 1, line: 6 });
     });
   }
 
   function focusCurrentStackFrame() {
     EventUtils.sendMouseEvent({ type: "mousedown" },
       gFrames.selectedItem.target,
       gDebugger);
   }
 
   function checkNavigationWhileFocused() {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield promise.all([
         waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES),
         waitForSourceAndCaret(gPanel, "-01.js", 5),
         EventUtils.sendKey("UP", gDebugger)
       ]);
       checkState({ frame: 0, source: 0, line: 5 });
 
       // Need to refocus the stack frame due to a focus bug in e10s
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-in-anon.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-in-anon.js
@@ -12,26 +12,26 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-eval.js");
       is(gSources.values.length, 1, "Should have 1 source");
 
       callInTab(gTab, "evalSourceWithDebugger");
       yield waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
 
       is(gSources.values.length, 2, "Should have 2 sources");
 
       let item = gSources.getItemForAttachment(e => e.label.indexOf("SCRIPT") === 0);
       ok(item, "Source label is incorrect.");
-      is(item.attachment.group, gDebugger.L10N.getStr('anonymousSourcesLabel'),
-         'Source group is incorrect');
+      is(item.attachment.group, gDebugger.L10N.getStr("anonymousSourcesLabel"),
+         "Source group is incorrect");
 
       yield resumeDebuggerThenCloseAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-01.js
@@ -17,33 +17,33 @@ const TAB_URL = EXAMPLE_URL + "doc_event
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gPanel = aPanel;
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
     let gEvents = gView.EventListeners;
     let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
     gDebugger.on(gDebugger.EVENTS.EVENT_LISTENERS_FETCHED, () => {
       ok(false, "Shouldn't have fetched any event listeners.");
     });
     gDebugger.on(gDebugger.EVENTS.EVENT_BREAKPOINTS_UPDATED, () => {
       ok(false, "Shouldn't have updated any event breakpoints.");
     });
 
     gView.toggleInstrumentsPane({ visible: true, animated: false });
 
     is(gView.instrumentsPaneHidden, false,
       "The instruments pane should be visible now.");
     is(gView.instrumentsPaneTab, "variables-tab",
       "The variables tab should be selected by default.");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
       is(gEvents.itemCount, 0, "There should be no events before reloading.");
 
       let reloaded = waitForNavigation(gPanel);
       gDebugger.DebuggerController._target.activeTab.reload();
 
       is(gEvents.itemCount, 0, "There should be no events while reloading.");
       yield reloaded;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-02.js
@@ -12,28 +12,28 @@ const TAB_URL = EXAMPLE_URL + "doc_event
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gPanel = aPanel;
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
     let gEvents = gView.EventListeners;
     let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
       yield testFetchOnFocus();
       yield testFetchOnReloadWhenFocused();
       yield testFetchOnReloadWhenNotFocused();
       yield closeDebuggerAndFinish(aPanel);
     });
 
     function testFetchOnFocus() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
 
         gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
         is(gView.instrumentsPaneHidden, false,
           "The instruments pane should be visible now.");
         is(gView.instrumentsPaneTab, "events-tab",
           "The events tab should be selected.");
 
@@ -42,17 +42,17 @@ function test() {
         ok(true,
           "Event listeners were fetched when the events tab was selected");
         is(gEvents.itemCount, 4,
           "There should be 4 events displayed in the view.");
       });
     }
 
     function testFetchOnReloadWhenFocused() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
 
         let reloading = once(gDebugger.gTarget, "will-navigate");
         let reloaded = waitForNavigation(gPanel);
         gDebugger.DebuggerController._target.activeTab.reload();
 
         yield reloading;
 
@@ -73,28 +73,28 @@ function test() {
         is(gEvents.itemCount, 4,
           "There should be 4 events displayed in the view after reloading.");
         ok(true,
           "Event listeners were added back after the target finished navigating.");
       });
     }
 
     function testFetchOnReloadWhenNotFocused() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         gController.dispatch({
           type: gDebugger.services.WAIT_UNTIL,
           predicate: action => {
             return (action.type === constants.FETCH_EVENT_LISTENERS ||
                     action.type === constants.UPDATE_EVENT_BREAKPOINTS);
           },
           run: (dispatch, getState, action) => {
-            if(action.type === constants.FETCH_EVENT_LISTENERS) {
+            if (action.type === constants.FETCH_EVENT_LISTENERS) {
               ok(false, "Shouldn't have fetched any event listeners.");
             }
-            else if(action.type === constants.UPDATE_EVENT_BREAKPOINTS) {
+            else if (action.type === constants.UPDATE_EVENT_BREAKPOINTS) {
               ok(false, "Shouldn't have updated any event breakpoints.");
             }
           }
         });
 
         gView.toggleInstrumentsPane({ visible: true, animated: false }, 0);
         is(gView.instrumentsPaneHidden, false,
           "The instruments pane should still be visible.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-03.js
@@ -10,19 +10,19 @@
 const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
     let gEvents = gView.EventListeners;
     let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
 
       let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
       gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
       yield fetched;
 
       is(gEvents.widget._parent.querySelectorAll(".side-menu-widget-group").length, 3,
         "There should be 3 groups shown in the view.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-04.js
@@ -9,21 +9,21 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController
+    let gController = gDebugger.DebuggerController;
     let gEvents = gView.EventListeners;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
 
       let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
       gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
       yield fetched;
 
       testEventItem(0, false);
       testEventItem(1, false);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-05.js
@@ -10,21 +10,21 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController
+    let gController = gDebugger.DebuggerController;
     let gEvents = gView.EventListeners;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
 
       let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
       gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
       yield fetched;
 
       testEventItem(0, false);
       testEventItem(1, false);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-06.js
@@ -9,22 +9,22 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController
+    let gController = gDebugger.DebuggerController;
     let gEvents = gView.EventListeners;
     let gBreakpoints = gController.Breakpoints;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
 
       let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
       gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
       yield fetched;
 
       testEventItem(0, false);
       testEventItem(1, false);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-08.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-08.js
@@ -11,19 +11,19 @@ const TAB_URL = EXAMPLE_URL + "doc_event
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     let gTab = aTab;
     let gDebugger = aPanel.panelWin;
     let gView = gDebugger.DebuggerView;
     let gEvents = gView.EventListeners;
     let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require('./content/constants');
+    let constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(aPanel, ".html");
       yield callInTab(gTab, "addBodyClickEventListener");
 
       let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
       gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
       yield fetched;
       yield ensureThreadClientState(aPanel, "attached");
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
@@ -218,14 +218,14 @@ function triggerButtonClick() {
 }
 
 function triggerInputChange() {
   gInput.focus();
   gInput.value = "foo";
   gInput.blur();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
   gThreadClient = null;
   gInput = null;
   gButton = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
@@ -65,17 +65,17 @@ function testBreakOnClick() {
     is(aPacket.error, undefined,
       "The pause-on-click request completed successfully.");
     let handlers = ["clicker"];
 
     gClient.addListener("paused", function tester(aEvent, aPacket) {
       is(aPacket.why.type, "pauseOnDOMEvents",
         "A hidden breakpoint was hit.");
 
-      switch(handlers.length) {
+      switch (handlers.length) {
         case 1:
           is(aPacket.frame.where.line, 26, "Found the clicker handler.");
           handlers.push("handleEventClick");
           break;
         case 2:
           is(aPacket.frame.where.line, 36, "Found the handleEventClick handler.");
           handlers.push("boundHandleEventClick");
           break;
@@ -90,22 +90,22 @@ function testBreakOnClick() {
 
     triggerButtonClick(handlers.slice(-1));
   });
 
   return deferred.promise;
 }
 
 function triggerButtonClick(aNodeId) {
-  let button  = content.document.getElementById(aNodeId);
+  let button = content.document.getElementById(aNodeId);
   EventUtils.sendMouseEvent({ type: "click" }, button);
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
   gThreadClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-03.js
@@ -82,22 +82,22 @@ function testBreakOnLoad() {
       });
     });
   });
 
   return deferred.promise;
 }
 
 function triggerButtonClick() {
-  let button  = content.document.querySelector("button");
+  let button = content.document.querySelector("button");
   EventUtils.sendMouseEvent({ type: "click" }, button);
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
   gThreadClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-next-console.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-next-console.js
@@ -24,17 +24,17 @@ function test() {
     gResumeButton = gDebugger.document.getElementById("resume");
     gResumeKey = gDebugger.document.getElementById("resumeKey");
 
     waitForSourceShown(gPanel, "-eval.js")
       .then(testConsole)
       .then(() => closeDebuggerAndFinish(gPanel));
   });
 
-  let testConsole = Task.async(function*() {
+  let testConsole = Task.async(function* () {
     info("Starting testConsole");
 
     let oncePaused = gTarget.once("thread-paused");
     EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
     let jsterm = yield getSplitConsole(gDevTools.getToolbox(gPanel.target));
     let executed = jsterm.execute("1+1");
     yield oncePaused;
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-next.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-on-next.js
@@ -29,17 +29,17 @@ function test() {
       .then(testEvent)
       .then(() => closeDebuggerAndFinish(gPanel));
   });
 
   // Testing an interval instead of a timeout / rAF because
   // it's less likely to fail due to timing issues.  If the
   // first callback happens to fire before the break request
   // happens then we'll just get it next time.
-  let testInterval = Task.async(function*() {
+  let testInterval = Task.async(function* () {
     info("Starting testInterval");
 
     yield evalInTab(gTab, `
       var interval = setInterval(function() {
         return 1+1;
       }, 100);
     `);
 
@@ -61,17 +61,17 @@ function test() {
         "Paused with correct scope (3)");
 
     yield evalInTab(gTab, "clearInterval(interval)");
     let onceResumed = gTarget.once("thread-resumed");
     EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
     yield onceResumed;
   });
 
-  let testEvent = Task.async(function*() {
+  let testEvent = Task.async(function* () {
     info("Starting testEvent");
 
     let oncePaused = gTarget.once("thread-paused");
     EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
     once(gDebugger.gClient, "willInterrupt").then(() => {
       generateMouseClickInTab(gTab, "content.document.querySelector('button')");
     });
     yield oncePaused;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-unselected.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_break-unselected.js
@@ -6,43 +6,43 @@
 /**
  * Test breaking in code and jumping to the debugger before
  * the debugger UI has been initialized.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_inline-debugger-statement.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const tab = yield getTab(TAB_URL);
     const target = TargetFactory.forTab(tab);
     const toolbox = yield gDevTools.showToolbox(target, "webconsole");
 
     is(toolbox.currentToolId, "webconsole", "Console is the current panel");
 
-    toolbox.target.on('thread-paused', Task.async(function*() {
+    toolbox.target.on("thread-paused", Task.async(function* () {
       // Wait for the toolbox to handle the event and switch tools
       yield waitForTick();
 
       is(toolbox.currentToolId, "jsdebugger", "Debugger is the current panel");
 
       // Wait until it's actually fully loaded
       yield toolbox.loadTool("jsdebugger");
 
       const panel = toolbox.getCurrentPanel();
-      const queries = panel.panelWin.require('./content/queries');
+      const queries = panel.panelWin.require("./content/queries");
       const getState = panel.panelWin.DebuggerController.getState;
 
       is(panel.panelWin.gThreadClient.state, "paused",
          "Thread is still paused");
 
       yield waitForSourceAndCaret(panel, "debugger-statement.html", 16);
       is(queries.getSelectedSource(getState()).url, TAB_URL,
          "Selected source is the current tab url");
       is(queries.getSelectedSourceOpts(getState()).line, 16,
          "Line 16 is highlighted in the editor");
 
       resumeDebuggerThenCloseAndFinish(panel);
     }));
 
     callInTab(tab, "runDebuggerStatement");
   });
-};
+}
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location.js
@@ -13,21 +13,21 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gController = gDebugger.DebuggerController;
-    const constants = gDebugger.require('./content/constants');
-    const queries = gDebugger.require('./content/queries');
+    const constants = gDebugger.require("./content/constants");
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
 
       is(queries.getBreakpoints(gController.getState()).length, 0,
          "There are no breakpoints in the editor");
 
       const response = yield actions.addBreakpoint({
         actor: gSources.selectedValue, line: 4
       });
@@ -39,13 +39,13 @@ function test() {
          "There is only one breakpoint in the editor");
 
       ok(!queries.getBreakpoint(gController.getState(), { actor: gSources.selectedValue, line: 4 }),
          "There isn't any breakpoint added on an invalid line.");
       ok(queries.getBreakpoint(gController.getState(), { actor: gSources.selectedValue, line: 6 }),
          "There isn't any breakpoint added on an invalid line.");
 
       resumeDebuggerThenCloseAndFinish(gPanel);
-    })
+    });
 
     callInTab(gTab, "firstCall");
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location2.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location2.js
@@ -15,36 +15,36 @@ function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gController = gDebugger.DebuggerController;
     const actions = bindActionCreators(gPanel);
-    const constants = gDebugger.require('./content/constants');
-    const queries = gDebugger.require('./content/queries');
+    const constants = gDebugger.require("./content/constants");
+    const queries = gDebugger.require("./content/queries");
 
     function resumeAndTestBreakpoint(line) {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         let event = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES);
         doResume(gPanel);
         yield event;
         testBreakpoint(line);
       });
-    };
+    }
 
     function testBreakpoint(line) {
       let bp = gSources._selectedBreakpoint;
       ok(bp, "There should be a selected breakpoint on line " + line);
       is(bp.location.line, line,
          "The breakpoint on line " + line + " was not hit");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 1);
 
       is(queries.getBreakpoints(gController.getState()).length, 0,
          "There are no breakpoints in the editor");
 
       yield actions.addBreakpoint({
         actor: gSources.selectedValue,
         line: 19
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-01.js
@@ -22,32 +22,32 @@ function test() {
       let breakpoints = gDebugger.queries.getBreakpoints(getState());
 
       is(breakpoints.length, total,
          "Breakpoints should still be set.");
       is(breakpoints.filter(bp => bp.disabled === isDisabled).length, total,
          "Breakpoints should be " + (isDisabled ? "disabled" : "enabled") + ".");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
 
       yield actions.addBreakpoint({ actor: gSources.values[0], line: 5 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 6 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 7 });
       yield ensureThreadClientState(gPanel, "resumed");
 
       gSources.toggleBreakpoints();
       yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT, 3);
-      checkBreakpointsDisabled(true)
+      checkBreakpointsDisabled(true);
 
       const finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.BREAKPOINT_ADDED, 3);
       gSources.toggleBreakpoints();
       yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT, 3);
       checkBreakpointsDisabled(false);
 
       if (gDebugger.gThreadClient.state !== "attached") {
         yield waitForThreadEvents(gPanel, "resumed");
       }
-      closeDebuggerAndFinish(gPanel)
+      closeDebuggerAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-button-02.js
@@ -23,17 +23,17 @@ function test() {
       let breakpoints = gDebugger.queries.getBreakpoints(getState());
 
       is(breakpoints.length, total,
          "Breakpoints should still be set.");
       is(breakpoints.filter(bp => bp.disabled === isDisabled).length, total,
          "Breakpoints should be " + (isDisabled ? "disabled" : "enabled") + ".");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
 
       yield promise.all([
         actions.addBreakpoint({ actor: gSources.values[0], line: 5 }),
         actions.addBreakpoint({ actor: gSources.values[1], line: 6 }),
         actions.addBreakpoint({ actor: gSources.values[1], line: 7 })
       ]);
       if (gDebugger.gThreadClient.state !== "attached") {
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-condition-thrown-message.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-condition-thrown-message.js
@@ -26,53 +26,53 @@ function test() {
       ok(bp, "There should be a breakpoint on line " + aCaretLine);
 
       let attachment = gSources._getBreakpoint(bp).attachment;
       ok(attachment,
          "There should be a breakpoint on line " + aCaretLine + " in the sources pane.");
 
       let thrownNode = attachment.view.container.querySelector(".dbg-breakpoint-condition-thrown-message");
       ok(thrownNode,
-         "The breakpoint item should contain a thrown message node.")
+         "The breakpoint item should contain a thrown message node.");
 
       ok(!attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
-         "The thrown message on line " + aCaretLine + " should be hidden when condition has not been evaluated.")
+         "The thrown message on line " + aCaretLine + " should be hidden when condition has not been evaluated.");
     }
 
     function resumeAndTestThrownMessage(line) {
       doResume(gPanel);
 
       return waitForCaretUpdated(gPanel, line).then(() => {
         // Test that the thrown message is correctly shown.
         let bp = gDebugger.queries.getBreakpoint(
           getState(),
           { actor: gSources.values[0], line: line }
         );
         let attachment = gSources._getBreakpoint(bp).attachment;
-        ok(attachment.view.container.classList.contains('dbg-breakpoint-condition-thrown'),
+        ok(attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
            "Message on line " + line + " should be shown when condition throws.");
       });
     }
 
     function resumeAndTestNoThrownMessage(line) {
       doResume(gPanel);
 
       return waitForCaretUpdated(gPanel, line).then(() => {
-        //test that the thrown message is correctly shown
+        // test that the thrown message is correctly shown
         let bp = gDebugger.queries.getBreakpoint(
           getState(),
           { actor: gSources.values[0], line: line }
         );
         let attachment = gSources._getBreakpoint(bp).attachment;
         ok(!attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
            "Message on line " + line + " should be hidden if condition doesn't throw.");
       });
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 18 }, " 1afff");
       // Close the popup because a SET_BREAKPOINT_CONDITION action is
       // fired when it's closed, and it sets it on the currently
       // selected breakpoint and we want to make sure it uses the
       // current breakpoint. This isn't a problem outside of tests
       // because any UI interaction will close the popup before the
@@ -85,17 +85,17 @@ function test() {
       initialCheck(19);
 
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 20 }, "false");
       gSources._hideConditionalPopup();
       initialCheck(20);
 
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 22 }, "randomVar");
       gSources._hideConditionalPopup();
-      initialCheck(22)
+      initialCheck(22);
 
       yield resumeAndTestThrownMessage(18);
       yield resumeAndTestNoThrownMessage(19);
       yield resumeAndTestThrownMessage(22);
       resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "ermahgerd");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js
@@ -12,21 +12,21 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gContextMenu = gDebugger.document.getElementById("sourceEditorContextMenu");
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 2,
          "Found the expected number of sources.");
       isnot(gEditor.getText().indexOf("debugger"), -1,
             "The correct source was loaded initially.");
@@ -40,41 +40,41 @@ function test() {
       gEditor.setSelection({ line: 1, ch: 0 }, { line: 1, ch: 10 });
 
       gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false);
       gEditor.emit("gutterClick", 6, 2);
 
       yield once(gContextMenu, "popupshown");
       is(queries.getBreakpoints(getState()).length, 0, "no breakpoints added");
 
-      let cmd = gContextMenu.querySelector('menuitem[command=addBreakpointCommand]');
+      let cmd = gContextMenu.querySelector("menuitem[command=addBreakpointCommand]");
       EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger);
       yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT);
 
       is(queries.getBreakpoints(getState()).length, 1,
          "1 breakpoint correctly added");
       ok(queries.getBreakpoint(getState(),
                                { actor: gSources.values[1], line: 7 }),
          "Breakpoint on line 7 exists");
 
       gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false);
       gEditor.emit("gutterClick", 7, 2);
 
       yield once(gContextMenu, "popupshown");
       is(queries.getBreakpoints(getState()).length, 1,
          "1 breakpoint correctly added");
 
-      cmd = gContextMenu.querySelector('menuitem[command=addConditionalBreakpointCommand]');
+      cmd = gContextMenu.querySelector("menuitem[command=addConditionalBreakpointCommand]");
       EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger);
       yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT);
 
       is(queries.getBreakpoints(getState()).length, 2,
          "2 breakpoints correctly added");
       ok(queries.getBreakpoint(getState(),
                                { actor: gSources.values[1], line: 8 }),
          "Breakpoint on line 8 exists");
 
       resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "firstCall");
-  })
+  });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu.js
@@ -8,35 +8,35 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
 
 function test() {
   // Debug test slaves are a bit slow at this test.
   requestLongerTimeout(2);
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const [gTab,, gPanel ] = yield initDebugger(TAB_URL);
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    const addBreakpoints = Task.async(function*() {
+    const addBreakpoints = Task.async(function* () {
       yield actions.addBreakpoint({ actor: gSources.values[0], line: 5 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 6 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 7 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 8 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 9 });
       yield ensureThreadClientState(gPanel, "resumed");
       gSources.highlightBreakpoint({ actor: gSources.values[1], line: 9 });
     });
 
-    const pauseAndCheck = Task.async(function*() {
+    const pauseAndCheck = Task.async(function* () {
       let source = queries.getSelectedSource(getState());
       is(source.url, EXAMPLE_URL + "code_script-switching-02.js",
          "The currently selected source is incorrect (1).");
       is(gSources.selectedIndex, 1,
          "The currently selected source is incorrect (2).");
       ok(isCaretPos(gPanel, 9),
          "The editor location is correct before pausing.");
 
@@ -48,49 +48,49 @@ function test() {
            "The currently selected source is incorrect (3).");
         is(gSources.selectedIndex, 0,
            "The currently selected source is incorrect (4).");
         ok(isCaretPos(gPanel, 5),
            "The editor location is correct after pausing.");
       });
     });
 
-    let initialChecks = Task.async(function*() {
+    let initialChecks = Task.async(function* () {
       for (let bp of queries.getBreakpoints(getState())) {
         ok(bp.actor, "All breakpoint items should have an actor");
         ok(!bp.disabled, "All breakpoints should initially be enabled.");
 
         let prefix = "bp-cMenu-"; // "breakpoints context menu"
         let identifier = queries.makeLocationId(bp.location);
         let enableSelfId = prefix + "enableSelf-" + identifier + "-menuitem";
         let disableSelfId = prefix + "disableSelf-" + identifier + "-menuitem";
 
         // Check to make sure that only the bp context menu is shown when right clicking
         // this node (Bug 1159276).
         let breakpointItem = gSources._getBreakpoint(bp);
         let menu = gDebugger.document.getElementById("bp-mPop-" + identifier);
         let contextMenuShown = once(gDebugger.document, "popupshown");
-        EventUtils.synthesizeMouseAtCenter(breakpointItem.prebuiltNode, {type: 'contextmenu', button: 2}, gDebugger);
+        EventUtils.synthesizeMouseAtCenter(breakpointItem.prebuiltNode, {type: "contextmenu", button: 2}, gDebugger);
         let event = yield contextMenuShown;
-        is (event.originalTarget.id, menu.id, "The correct context menu was shown");
+        is(event.originalTarget.id, menu.id, "The correct context menu was shown");
         let contextMenuHidden = once(gDebugger.document, "popuphidden");
         menu.hidePopup();
         yield contextMenuHidden;
 
         is(gDebugger.document.getElementById(enableSelfId).getAttribute("hidden"), "true",
            "The 'Enable breakpoint' context menu item should initially be hidden'.");
         ok(!gDebugger.document.getElementById(disableSelfId).hasAttribute("hidden"),
            "The 'Disable breakpoint' context menu item should initially not be hidden'.");
 
         is(breakpointItem.attachment.view.checkbox.getAttribute("checked"), "true",
            "All breakpoints should initially have a checked checkbox.");
       }
     });
 
-    const checkBreakpointToggleSelf = Task.async(function*(index) {
+    const checkBreakpointToggleSelf = Task.async(function* (index) {
       EventUtils.sendMouseEvent({ type: "click" },
                                 gDebugger.document.querySelectorAll(".dbg-breakpoint")[index],
                                 gDebugger);
 
       let selectedBreakpoint = gSources._selectedBreakpoint;
       let selectedBreakpointItem = gSources._getBreakpoint(selectedBreakpoint);
 
       ok(selectedBreakpoint.actor,
@@ -133,17 +133,17 @@ function test() {
       is(gDebugger.document.getElementById(enableSelfId).getAttribute("hidden"), "true",
          "The 'Enable breakpoint' context menu item should be hidden'.");
       ok(!gDebugger.document.getElementById(disableSelfId).hasAttribute("hidden"),
          "The 'Disable breakpoint' context menu item should not be hidden'.");
       ok(selectedBreakpointItem.attachment.view.checkbox.hasAttribute("checked"),
          "The breakpoint should now be checked.");
     });
 
-    const checkBreakpointToggleOthers = Task.async(function*(index) {
+    const checkBreakpointToggleOthers = Task.async(function* (index) {
       EventUtils.sendMouseEvent(
         { type: "click" },
         gDebugger.document.querySelectorAll(".dbg-breakpoint")[index],
         gDebugger
       );
 
       // Test disabling other breakpoints.
       disableOthers();
@@ -180,17 +180,17 @@ function test() {
       // // Test re-enabling all breakpoints.
       enableAll();
       yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT, 5);
       for (let bp of queries.getBreakpoints(getState())) {
         ok(!bp.disabled, "All breakpoints should be enabled.");
       }
     });
 
-    const testDeleteAll = Task.async(function*() {
+    const testDeleteAll = Task.async(function* () {
       // Test deleting all breakpoints.
       deleteAll();
       yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT, 5);
 
       ok(!gSources._selectedBreakpoint,
          "There should be no breakpoint available after removing all breakpoints.");
 
       for (let bp of queries.getBreakpoints(getState())) {
@@ -225,17 +225,17 @@ function test() {
     yield checkBreakpointToggleSelf(2);
     yield checkBreakpointToggleOthers(2);
     yield checkBreakpointToggleSelf(3);
     yield checkBreakpointToggleOthers(3);
     yield checkBreakpointToggleSelf(4);
     yield checkBreakpointToggleOthers(4);
     yield testDeleteAll();
 
-    yield addBreakpoints()
+    yield addBreakpoints();
     yield initialChecks();
     yield pauseAndCheck();
     yield checkBreakpointToggleSelf(0);
     yield checkBreakpointToggleOthers(0);
     yield checkBreakpointToggleSelf(1);
     yield checkBreakpointToggleOthers(1);
     yield checkBreakpointToggleSelf(2);
     yield checkBreakpointToggleOthers(2);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-disabled-reload.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-disabled-reload.js
@@ -12,22 +12,22 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gPanel = aPanel;
     const gTab = aTab;
     const gDebugger = gPanel.panelWin;
     const gEvents = gDebugger.EVENTS;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
     let gBreakpointLocation;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
       gBreakpointLocation = { actor: getSourceActor(gSources, EXAMPLE_URL + "code_script-switching-01.js"),
                               line: 5 };
 
       yield actions.addBreakpoint(gBreakpointLocation);
 
       yield ensureThreadClientState(gPanel, "resumed");
       yield testWhenBreakpointEnabledAndFirstSourceShown();
@@ -44,17 +44,17 @@ function test() {
       yield actions.enableBreakpoint(gBreakpointLocation);
       yield reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN);
       yield testWhenBreakpointEnabledAndSecondSourceShown();
 
       yield resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     function verifyView({ disabled }) {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         // It takes a tick for the checkbox in the SideMenuWidget and the
         // gutter in the editor to get updated.
         yield waitForTick();
 
         let breakpoint = queries.getBreakpoint(getState(), gBreakpointLocation);
         let breakpointItem = gSources._getBreakpoint(breakpoint);
         is(!!breakpoint.disabled, disabled,
            "The selected breakpoint state was correct.");
@@ -63,49 +63,49 @@ function test() {
           "The selected breakpoint's checkbox state was correct.");
       });
     }
 
     // All the following executeSoon()'s are required to spin the event loop
     // before causing the debuggee to pause, to allow functions to yield first.
 
     function testWhenBreakpointEnabledAndFirstSourceShown() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         yield ensureSourceIs(gPanel, "-01.js");
         yield verifyView({ disabled: false });
 
         callInTab(gTab, "firstCall");
         yield waitForDebuggerEvents(gPanel, gEvents.FETCHED_SCOPES);
         yield ensureSourceIs(gPanel, "-01.js");
         yield ensureCaretAt(gPanel, 5);
         yield verifyView({ disabled: false });
 
         executeSoon(() => gDebugger.gThreadClient.resume());
         yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 6);
         yield verifyView({ disabled: false });
       });
     }
 
     function testWhenBreakpointEnabledAndSecondSourceShown() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         yield ensureSourceIs(gPanel, "-02.js", true);
         yield verifyView({ disabled: false });
 
         callInTab(gTab, "firstCall");
         yield waitForSourceAndCaretAndScopes(gPanel, "-01.js", 1);
         yield verifyView({ disabled: false });
 
         executeSoon(() => gDebugger.gThreadClient.resume());
         yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 6);
         yield verifyView({ disabled: false });
       });
     }
 
     function testWhenBreakpointDisabledAndSecondSourceShown() {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         yield ensureSourceIs(gPanel, "-02.js", true);
         yield verifyView({ disabled: true });
 
         callInTab(gTab, "firstCall");
         yield waitForDebuggerEvents(gPanel, gEvents.FETCHED_SCOPES);
         yield ensureSourceIs(gPanel, "-02.js");
         yield ensureCaretAt(gPanel, 6);
         yield verifyView({ disabled: true });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-editor.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-editor.js
@@ -12,22 +12,22 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 2,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("debugger"), 166,
          "The correct source was loaded initially.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-eval.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-eval.js
@@ -12,26 +12,26 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const actions = bindActionCreators(gPanel);
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-eval.js");
 
       let newSource = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.NEW_SOURCE);
       callInTab(gTab, "evalSourceWithSourceURL");
       yield newSource;
       // Wait for it to be added to the UI
       yield waitForTick();
 
-      const newSourceActor = getSourceActor(gSources, EXAMPLE_URL + 'bar.js');
+      const newSourceActor = getSourceActor(gSources, EXAMPLE_URL + "bar.js");
       yield actions.addBreakpoint({
         actor: newSourceActor,
         line: 2
       });
       yield ensureThreadClientState(gPanel, "resumed");
 
       const paused = waitForThreadEvents(gPanel, "paused");
       callInTab(gTab, "bar");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-highlight.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-highlight.js
@@ -11,26 +11,26 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    const addBreakpoints = Task.async(function*() {
+    const addBreakpoints = Task.async(function* () {
       yield actions.addBreakpoint({ actor: gSources.values[0], line: 5 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 6 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 7 });
       yield actions.addBreakpoint({ actor: gSources.values[1], line: 8 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 9 })
+      yield actions.addBreakpoint({ actor: gSources.values[1], line: 9 });
     });
 
     function clickBreakpointAndCheck(aBreakpointIndex, aSourceIndex, aCaretLine) {
       let finished = waitForCaretUpdated(gPanel, aCaretLine).then(() => {
         checkHighlight(gSources.values[aSourceIndex], aCaretLine);
         checkEditorContents(aSourceIndex);
 
         is(queries.getSelectedSource(getState()).actor,
@@ -68,17 +68,17 @@ function test() {
         is(gEditor.getText().indexOf("firstCall"), 118,
            "The first source is correctly displayed.");
       } else {
         is(gEditor.getText().indexOf("debugger"), 166,
            "The second source is correctly displayed.");
       }
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
 
       yield addBreakpoints();
       yield clickBreakpointAndCheck(0, 0, 5);
       yield clickBreakpointAndCheck(1, 1, 6);
       yield clickBreakpointAndCheck(2, 1, 7);
       yield clickBreakpointAndCheck(3, 1, 8);
       yield clickBreakpointAndCheck(4, 1, 9);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-other-tabs.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-other-tabs.js
@@ -8,17 +8,17 @@
  * the same source to pause at that location.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_breakpoints-other-tabs.html";
 
 var test = Task.async(function* () {
   const [tab1,, panel1] = yield initDebugger(TAB_URL);
   const [tab2,, panel2] = yield initDebugger(TAB_URL);
-  const queries = panel1.panelWin.require('./content/queries');
+  const queries = panel1.panelWin.require("./content/queries");
   const actions = bindActionCreators(panel1);
   const getState = panel1.panelWin.DebuggerController.getState;
 
   yield ensureSourceIs(panel1, "code_breakpoints-other-tabs.js", true);
 
   const sources = panel1.panelWin.DebuggerView.Sources;
 
   yield actions.addBreakpoint({
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-pane.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-pane.js
@@ -12,44 +12,44 @@ const TAB_URL = EXAMPLE_URL + "doc_scrip
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
     const { getBreakpoint } = queries;
 
     let breakpointsAdded = 0;
     let breakpointsDisabled = 0;
     let breakpointsRemoved = 0;
     let breakpointsList;
 
-    const addBreakpoints = Task.async(function*(aIncrementFlag) {
+    const addBreakpoints = Task.async(function* (aIncrementFlag) {
       const loc1 = { actor: gSources.selectedValue, line: 6 };
       yield actions.addBreakpoint(loc1);
       onBreakpointAdd(getBreakpoint(getState(), loc1), {
         increment: aIncrementFlag,
         line: 6,
         text: "debugger;"
       });
 
       const loc2 = { actor: gSources.selectedValue, line: 7 };
       yield actions.addBreakpoint(loc2);
       onBreakpointAdd(getBreakpoint(getState(), loc2), {
         increment: aIncrementFlag,
         line: 7,
         text: "function foo() {}"
       });
 
-      const loc3 = {actor: gSources.selectedValue, line: 9 }
+      const loc3 = {actor: gSources.selectedValue, line: 9 };
       yield actions.addBreakpoint(loc3);
       onBreakpointAdd(getBreakpoint(getState(), loc3), {
         increment: aIncrementFlag,
         line: 9,
         text: "foo();"
       });
     });
 
@@ -126,17 +126,17 @@ function test() {
       is(line.getAttribute("value"), testData.line,
          "The expected information wasn't found in the breakpoint element.");
       is(text.getAttribute("value"), testData.text,
          "The expected line text wasn't found in the breakpoint element.");
       is(check.getAttribute("checked"), "true",
          "The breakpoint enable checkbox is checked as expected.");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 2,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("debugger"), 166,
          "The correct source was loaded initially.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-reload.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-reload.js
@@ -28,11 +28,11 @@ var test = Task.async(function* () {
   reloadActiveTab(panel);
   const packet = yield paused;
 
   is(packet.why.type, "breakpoint",
      "Should have hit the breakpoint after the reload");
   is(packet.frame.where.line, 10,
      "Should have stopped at line 10, where we set the breakpoint");
 
-  yield waitForDebuggerEvents(panel, panel.panelWin.EVENTS.SOURCE_SHOWN)
+  yield waitForDebuggerEvents(panel, panel.panelWin.EVENTS.SOURCE_SHOWN);
   yield resumeDebuggerThenCloseAndFinish(panel);
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_bug-896139.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_bug-896139.js
@@ -19,28 +19,28 @@ function test() {
     }
 
     let [tab,, panel] = yield initDebugger(EXAMPLE_URL + TAB_URL);
     let win = panel.panelWin;
 
     let Sources = win.DebuggerView.Sources;
     yield waitForDebuggerEvents(panel, win.EVENTS.SOURCE_SHOWN);
     if (Sources.selectedItem.attachment.source.url.indexOf(SCRIPT_URL) === -1) {
-      Sources.selectedValue = getSourceActor(win.DebuggerView.Sources, EXAMPLE_URL + SCRIPT_URL)
+      Sources.selectedValue = getSourceActor(win.DebuggerView.Sources, EXAMPLE_URL + SCRIPT_URL);
     }
 
     yield panel.addBreakpoint({
       actor: getSourceActor(win.DebuggerView.Sources, EXAMPLE_URL + SCRIPT_URL),
       line: 6
     });
 
     // Race condition: the setBreakpoint request sometimes leaves the
     // debugger in paused state for a bit because we are called before
     // that request finishes (see bug 1156531 for plans to fix)
-    if(panel.panelWin.gThreadClient.state !== "attached") {
+    if (panel.panelWin.gThreadClient.state !== "attached") {
       yield waitForThreadEvents(panel, "resumed");
     }
 
     yield testBreakpoint();
     yield reloadActiveTab(panel, win.EVENTS.SOURCE_SHOWN);
     yield testBreakpoint();
 
     yield closeDebuggerAndFinish(panel);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_chrome-create.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_chrome-create.js
@@ -53,12 +53,12 @@ function aOnClose() {
 
   info("process exit value: " + gProcess._dbgProcess.exitValue);
 
   info("profile path: " + gProcess._dbgProfilePath);
 
   finish();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   Services.prefs.clearUserPref("devtools.debugger.remote-enabled");
   gProcess = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_chrome-debugging.js
@@ -6,18 +6,18 @@
 /**
  * Tests that chrome debugging works.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_inline-debugger-statement.html";
 
 var gClient, gThreadClient;
 var gAttached = promise.defer();
-var gNewGlobal = promise.defer()
-var gNewChromeSource = promise.defer()
+var gNewGlobal = promise.defer();
+var gNewChromeSource = promise.defer();
 
 var { DevToolsLoader } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 var customLoader = new DevToolsLoader();
 customLoader.invisibleToDebugger = true;
 var { DebuggerServer } = customLoader.require("devtools/server/main");
 
 function test() {
   if (!DebuggerServer.initialized) {
@@ -85,17 +85,17 @@ function onNewSource(aEvent, aPacket) {
 }
 
 function resumeAndCloseConnection() {
   let deferred = promise.defer();
   gThreadClient.resume(() => gClient.close(deferred.resolve));
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
   gThreadClient = null;
   gAttached = null;
   gNewGlobal = null;
   gNewChromeSource = null;
 
   customLoader = null;
   DebuggerServer = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_clean-exit-window.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_clean-exit-window.js
@@ -73,14 +73,14 @@ function testCleanExit() {
       isLoaded.resolve();
     }, true);
   } else {
     isLoaded.resolve();
   }
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gWindow = null;
   gDebuggee = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_clean-exit.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_clean-exit.js
@@ -28,13 +28,13 @@ function testCleanExit() {
   ]).then(() => {
     is(gDebugger.gThreadClient.paused, true,
       "Should be paused after the debugger statement.");
   }).then(() => closeDebuggerAndFinish(gPanel, { whilePaused: true }));
 
   callInTab(gTab, "runDebuggerStatement");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_cmd-blackbox.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_cmd-blackbox.js
@@ -19,17 +19,17 @@ function test() {
 }
 
 function* spawnTest() {
   let options = yield helpers.openTab(TEST_URL);
   yield helpers.openToolbar(options);
 
   let toolbox = yield gDevTools.showToolbox(options.target, "jsdebugger");
   let panel = toolbox.getCurrentPanel();
-  let constants = panel.panelWin.require('./content/constants');
+  let constants = panel.panelWin.require("./content/constants");
 
   yield waitForDebuggerEvents(panel, panel.panelWin.EVENTS.SOURCE_SHOWN);
 
   function cmd(aTyped, aEventRepeat = 1, aOutput = "") {
     return promise.all([
       waitForDispatch(panel, constants.BLACKBOX, aEventRepeat),
       helpers.audit(options, [{ setup: aTyped, output: aOutput, exec: {} }])
     ]);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_cmd-break.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_cmd-break.js
@@ -11,213 +11,213 @@ const TAB_URL = EXAMPLE_URL + "doc_cmd-b
 var TAB_URL_ACTOR;
 
 function test() {
   let gPanel, gDebugger, gThreadClient, gSources;
   let gLineNumber;
 
   let expectedActorObj = {
     value: null,
-    message: ''
+    message: ""
   };
 
   helpers.addTabWithToolbar(TAB_URL, aOptions => {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield helpers.audit(aOptions, [{
-        setup: 'break',
+        setup: "break",
         check: {
-          input:  'break',
-          hints:       ' add line',
-          markup: 'IIIII',
-          status: 'ERROR',
+          input:  "break",
+          hints:       " add line",
+          markup: "IIIII",
+          status: "ERROR",
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break add',
+        setup: "break add",
         check: {
-          input:  'break add',
-          hints:           ' line',
-          markup: 'IIIIIVIII',
-          status: 'ERROR'
+          input:  "break add",
+          hints:           " line",
+          markup: "IIIIIVIII",
+          status: "ERROR"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break add line',
+        setup: "break add line",
         check: {
-          input:  'break add line',
-          hints:                ' <file> <line>',
-          markup: 'VVVVVVVVVVVVVV',
-          status: 'ERROR'
+          input:  "break add line",
+          hints:                " <file> <line>",
+          markup: "VVVVVVVVVVVVVV",
+          status: "ERROR"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        name: 'open toolbox',
-        setup: function() {
+        name: "open toolbox",
+        setup: function () {
           return initDebugger(gBrowser.selectedTab).then(([aTab, aDebuggee, aPanel]) => {
             // Spin the event loop before causing the debuggee to pause, to allow
             // this function to return first.
             executeSoon(() => aDebuggee.firstCall());
 
             return waitForSourceAndCaretAndScopes(aPanel, ".html", 1).then(() => {
               gPanel = aPanel;
               gDebugger = gPanel.panelWin;
               gThreadClient = gPanel.panelWin.gThreadClient;
-              gLineNumber = '' + aOptions.window.wrappedJSObject.gLineNumber;
+              gLineNumber = "" + aOptions.window.wrappedJSObject.gLineNumber;
               gSources = gDebugger.DebuggerView.Sources;
 
               expectedActorObj.value = getSourceActor(gSources, TAB_URL);
             });
           });
         },
-        post: function() {
+        post: function () {
           ok(gThreadClient, "Debugger client exists.");
           is(gLineNumber, 14, "gLineNumber is correct.");
         },
       }]);
 
       yield helpers.audit(aOptions, [{
-        name: 'break add line .../doc_cmd-break.html 14',
-        setup: function() {
+        name: "break add line .../doc_cmd-break.html 14",
+        setup: function () {
           // We have to setup in a function to allow gLineNumber to be initialized.
-          let line = 'break add line ' + TAB_URL + ' ' + gLineNumber;
+          let line = "break add line " + TAB_URL + " " + gLineNumber;
           return helpers.setInput(aOptions, line);
         },
         check: {
-          hints: '',
-          status: 'VALID',
-          message: '',
+          hints: "",
+          status: "VALID",
+          message: "",
           args: {
             file: expectedActorObj,
             line: { value: 14 }
           }
         },
         exec: {
-          output: 'Added breakpoint'
+          output: "Added breakpoint"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break add line ' + TAB_URL + ' 17',
+        setup: "break add line " + TAB_URL + " 17",
         check: {
-          hints: '',
-          status: 'VALID',
-          message: '',
+          hints: "",
+          status: "VALID",
+          message: "",
           args: {
             file: expectedActorObj,
             line: { value: 17 }
           }
         },
         exec: {
-          output: 'Added breakpoint'
+          output: "Added breakpoint"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break list',
+        setup: "break list",
         check: {
-          input:  'break list',
-          hints:            '',
-          markup: 'VVVVVVVVVV',
-          status: 'VALID'
+          input:  "break list",
+          hints:            "",
+          markup: "VVVVVVVVVV",
+          status: "VALID"
         },
         exec: {
           output: [
             /Source/, /Remove/,
             /doc_cmd-break\.html:14/,
             /doc_cmd-break\.html:17/
           ]
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        name: 'cleanup',
-        setup: function() {
+        name: "cleanup",
+        setup: function () {
           let deferred = promise.defer();
           gThreadClient.resume(deferred.resolve);
           return deferred.promise;
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break del 14',
+        setup: "break del 14",
         check: {
-          input:  'break del 14',
-          hints:              ' -> doc_cmd-break.html:14',
-          markup: 'VVVVVVVVVVII',
-          status: 'ERROR',
+          input:  "break del 14",
+          hints:              " -> doc_cmd-break.html:14",
+          markup: "VVVVVVVVVVII",
+          status: "ERROR",
           args: {
             breakpoint: {
-              status: 'INCOMPLETE',
-              message: 'Value required for \u2018breakpoint\u2019.'
+              status: "INCOMPLETE",
+              message: "Value required for \u2018breakpoint\u2019."
             }
           }
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break del doc_cmd-break.html:14',
+        setup: "break del doc_cmd-break.html:14",
         check: {
-          input:  'break del doc_cmd-break.html:14',
-          hints:                                 '',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "break del doc_cmd-break.html:14",
+          hints:                                 "",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            breakpoint: { arg: ' doc_cmd-break.html:14' },
+            breakpoint: { arg: " doc_cmd-break.html:14" },
           }
         },
         exec: {
-          output: 'Breakpoint removed'
+          output: "Breakpoint removed"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break list',
+        setup: "break list",
         check: {
-          input:  'break list',
-          hints:            '',
-          markup: 'VVVVVVVVVV',
-          status: 'VALID'
+          input:  "break list",
+          hints:            "",
+          markup: "VVVVVVVVVV",
+          status: "VALID"
         },
         exec: {
           output: [
             /Source/, /Remove/,
             /doc_cmd-break\.html:17/
           ]
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break del doc_cmd-break.html:17',
+        setup: "break del doc_cmd-break.html:17",
         check: {
-          input:  'break del doc_cmd-break.html:17',
-          hints:                                 '',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "break del doc_cmd-break.html:17",
+          hints:                                 "",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            breakpoint: { arg: ' doc_cmd-break.html:17' },
+            breakpoint: { arg: " doc_cmd-break.html:17" },
           }
         },
         exec: {
-          output: 'Breakpoint removed'
+          output: "Breakpoint removed"
         }
       }]);
 
       yield helpers.audit(aOptions, [{
-        setup: 'break list',
+        setup: "break list",
         check: {
-          input:  'break list',
-          hints:            '',
-          markup: 'VVVVVVVVVV',
-          status: 'VALID'
+          input:  "break list",
+          hints:            "",
+          markup: "VVVVVVVVVV",
+          status: "VALID"
         },
         exec: {
-          output: 'No breakpoints set'
+          output: "No breakpoints set"
         },
-        post: function() {
+        post: function () {
           return teardown(gPanel, { noTabRemoval: true });
         }
       }]);
     });
   }).then(finish);
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_cmd-dbg.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_cmd-dbg.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that the debugger commands work as they should.
  */
 
 const TEST_URI = EXAMPLE_URL + "doc_cmd-dbg.html";
 
 function test() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let options = yield helpers.openTab(TEST_URI);
     yield helpers.openToolbar(options);
 
     yield helpers.audit(options, [{
       setup: "dbg open",
       exec: { output: "" }
     }]);
 
@@ -26,29 +26,29 @@ function test() {
     yield helpers.audit(options, [{
       setup: "dbg list",
       exec: { output: /doc_cmd-dbg.html/ }
     }]);
 
     let button = gDebuggee.document.querySelector("input[type=button]");
     let output = gDebuggee.document.querySelector("input[type=text]");
 
-    let cmd = function(aTyped, aState) {
+    let cmd = function (aTyped, aState) {
       return promise.all([
         waitForThreadEvents(gPanel, aState),
         helpers.audit(options, [{ setup: aTyped, exec: { output: "" } }])
       ]);
     };
 
-    let click = function(aElement, aState) {
+    let click = function (aElement, aState) {
       return promise.all([
         waitForThreadEvents(gPanel, aState),
         executeSoon(() => EventUtils.sendMouseEvent({ type: "click" }, aElement, gDebuggee))
       ]);
-    }
+    };
 
     yield cmd("dbg interrupt", "paused");
     is(gThreadClient.state, "paused", "Debugger is paused.");
 
     yield cmd("dbg continue", "resumed");
     isnot(gThreadClient.state, "paused", "Debugger has continued.");
 
     yield click(button, "paused");
@@ -63,17 +63,17 @@ function test() {
     is(output.value, "step over", "Debugger stepped over.");
 
     yield cmd("dbg step out", "paused");
     is(output.value, "step out", "Debugger stepped out.");
 
     yield cmd("dbg continue", "paused");
     is(output.value, "dbg continue", "Debugger continued.");
 
-    let closeDebugger = function() {
+    let closeDebugger = function () {
       let deferred = promise.defer();
 
       helpers.audit(options, [{
         setup: "dbg close",
         exec: { output: "" }
       }])
       .then(() => {
         let toolbox = gDevTools.getToolbox(options.target);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-01.js
@@ -14,27 +14,27 @@ function test() {
   requestLongerTimeout(2);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     // This test forces conditional breakpoints to be evaluated on the
     // client-side
     var client = gPanel.target.client;
     client.mainRoot.traits.conditionalBreakpoints = false;
 
-    const addBreakpoints = Task.async(function*() {
+    const addBreakpoints = Task.async(function* () {
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 18 },
                                   "undefined");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 19 },
                                   "null");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 20 },
                                   "42");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 21 },
                                   "true");
@@ -73,19 +73,19 @@ function test() {
         is(gSources.itemCount, 1,
            "Found the expected number of sources.");
         is(gEditor.getText().indexOf("ermahgerd"), 253,
            "The correct source was loaded initially.");
         is(gSources.selectedValue, gSources.values[0],
            "The correct source is selected.");
 
         ok(gSources.selectedItem,
-           "There should be a selected source in the sources pane.")
+           "There should be a selected source in the sources pane.");
         ok(!gSources._selectedBreakpoint,
-           "There should be no selected breakpoint in the sources pane.")
+           "There should be no selected breakpoint in the sources pane.");
         is(gSources._conditionalPopupVisible, false,
            "The breakpoint conditional expression popup should not be shown.");
 
         is(gDebugger.document.querySelectorAll(".dbg-stackframe").length, 0,
            "There should be no visible stackframes.");
         is(gDebugger.document.querySelectorAll(".dbg-breakpoint").length, 13,
            "There should be thirteen visible breakpoints.");
       });
@@ -127,17 +127,17 @@ function test() {
       is(gSources._conditionalPopupVisible, false,
          "The breakpoint conditional expression popup should not have been shown.");
       isnot(bp.condition, undefined,
             "The breakpoint on line " + line + " should have a conditional expression.");
       ok(isCaretPos(gPanel, line),
          "The editor caret position is not properly set.");
     }
 
-    const testAfterReload = Task.async(function*() {
+    const testAfterReload = Task.async(function* () {
       let selectedActor = gSources.selectedValue;
       let selectedBreakpoint = gSources._selectedBreakpoint;
 
       ok(selectedActor,
          "There should be a selected item in the sources pane after reload.");
       ok(!selectedBreakpoint,
          "There should be no selected breakpoint in the sources pane after reload.");
 
@@ -158,24 +158,24 @@ function test() {
       is(gSources.itemCount, 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
          "The correct source was loaded again.");
       is(gSources.selectedValue, gSources.values[0],
          "The correct source is selected.");
 
       ok(gSources.selectedItem,
-         "There should be a selected source in the sources pane.")
+         "There should be a selected source in the sources pane.");
       ok(gSources._selectedBreakpoint,
-         "There should be a selected breakpoint in the sources pane.")
+         "There should be a selected breakpoint in the sources pane.");
       is(gSources._conditionalPopupVisible, false,
          "The breakpoint conditional expression popup should not be shown.");
     });
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       yield addBreakpoints();
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
--- a/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-02.js
@@ -11,18 +11,18 @@ const TAB_URL = EXAMPLE_URL + "doc_condi
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     // This test forces conditional breakpoints to be evaluated on the
     // client-side
     var client = gPanel.target.client;
     client.mainRoot.traits.conditionalBreakpoints = false;
 
@@ -122,33 +122,33 @@ function test() {
 
     function waitForConditionUpdate() {
       // This will close the popup and send another request to update
       // the condition
       gSources._hideConditionalPopup();
       return waitForDispatch(gPanel, constants.SET_BREAKPOINT_CONDITION);
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
          "The correct source was loaded initially.");
       is(gSources.selectedValue, gSources.values[0],
          "The correct source is selected.");
 
       is(queries.getBreakpoints(getState()).length, 0,
          "No breakpoints currently added.");
 
       yield addBreakpoint1();
-      testBreakpoint(18, false, undefined)
+      testBreakpoint(18, false, undefined);
 
       yield addBreakpoint2();
       testBreakpoint(19, false, undefined);
       yield modBreakpoint2();
       testBreakpoint(19, true, undefined);
       yield waitForConditionUpdate();
       yield addBreakpoint3();
       testBreakpoint(20, true, "");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-03.js
@@ -10,34 +10,34 @@
 const TAB_URL = EXAMPLE_URL + "doc_conditional-breakpoints.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     // This test forces conditional breakpoints to be evaluated on the
     // client-side
     var client = gPanel.target.client;
     client.mainRoot.traits.conditionalBreakpoints = false;
 
     function waitForConditionUpdate() {
       // This will close the popup and send another request to update
       // the condition
       gSources._hideConditionalPopup();
       return waitForDispatch(gPanel, constants.SET_BREAKPOINT_CONDITION);
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       const location = { actor: gSources.selectedValue, line: 18 };
 
       yield actions.addBreakpoint(location, "hello");
       yield actions.disableBreakpoint(location);
       yield actions.addBreakpoint(location);
 
       const bp = queries.getBreakpoint(getState(), location);
@@ -45,29 +45,29 @@ function test() {
 
       let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.CONDITIONAL_BREAKPOINT_POPUP_SHOWING);
       EventUtils.sendMouseEvent({ type: "click" },
                                 gDebugger.document.querySelector(".dbg-breakpoint"),
                                 gDebugger);
       yield finished;
 
       const textbox = gDebugger.document.getElementById("conditional-breakpoint-panel-textbox");
-      is(textbox.value, "hello", "The expression is correct (2).")
+      is(textbox.value, "hello", "The expression is correct (2).");
 
       yield waitForConditionUpdate();
       yield actions.disableBreakpoint(location);
       yield actions.setBreakpointCondition(location, "foo");
       yield actions.addBreakpoint(location);
 
       finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.CONDITIONAL_BREAKPOINT_POPUP_SHOWING);
       EventUtils.sendMouseEvent({ type: "click" },
                                 gDebugger.document.querySelector(".dbg-breakpoint"),
                                 gDebugger);
       yield finished;
-      is(textbox.value, "foo", "The expression is correct (3).")
+      is(textbox.value, "foo", "The expression is correct (3).");
 
       // Reset traits back to default value
       client.mainRoot.traits.conditionalBreakpoints = true;
       resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "ermahgerd");
   });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-04.js
@@ -11,27 +11,27 @@
 const TAB_URL = EXAMPLE_URL + "doc_conditional-breakpoints.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     // This test forces conditional breakpoints to be evaluated on the
     // client-side
     var client = gPanel.target.client;
     client.mainRoot.traits.conditionalBreakpoints = false;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       const location = { actor: gSources.selectedValue, line: 18 };
 
       yield actions.addBreakpoint(location, "");
       yield actions.disableBreakpoint(location);
       yield actions.addBreakpoint(location);
 
       const bp = queries.getBreakpoint(getState(), location);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_conditional-breakpoints-05.js
@@ -12,18 +12,18 @@ const TAB_URL = EXAMPLE_URL + "doc_condi
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     // This test forces conditional breakpoints to be evaluated on the
     // client-side
     var client = gPanel.target.client;
     client.mainRoot.traits.conditionalBreakpoints = false;
 
@@ -94,18 +94,18 @@ function test() {
 
       isnot(selectedBreakpoint.condition, undefined,
             "The breakpoint on line " + line + " should have a conditional expression.");
 
       ok(isCaretPos(gPanel, line),
          "The editor caret position is not properly set.");
     }
 
-    Task.spawn(function*() {
-      yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17)
+    Task.spawn(function* () {
+      yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       yield actions.addBreakpoint(
         { actor: gSources.selectedValue, line: 18 }, " 1a"
       );
       yield actions.addBreakpoint(
         { actor: gSources.selectedValue, line: 19 }, "new Error()"
       );
       yield actions.addBreakpoint(
--- a/devtools/client/debugger/test/mochitest/browser_dbg_console-eval.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_console-eval.js
@@ -4,38 +4,38 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Breaking in the middle of a script evaluated by the console should
  * work
  */
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let TAB_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
     let [,, panel] = yield initDebugger(TAB_URL);
     let dbgWin = panel.panelWin;
     let sources = dbgWin.DebuggerView.Sources;
     let frames = dbgWin.DebuggerView.StackFrames;
     let editor = dbgWin.DebuggerView.editor;
     let toolbox = gDevTools.getToolbox(panel.target);
 
     let paused = promise.all([
       waitForEditorEvents(panel, "cursorActivity"),
       waitForDebuggerEvents(panel, dbgWin.EVENTS.SOURCE_SHOWN)
     ]);
 
     toolbox.once("webconsole-ready", () => {
       ok(toolbox.splitConsole, "Split console is shown.");
       let jsterm = toolbox.getPanel("webconsole").hud.jsterm;
-      jsterm.execute('debugger');
+      jsterm.execute("debugger");
     });
     EventUtils.synthesizeKey("VK_ESCAPE", {}, dbgWin);
 
     yield paused;
-    is(sources.selectedItem.attachment.label, 'SCRIPT0',
-       'Anonymous source is selected in sources');
-    ok(editor.getText() === 'debugger', 'Editor has correct text');
+    is(sources.selectedItem.attachment.label, "SCRIPT0",
+       "Anonymous source is selected in sources");
+    ok(editor.getText() === "debugger", "Editor has correct text");
 
     yield toolbox.closeSplitConsole();
     yield resumeDebuggerThenCloseAndFinish(panel);
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_console-named-eval.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_console-named-eval.js
@@ -26,17 +26,17 @@ function* runTests() {
   toolbox.once("webconsole-ready", () => {
     ok(toolbox.splitConsole, "Split console is shown.");
     let jsterm = toolbox.getPanel("webconsole").hud.jsterm;
     jsterm.execute("eval('debugger; //# sourceURL=foo.js')");
   });
   EventUtils.synthesizeKey("VK_ESCAPE", {}, dbgWin);
 
   yield paused;
-  is(sources.selectedItem.attachment.label, 'foo.js',
-     'New source is selected in sources');
-  is(sources.selectedItem.attachment.group, 'http://example.com',
-     'New source is in the right group');
-  ok(editor.getText() === 'debugger; //# sourceURL=foo.js', 'Editor has correct text');
+  is(sources.selectedItem.attachment.label, "foo.js",
+     "New source is selected in sources");
+  is(sources.selectedItem.attachment.group, "http://example.com",
+     "New source is in the right group");
+  ok(editor.getText() === "debugger; //# sourceURL=foo.js", "Editor has correct text");
 
   yield toolbox.closeSplitConsole();
   yield resumeDebuggerThenCloseAndFinish(panel);
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-01.js
@@ -5,26 +5,26 @@
 
 /**
  * Tests the public evaluation API from the debugger controller.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const [tab,, panel] = yield initDebugger(TAB_URL);
     const win = panel.panelWin;
     const frames = win.DebuggerController.StackFrames;
     const framesView = win.DebuggerView.StackFrames;
     const sourcesView = win.DebuggerView.Sources;
     const editorView = win.DebuggerView.editor;
     const events = win.EVENTS;
-    const queries = win.require('./content/queries');
-    const constants = win.require('./content/constants');
+    const queries = win.require("./content/queries");
+    const constants = win.require("./content/constants");
     const actions = bindActionCreators(panel);
     const getState = win.DebuggerController.getState;
 
     function checkView(frameDepth, selectedSource, caretLine, editorText) {
       is(win.gThreadClient.state, "paused",
         "Should only be getting stack frames while paused.");
       is(framesView.itemCount, 2,
         "Should have four frames.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_controller-evaluate-02.js
@@ -5,26 +5,26 @@
 
 /**
  * Tests the public evaluation API from the debugger controller.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const [tab,, panel] = yield initDebugger(TAB_URL);
     const win = panel.panelWin;
     const frames = win.DebuggerController.StackFrames;
     const framesView = win.DebuggerView.StackFrames;
     const sourcesView = win.DebuggerView.Sources;
     const editorView = win.DebuggerView.editor;
     const events = win.EVENTS;
-    const queries = win.require('./content/queries');
-    const constants = win.require('./content/constants');
+    const queries = win.require("./content/queries");
+    const constants = win.require("./content/constants");
     const actions = bindActionCreators(panel);
     const getState = win.DebuggerController.getState;
 
     function checkView(selectedFrame, selectedSource, caretLine, editorText) {
       is(win.gThreadClient.state, "paused",
         "Should only be getting stack frames while paused.");
       is(framesView.itemCount, 2,
         "Should have four frames.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_debugger-statement.js
@@ -22,32 +22,32 @@ function test() {
   gClient = new DebuggerClient(transport);
   gClient.connect().then(([aType, aTraits]) => {
     is(aType, "browser",
       "Root actor should identify itself as a browser.");
 
     addTab(TAB_URL)
       .then((aTab) => {
         gTab = aTab;
-        return attachTabActorForUrl(gClient, TAB_URL)
+        return attachTabActorForUrl(gClient, TAB_URL);
       })
       .then(testEarlyDebuggerStatement)
       .then(testDebuggerStatement)
       .then(closeConnection)
       .then(finish)
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
   });
 }
 
 function testEarlyDebuggerStatement([aGrip, aResponse]) {
   let deferred = promise.defer();
 
-  let onPaused = function(aEvent, aPacket) {
+  let onPaused = function (aEvent, aPacket) {
     ok(false, "Pause shouldn't be called before we've attached!");
     deferred.reject();
   };
 
   gClient.addListener("paused", onPaused);
 
   // This should continue without nesting an event loop and calling
   // the onPaused hook, because we haven't attached yet.
@@ -83,11 +83,11 @@ function testDebuggerStatement([aGrip, a
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_editor-mode.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_editor-mode.js
@@ -79,15 +79,15 @@ function testSwitch2() {
   is(gEditor.getText().search(/firstCall/), -1,
     "The first source is not displayed.");
   is(gEditor.getText().search(/debugger/), -1,
     "The second source is not displayed.");
   is(gEditor.getText().search(/banana/), 443,
     "The third source is displayed.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-01.js
@@ -22,17 +22,17 @@ function test() {
   gClient = new DebuggerClient(transport);
   gClient.connect().then(([aType, aTraits]) => {
     is(aType, "browser",
       "Root actor should identify itself as a browser.");
 
     addTab(TAB_URL)
       .then((aTab) => {
         gTab = aTab;
-        return attachThreadActorForUrl(gClient, TAB_URL)
+        return attachThreadActorForUrl(gClient, TAB_URL);
       })
       .then(pauseDebuggee)
       .then(testEventListeners)
       .then(closeConnection)
       .then(finish)
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
@@ -82,32 +82,32 @@ function testEventListeners(aThreadClien
         listener.function.url = aResponse.source.url;
         lDeferred.resolve(listener);
       });
       return lDeferred.promise;
     })).then(listeners => {
       let types = [];
 
       for (let l of listeners) {
-        info("Listener for the "+l.type+" event.");
+        info("Listener for the " + l.type + " event.");
         let node = l.node;
         ok(node, "There is a node property.");
         ok(node.object, "There is a node object property.");
         ok(node.selector == "window" ||
           content.document.querySelectorAll(node.selector).length == 1,
           "The node property is a unique CSS selector.");
 
         let func = l.function;
         ok(func, "There is a function property.");
         is(func.type, "object", "The function form is of type 'object'.");
         is(func.class, "Function", "The function form is of class 'Function'.");
 
         // The onchange handler is an inline string that doesn't have
         // a URL because it's basically eval'ed
-        if (l.type !== 'change') {
+        if (l.type !== "change") {
           is(func.url, TAB_URL, "The function url is correct.");
         }
 
         is(l.allowsUntrusted, true,
           "'allowsUntrusted' property has the right value.");
         is(l.inSystemEventGroup, false,
           "'inSystemEventGroup' property has the right value.");
 
@@ -143,11 +143,11 @@ function testEventListeners(aThreadClien
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-02.js
@@ -80,17 +80,17 @@ function testEventListeners(aThreadClien
           lDeferred.reject(msg);
           return;
         }
         listener.function.url = aResponse.source.url;
         lDeferred.resolve(listener);
       });
       return lDeferred.promise;
     })).then(listeners => {
-      is (listeners.length, 3, "Found three event listeners.");
+      is(listeners.length, 3, "Found three event listeners.");
       for (let l of listeners) {
         let node = l.node;
         ok(node, "There is a node property.");
         ok(node.object, "There is a node object property.");
         ok(node.selector == "window" ||
           content.document.querySelectorAll(node.selector).length == 1,
           "The node property is a unique CSS selector.");
 
@@ -119,11 +119,11 @@ function testEventListeners(aThreadClien
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-03.js
@@ -23,17 +23,17 @@ function test() {
   gClient = new DebuggerClient(transport);
   gClient.connect().then(([aType, aTraits]) => {
     is(aType, "browser",
       "Root actor should identify itself as a browser.");
 
     addTab(TAB_URL)
       .then((aTab) => {
         gTab = aTab;
-        return attachThreadActorForUrl(gClient, TAB_URL)
+        return attachThreadActorForUrl(gClient, TAB_URL);
       })
       .then(pauseDebuggee)
       .then(testEventListeners)
       .then(closeConnection)
       .then(finish)
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
@@ -78,11 +78,11 @@ function testEventListeners(aThreadClien
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_event-listeners-04.js
@@ -12,36 +12,36 @@
  *    in tests executed after this one. Bug 1142597.
  *  - e10s: tab.attach is not e10s safe and only works when add-on compatibility
  *    shims are in place. Bug 1146603.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_event-listeners-01.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let tab = yield addTab(TAB_URL);
 
     // Create a sandboxed content script the Add-on SDK way. Inspired by bug
     // 1145996.
-    let tabs = require('sdk/tabs');
+    let tabs = require("sdk/tabs");
     let sdkTab = [...tabs].find(tab => tab.url === TAB_URL);
     ok(sdkTab, "Add-on SDK found the loaded tab.");
 
     info("Attaching an event handler via add-on sdk content scripts.");
     let worker = sdkTab.attach({
       contentScript: "document.body.addEventListener('click', e => alert(e))",
       onError: ok.bind(this, false)
     });
 
     let [,, panel, win] = yield initDebugger(tab);
     let dbg = panel.panelWin;
     let controller = dbg.DebuggerController;
-    let constants = dbg.require('./content/constants');
-    let actions = dbg.require('./content/actions/event-listeners');
+    let constants = dbg.require("./content/constants");
+    let actions = dbg.require("./content/actions/event-listeners");
     let fetched = waitForDispatch(panel, constants.FETCH_EVENT_LISTENERS);
 
     info("Scheduling event listener fetch.");
     controller.dispatch(actions.fetchEventListeners());
 
     info("Waiting for updated event listeners to arrive.");
     yield fetched;
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_file-reload.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_file-reload.js
@@ -11,44 +11,44 @@ const TAB_URL = EXAMPLE_URL + "doc_rando
 const JS_URL = EXAMPLE_URL + "sjs_random-javascript.sjs";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gPanel = aPanel;
     const gDebugger = aPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, JS_URL);
       let source = queries.getSelectedSource(getState());
 
       is(queries.getSourceCount(getState()), 1,
-        "There should be one source displayed in the view.")
+        "There should be one source displayed in the view.");
       is(source.url, JS_URL,
         "The correct source is currently selected in the view.");
       ok(gEditor.getText().includes("bacon"),
         "The currently shown source contains bacon. Mmm, delicious!");
 
       const { text: firstText } = yield queries.getSourceText(getState(), source.actor);
       const firstNumber = parseFloat(firstText.match(/\d\.\d+/)[0]);
 
       is(firstText, gEditor.getText(),
         "gControllerSources.getText() returned the expected contents.");
       ok(firstNumber <= 1 && firstNumber >= 0,
         "The generated number seems to be created correctly.");
 
       yield reloadActiveTab(aPanel, gDebugger.EVENTS.SOURCE_SHOWN);
 
       is(queries.getSourceCount(getState()), 1,
-        "There should be one source displayed in the view.")
+        "There should be one source displayed in the view.");
       is(source.url, JS_URL,
         "The correct source is currently selected in the view.");
       ok(gEditor.getText().includes("bacon"),
         "The newly shown source contains bacon. Mmm, delicious!");
 
       source = queries.getSelectedSource(getState());
       const { text: secondText } = yield queries.getSourceText(getState(), source.actor);
       const secondNumber = parseFloat(secondText.match(/\d\.\d+/)[0]);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_function-display-name.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_function-display-name.js
@@ -51,13 +51,13 @@ function testInferredName() {
       "a/<", "Frame name should be 'a/<'.");
 
     resumeDebuggerThenCloseAndFinish(gPanel);
   });
 
   gDebugger.gThreadClient.resume();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_globalactor.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Check extension-added global actor API.
  */
 
-const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/"
+const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/";
 const ACTORS_URL = CHROME_URL + "testactors.js";
 
 function test() {
   let gClient;
 
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
@@ -23,17 +23,17 @@ function test() {
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
   gClient.connect().then(([aType, aTraits]) => {
     is(aType, "browser",
       "Root actor should identify itself as a browser.");
 
     gClient.listTabs(aResponse => {
       let globalActor = aResponse.testGlobalActor1;
-      ok(globalActor, "Found the test tab actor.")
+      ok(globalActor, "Found the test tab actor.");
       ok(globalActor.includes("test_one"),
         "testGlobalActor1's actorPrefix should be used.");
 
       gClient.request({ to: globalActor, type: "ping" }, aResponse => {
         is(aResponse.pong, "pong", "Actor should respond to requests.");
 
         // Send another ping to see if the same actor is used.
         gClient.request({ to: globalActor, type: "ping" }, aResponse => {
--- a/devtools/client/debugger/test/mochitest/browser_dbg_hide-toolbar-buttons.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_hide-toolbar-buttons.js
@@ -13,18 +13,18 @@ const TAB_URL = EXAMPLE_URL + "doc_auto-
 var { RootActor } = require("devtools/server/actors/root");
 
 function test() {
   RootActor.prototype.traits.noBlackBoxing = true;
   RootActor.prototype.traits.noPrettyPrinting = true;
 
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     let document = aPanel.panelWin.document;
-    let ppButton = document.querySelector('#pretty-print');
-    let bbButton = document.querySelector('#black-box');
-    let sep = document.querySelector('#sources-toolbar .devtools-separator');
+    let ppButton = document.querySelector("#pretty-print");
+    let bbButton = document.querySelector("#black-box");
+    let sep = document.querySelector("#sources-toolbar .devtools-separator");
 
-    is(ppButton.style.display, 'none', 'The pretty-print button is hidden');
-    is(bbButton.style.display, 'none', 'The blackboxing button is hidden');
-    is(sep.style.display, 'none', 'The separator is hidden');
-    closeDebuggerAndFinish(aPanel)
+    is(ppButton.style.display, "none", "The pretty-print button is hidden");
+    is(bbButton.style.display, "none", "The blackboxing button is hidden");
+    is(sep.style.display, "none", "The separator is hidden");
+    closeDebuggerAndFinish(aPanel);
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_instruments-pane-collapse.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_instruments-pane-collapse.js
@@ -140,15 +140,15 @@ function testPanesStartupPref() {
      !instrumentsPaneToggleButton.hasAttribute("pane-collapsed"),
     "The debugger instruments pane should at this point be visible.");
   is(gPrefs.panesVisibleOnStartup, false,
     "The debugger view panes should now be preffed as hidden.");
   isnot(gOptions._showPanesOnStartupItem.getAttribute("checked"), "true",
     "The options menu item should now be unchecked.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gPrefs = null;
   gOptions = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_interrupts.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_interrupts.js
@@ -32,17 +32,17 @@ function test() {
       .then(testResumeKeyboard)
       .then(() => closeDebuggerAndFinish(gPanel))
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
   });
 
   function failOnPause() {
-    ok (false, "A pause was sent, but it shouldn't have been");
+    ok(false, "A pause was sent, but it shouldn't have been");
   }
 
   function addBreakpoints() {
     return promise.resolve(null)
       .then(() => gPanel.addBreakpoint({ actor: gSources.values[0], line: 5 }))
       .then(() => gPanel.addBreakpoint({ actor: gSources.values[1], line: 6 }))
       .then(() => gPanel.addBreakpoint({ actor: gSources.values[1], line: 7 }))
       .then(() => ensureThreadClientState(gPanel, "resumed"));
@@ -50,71 +50,71 @@ function test() {
 
   function resume() {
     let onceResumed = gTarget.once("thread-resumed");
     gThreadClient.resume();
     return onceResumed;
   }
 
   function testResumeButton() {
-    info ("Pressing the resume button, expecting a thread-paused");
+    info("Pressing the resume button, expecting a thread-paused");
 
-    ok (!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 1");
-    ok (!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
-    ok (!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
+    ok(!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 1");
+    ok(!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
+    ok(!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
     let oncePaused = gTarget.once("thread-paused");
 
     // Click the pause button to break on next execution
     EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
-    ok (gResumeButton.hasAttribute("disabled"), "Resume button is disabled");
-    ok (gResumeButton.hasAttribute("break-on-next"), "Resume button is waiting for next execution");
-    ok (!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
+    ok(gResumeButton.hasAttribute("disabled"), "Resume button is disabled");
+    ok(gResumeButton.hasAttribute("break-on-next"), "Resume button is waiting for next execution");
+    ok(!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
 
     // Evaluate a script to fully pause the debugger
     once(gDebugger.gClient, "willInterrupt").then(() => {
       evalInTab(gTab, "1+1;");
     });
 
     return waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN)
       .then(() => {
-        ok (!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
-        is (gResumeButton.getAttribute("checked"), "true", "Resume button is checked");
-        ok (!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 2");
+        ok(!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
+        is(gResumeButton.getAttribute("checked"), "true", "Resume button is checked");
+        ok(!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 2");
       })
       .then(() => {
         let p = ensureThreadClientState(gPanel, "resumed");
         gThreadClient.resume();
         return p;
-      })
+      });
   }
 
   function testResumeKeyboard() {
     let key = gResumeKey.getAttribute("keycode");
-    info ("Triggering a pause with keyboard (" + key +  "), expecting a thread-paused");
+    info("Triggering a pause with keyboard (" + key + "), expecting a thread-paused");
 
-    ok (!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 3");
-    ok (!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
-    ok (!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
+    ok(!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 3");
+    ok(!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
+    ok(!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
 
     // Press the key to break on next execution
     EventUtils.synthesizeKey(key, { }, gDebugger);
-    ok (gResumeButton.hasAttribute("disabled"), "Resume button is disabled");
-    ok (gResumeButton.hasAttribute("break-on-next"), "Resume button is waiting for next execution");
-    ok (!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
+    ok(gResumeButton.hasAttribute("disabled"), "Resume button is disabled");
+    ok(gResumeButton.hasAttribute("break-on-next"), "Resume button is waiting for next execution");
+    ok(!gResumeButton.hasAttribute("checked"), "Resume button is not checked");
 
     // Evaluate a script to fully pause the debugger
     once(gDebugger.gClient, "willInterrupt").then(() => {
       evalInTab(gTab, "1+1;");
     });
 
     return waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN)
       .then(() => {
-        ok (!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
-        is (gResumeButton.getAttribute("checked"), "true", "Resume button is checked");
-        ok (!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 4");
+        ok(!gResumeButton.hasAttribute("break-on-next"), "Resume button isn't waiting for next execution");
+        is(gResumeButton.getAttribute("checked"), "true", "Resume button is checked");
+        ok(!gResumeButton.hasAttribute("disabled"), "Resume button is not disabled 4");
       })
       .then(() => {
         let p = ensureThreadClientState(gPanel, "resumed");
         gThreadClient.resume();
         return p;
-      })
+      });
   }
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_listaddons.js
@@ -102,15 +102,15 @@ function testRemoveSecondAddon() {
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gAddon1 = null;
   gAddon1Actor = null;
   gAddon2 = null;
   gAddon2Actor = null;
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-01.js
@@ -89,15 +89,15 @@ function testAttachRemovedTab() {
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab1 = null;
   gTab1Actor = null;
   gTab2 = null;
   gTab2Actor = null;
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-02.js
@@ -115,17 +115,17 @@ function testTabClosed() {
   is(onListChangedCount, 3, "onListChanged handler call count");
 
   gTabList.getList().then(aTabActors => {
     let tabActors = new Set(aTabActors);
     is(tabActors.size, 2, "gTabA closed: two tabs in list");
     ok(tabActors.has(gFirstActor), "gTabA closed: initial tab present");
 
     info("actors: " + [...tabActors].map(a => a.url));
-    gActorA = [...tabActors].filter(a => a!== gFirstActor)[0];
+    gActorA = [...tabActors].filter(a => a !== gFirstActor)[0];
     ok(gActorA.url.match(/^data:text\/html;/), "gTabA closed: new tab URL");
     is(gActorA.title, "JS Debugger BrowserTabList test page", "gTabA closed: new tab title");
   });
 }
 
 function addTabC() {
   return addTab(gTestPage).then(aTab => {
     gTabC = aTab;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_listtabs-03.js
@@ -14,36 +14,36 @@ var gTab1, gTab1Actor, gTab2, gTab2Actor
 function test() {
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
   }
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.connect().then(Task.async(function*([aType, aTraits]) {
+  gClient.connect().then(Task.async(function* ([aType, aTraits]) {
     is(aType, "browser",
       "Root actor should identify itself as a browser.");
     let tab = yield addTab(TAB1_URL);
 
     let { tabs } = yield gClient.listTabs();
     is(tabs.length, 2, "Should be two tabs");
-    let tabGrip = tabs.filter(a => a.url ==TAB1_URL).pop();
+    let tabGrip = tabs.filter(a => a.url == TAB1_URL).pop();
     ok(tabGrip, "Should have an actor for the tab");
 
     let response = yield gClient.request({ to: tabGrip.actor, type: "attach" });
     is(response.type, "tabAttached", "Should have attached");
 
     response = yield gClient.listTabs();
     tabs = response.tabs;
 
     response = yield gClient.request({ to: tabGrip.actor, type: "detach" });
     is(response.type, "detached", "Should have detached");
 
-    let newGrip = tabs.filter(a => a.url ==TAB1_URL).pop();
+    let newGrip = tabs.filter(a => a.url == TAB1_URL).pop();
     is(newGrip.actor, tabGrip.actor, "Should have the same actor for the same tab");
 
     response = yield gClient.request({ to: tabGrip.actor, type: "attach" });
     is(response.type, "tabAttached", "Should have attached");
     response = yield gClient.request({ to: tabGrip.actor, type: "detach" });
     is(response.type, "detached", "Should have detached");
 
     yield removeTab(tab);
@@ -53,15 +53,15 @@ function test() {
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab1 = null;
   gTab1Actor = null;
   gTab2 = null;
   gTab2Actor = null;
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-01-simple.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-01-simple.js
@@ -12,19 +12,19 @@ const TAB_URL = EXAMPLE_URL + "doc_recur
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require('./content/constants');
+    const constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 14);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
 
       is(gFrames.itemCount, 1,
          "Should have only one frame.");
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-02-blank.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-02-blank.js
@@ -12,19 +12,19 @@ const TAB_URL = EXAMPLE_URL + "doc_recur
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require('./content/constants');
+    const constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 14);
 
       navigateActiveTabTo(gPanel, "about:blank");
       yield waitForNavigation(gPanel);
 
       isnot(gDebugger.gThreadClient.state, "paused",
             "Should not be paused after a tab navigation.");
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js
@@ -14,19 +14,19 @@ function test() {
   initDebugger(TAB_URL_1).then(([aTab, aDebuggee, aPanel]) => {
     const gTab = aTab;
     const gDebuggee = aDebuggee;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require('./content/constants');
+    const constants = gDebugger.require("./content/constants");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 14);
 
       const startedLoading = waitForNextDispatch(gDebugger.DebuggerController,
                                                  constants.LOAD_SOURCE_TEXT);
       navigateActiveTabTo(gPanel, TAB_URL_2);
       yield startedLoading;
 
       isnot(gDebugger.gThreadClient.state, "paused",
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-04-breakpoint.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-04-breakpoint.js
@@ -14,27 +14,27 @@ const SOURCE_URL = EXAMPLE_URL + "code_l
 function test() {
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     const gTab = aTab;
     const gDebuggee = aDebuggee;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     function clickButtonAndPause() {
       const paused = waitForPause(gDebugger.gThreadClient);
       BrowserTestUtils.synthesizeMouse("button", 2, 2, {}, gBrowser.selectedBrowser);
       return paused;
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       const location = { actor: getSourceActor(gSources, SOURCE_URL), line: 5 };
       yield actions.addBreakpoint(location);
 
       const caretUpdated = waitForSourceAndCaret(gPanel, ".js", 5);
       gSources.highlightBreakpoint(location);
       yield caretUpdated;
@@ -120,40 +120,40 @@ function test() {
       gDebugger.gThreadClient.resume();
       packet = yield paused;
 
       is(packet.why.type, "debuggerStatement",
          "Execution has advanced to the next line.");
       isnot(packet.why.type, "breakpoint",
             "No ghost breakpoint was hit.");
 
-      yield ensureCaretAt(gPanel, 6, 1, true)
+      yield ensureCaretAt(gPanel, 6, 1, true);
 
       is(gDebugger.gThreadClient.state, "paused",
          "The debugger statement was hit (7).");
       is(getSelectedSourceURL(gSources), SOURCE_URL,
          "The currently shown source is incorrect (7).");
       ok(isCaretPos(gPanel, 6),
          "The source editor caret position is incorrect (7).");
 
-      let sourceShown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN)
+      let sourceShown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
       // Click the second source in the list.
       yield actions.selectSource(getSourceForm(gSources, TAB_URL));
       yield sourceShown;
       is(gEditor.getText().indexOf("debugger"), 447,
-         "The correct source is shown in the source editor.")
+         "The correct source is shown in the source editor.");
       is(gEditor.getBreakpoints().length, 0,
          "No breakpoints should be shown for the second source.");
       yield ensureCaretAt(gPanel, 1, 1, true);
 
       sourceShown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
       yield actions.selectSource(getSourceForm(gSources, SOURCE_URL));
       yield sourceShown;
       is(gEditor.getText().indexOf("debugger"), 148,
-         "The correct source is shown in the source editor.")
+         "The correct source is shown in the source editor.");
       is(gEditor.getBreakpoints().length, 1,
          "One breakpoint should be shown for the first source.");
 
       yield ensureCaretAt(gPanel, 6, 1, true);
       resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "runDebuggerStatement");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_multiple-windows.js
@@ -131,17 +131,17 @@ function testFocusFirst() {
 }
 
 function testRemoveTab() {
   let deferred = promise.defer();
 
   gNewWindow.close();
 
   // give it time to close
-  executeSoon(function() { continue_remove_tab(deferred) });
+  executeSoon(function () { continue_remove_tab(deferred); });
   return deferred.promise;
 }
 
 function continue_remove_tab(deferred)
 {
   removeTab(gNewTab);
 
   gClient.listTabs(aResponse => {
@@ -159,13 +159,13 @@ function continue_remove_tab(deferred)
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gNewTab = null;
   gNewWindow = null;
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_navigation.js
@@ -65,11 +65,11 @@ function testDetach(aActor) {
     is(aPacket.from, aActor, "tab detach message comes from the expected actor");
     gClient.close(deferred.resolve);
   });
 
   removeTab(gBrowser.selectedTab);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_no-dangling-breakpoints.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_no-dangling-breakpoints.js
@@ -4,21 +4,21 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Bug 1201008 - Make sure you can't set a breakpoint in a blank
  * editor
  */
 
 function test() {
-  initDebugger('data:text/html,hi').then(([aTab,, aPanel]) => {
+  initDebugger("data:text/html,hi").then(([aTab,, aPanel]) => {
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       const editor = gDebugger.DebuggerView.editor;
       editor.emit("gutterClick", 0);
       is(editor.getBreakpoints().length, 0,
          "A breakpoint should not exist");
 
       closeDebuggerAndFinish(gPanel);
     });
   });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_no-page-sources.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_no-page-sources.js
@@ -15,40 +15,40 @@ var gEditor, gSources;
 function test() {
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     gTab = aTab;
     gDebuggee = aDebuggee;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gEditor = gDebugger.DebuggerView.editor;
     gSources = gDebugger.DebuggerView.Sources;
-    const constants = gDebugger.require('./content/constants');
+    const constants = gDebugger.require("./content/constants");
 
     reloadActiveTab(gPanel);
     waitForNavigation(gPanel)
       .then(testSourcesEmptyText)
       .then(() => closeDebuggerAndFinish(gPanel))
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
   });
 }
 
 function testSourcesEmptyText() {
-    is(gSources.itemCount, 0,
+  is(gSources.itemCount, 0,
       "Found no entries in the sources widget.");
 
-    is(gEditor.getText().length, 0,
+  is(gEditor.getText().length, 0,
       "The source editor should not have any text displayed.");
 
-    is(gDebugger.document.querySelector("#sources .side-menu-widget-empty-text").getAttribute("value"),
+  is(gDebugger.document.querySelector("#sources .side-menu-widget-empty-text").getAttribute("value"),
        gDebugger.L10N.getStr("noSourcesText"),
       "The sources widget should now display 'This page has no sources'.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gDebuggee = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_on-pause-highlight.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_on-pause-highlight.js
@@ -49,17 +49,17 @@ function testPause() {
 
   EventUtils.sendMouseEvent({ type: "mousedown" },
     gDebugger.document.getElementById("resume"),
     gDebugger);
 
   // Evaluate a script to fully pause the debugger
   once(gDebugger.gClient, "willInterrupt").then(() => {
     evalInTab(gTab, "1+1;");
-  })
+  });
 }
 
 function testResume() {
   gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
     gToolbox.selectTool("webconsole").then(() => {
       ok(!gToolboxTab.classList.contains("highlighted"),
         "The highlighted class is not present now after the resume");
       ok(!gToolboxTab.hasAttribute("selected") ||
@@ -68,15 +68,15 @@ function testResume() {
     }).then(() => closeDebuggerAndFinish(gPanel));
   });
 
   EventUtils.sendMouseEvent({ type: "mousedown" },
     gDebugger.document.getElementById("resume"),
     gDebugger);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gToolbox = null;
   gToolboxTab = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_on-pause-raise.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_on-pause-raise.js
@@ -34,28 +34,28 @@ function performTest() {
     gFocusedWindow = window;
     testPause();
   });
 }
 
 function focusMainWindow() {
   // Make sure toolbox is not focused.
   window.addEventListener("focus", onFocus, true);
-  info("Focusing main window.")
+  info("Focusing main window.");
 
   // Execute soon to avoid any race conditions between toolbox and main window
   // getting focused.
   executeSoon(() => {
     window.focus();
   });
 }
 
 function onFocus() {
   window.removeEventListener("focus", onFocus, true);
-  info("Main window focused.")
+  info("Main window focused.");
 
   gFocusedWindow = window;
   testPause();
 }
 
 function testPause() {
   is(gDebugger.gThreadClient.paused, false,
     "Should be running after starting the test.");
@@ -121,17 +121,17 @@ function maybeEndTest() {
     info("Switching to a toolbox window host.");
     gToolbox.switchHost(Toolbox.HostType.WINDOW).then(focusMainWindow);
   } else {
     info("Switching to main window host.");
     gToolbox.switchHost(Toolbox.HostType.BOTTOM).then(() => closeDebuggerAndFinish(gPanel));
   }
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   // Revert to the default toolbox host, so that the following tests proceed
   // normally and not inside a non-default host.
   Services.prefs.setCharPref("devtools.toolbox.host", Toolbox.HostType.BOTTOM);
 
   gTab = null;
   gPanel = null;
   gDebugger = null;
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_optimized-out-vars.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_optimized-out-vars.js
@@ -26,17 +26,17 @@ function test() {
     yield waitForDebuggerEvents(panel, gDebugger.EVENTS.FETCHED_SCOPES);
     let gVars = gDebugger.DebuggerView.Variables;
     let outerScope = gVars.getScopeAtIndex(1);
     outerScope.expand();
 
     let upvarVar = outerScope.get("upvar");
     ok(upvarVar, "The variable `upvar` is shown.");
     is(upvarVar.target.querySelector(".value").getAttribute("value"),
-       gDebugger.L10N.getStr('variablesViewOptimizedOut'),
+       gDebugger.L10N.getStr("variablesViewOptimizedOut"),
        "Should show the optimized out message for upvar.");
 
     let argVar = outerScope.get("arg");
     is(argVar.target.querySelector(".name").getAttribute("value"), "arg",
       "Should have the right property name for |arg|.");
     is(argVar.target.querySelector(".value").getAttribute("value"), 42,
       "Should have the right property value for |arg|.");
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_parser-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_parser-03.js
@@ -8,25 +8,25 @@
  */
 
 function test() {
   let { Parser } = Cu.import("resource://devtools/shared/Parser.jsm", {});
 
   let source = [
     "<!doctype html>",
     "<head>",
-      "<script>",
-        "let a = 42;",
-      "</script>",
-      "<script type='text/javascript'>",
-        "let b = 42;",
-      "</script>",
-      "<script type='text/javascript;version=1.8'>",
-        "let c = 42;",
-      "</script>",
+    "<script>",
+    "let a = 42;",
+    "</script>",
+    "<script type='text/javascript'>",
+    "let b = 42;",
+    "</script>",
+    "<script type='text/javascript;version=1.8'>",
+    "let c = 42;",
+    "</script>",
     "</head>"
   ].join("\n");
   let parser = new Parser();
   let parsed = parser.get(source);
 
   ok(parsed,
     "HTML code should be parsed correctly.");
   is(parser.errors.length, 0,
--- a/devtools/client/debugger/test/mochitest/browser_dbg_parser-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_parser-04.js
@@ -8,25 +8,25 @@
  */
 
 function test() {
   let { Parser } = Cu.import("resource://devtools/shared/Parser.jsm", {});
 
   let source = [
     "<!doctype html>",
     "<head>",
-      "<SCRIPT>",
-        "let a + 42;",
-      "</SCRIPT>",
-      "<script type='text/javascript'>",
-        "let b = 42;",
-      "</SCRIPT>",
-      "<script type='text/javascript;version=1.8'>",
-        "let c + 42;",
-      "</SCRIPT>",
+    "<SCRIPT>",
+    "let a + 42;",
+    "</SCRIPT>",
+    "<script type='text/javascript'>",
+    "let b = 42;",
+    "</SCRIPT>",
+    "<script type='text/javascript;version=1.8'>",
+    "let c + 42;",
+    "</SCRIPT>",
     "</head>"
   ].join("\n");
   let parser = new Parser();
   // Don't pollute the logs with exceptions that we are going to check anyhow.
   parser.logExceptions = false;
   let parsed = parser.get(source);
 
   ok(parsed,
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-01.js
@@ -226,17 +226,17 @@ function disableIgnoreCaughtExceptions()
   });
 
   gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "false");
   gOptions._toggleIgnoreCaughtExceptions();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gVariables = null;
   gPrefs = null;
   gOptions = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pause-exceptions-02.js
@@ -27,17 +27,17 @@ function test() {
     isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
       "The pause-on-exceptions menu item should not be checked.");
 
     waitForSourceShown(aPanel, ".html")
       .then(enablePauseOnExceptions)
       .then(disableIgnoreCaughtExceptions)
       .then(() => reloadActiveTab(gPanel, gDebugger.EVENTS.SOURCE_SHOWN))
       .then(() => {
-          generateMouseClickInTab(gTab, "content.document.querySelector('button')");
+        generateMouseClickInTab(gTab, "content.document.querySelector('button')");
       })
       .then(testPauseOnExceptionsAfterReload)
       .then(disablePauseOnExceptions)
       .then(enableIgnoreCaughtExceptions)
       .then(() => closeDebuggerAndFinish(gPanel))
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
@@ -185,17 +185,17 @@ function disableIgnoreCaughtExceptions()
   });
 
   gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "false");
   gOptions._toggleIgnoreCaughtExceptions();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gVariables = null;
   gPrefs = null;
   gOptions = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pause-no-step.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pause-no-step.js
@@ -70,20 +70,20 @@ function testBreakAtLocation() {
   gDebugger.gThreadClient.addOneTimeListener("paused", () => {
     ok(!gStepOutButton.disabled, "Stepping out button should be enabled");
     ok(!gStepInButton.disabled, "Stepping in button should be enabled");
     ok(!gStepOverButton.disabled, "Stepping over button should be enabled");
 
     resumeDebuggerThenCloseAndFinish(gPanel);
   });
 
-  BrowserTestUtils.synthesizeMouseAtCenter('button', {}, gBrowser.selectedBrowser);
+  BrowserTestUtils.synthesizeMouseAtCenter("button", {}, gBrowser.selectedBrowser);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gPanel = null;
   gDebugger = null;
   gResumeButton = null;
   gStepOverButton = null;
   gStepInButton = null;
   gStepOutButton = null;
   gResumeKey = null;
   gFrames = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pause-resume.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pause-resume.js
@@ -72,16 +72,16 @@ function testResume() {
       "Button tooltip should be pause when running.");
 
     closeDebuggerAndFinish(gPanel);
   });
 
   EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gResumeButton = null;
   gResumeKey = null;
   gFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pause-warning.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pause-warning.js
@@ -91,15 +91,15 @@ function testResume() {
     closeDebuggerAndFinish(gPanel);
   });
 
   EventUtils.sendMouseEvent({ type: "mousedown" },
     gDebugger.document.getElementById("resume"),
     gDebugger);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gTarget = null;
   gToolbox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_post-page.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_post-page.js
@@ -12,42 +12,42 @@ const TAB_URL = EXAMPLE_URL + "sjs_post-
 const FORM = "<form method=\"POST\"><input type=\"submit\"></form>";
 const GET_CONTENT = "<script>\"GET\";</script>" + FORM;
 const POST_CONTENT = "<script>\"POST\";</script>" + FORM;
 
 add_task(function* () {
   let [tab,, panel] = yield initDebugger("about:blank");
   let win = panel.panelWin;
   let editor = win.DebuggerView.editor;
-  let queries = win.require('./content/queries');
+  let queries = win.require("./content/queries");
   let getState = win.DebuggerController.getState;
 
   yield navigateActiveTabTo(panel,
                             TAB_URL,
                             win.EVENTS.SOURCE_SHOWN);
 
   let source = queries.getSelectedSource(getState());
 
   is(queries.getSourceCount(getState()), 1,
-    "There should be one source displayed in the view.")
+    "There should be one source displayed in the view.");
   is(source.url, TAB_URL,
     "The correct source is currently selected in the view.");
   is(editor.getText(), GET_CONTENT,
     "The currently shown source contains bacon. Mmm, delicious!");
 
   // Submit the form and wait for debugger update
   let onSourceUpdated = waitForSourceShown(panel, TAB_URL);
-  yield ContentTask.spawn(tab.linkedBrowser, null, function() {
+  yield ContentTask.spawn(tab.linkedBrowser, null, function () {
     content.document.querySelector("input[type=\"submit\"]").click();
   });
   yield onSourceUpdated;
 
   // Verify that the source updates to the POST page content
   source = queries.getSelectedSource(getState());
   is(queries.getSourceCount(getState()), 1,
-    "There should be one source displayed in the view.")
+    "There should be one source displayed in the view.");
   is(source.url, TAB_URL,
     "The correct source is currently selected in the view.");
   is(editor.getText(), POST_CONTENT,
     "The currently shown source contains bacon. Mmm, delicious!");
 
   yield closeDebuggerAndFinish(panel);
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-01.js
@@ -11,35 +11,35 @@ const TAB_URL = EXAMPLE_URL + "doc_prett
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly.js");
 
       ok(!gEditor.getText().includes("\n  "),
          "The source shouldn't be pretty printed yet.");
 
       const finished = waitForSourceShown(gPanel, "code_ugly.js");
       gDebugger.document.getElementById("pretty-print").click();
       const deck = gDebugger.document.getElementById("editor-deck");
       is(deck.selectedIndex, 2, "The progress bar should be shown");
       yield finished;
 
       ok(gEditor.getText().includes("\n  "),
-         "The source should be pretty printed.")
+         "The source should be pretty printed.");
       is(deck.selectedIndex, 0, "The editor should be shown");
 
       const source = queries.getSelectedSource(getState());
       const { loading, text } = queries.getSourceText(getState(), source.actor);
       ok(!loading, "Source text is not loading");
       ok(text.includes("\n  "),
          "Subsequent calls to getText return the pretty printed source.");
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-02.js
@@ -13,26 +13,26 @@ const TAB_URL = EXAMPLE_URL + "doc_prett
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gContextMenu = gDebugger.document.getElementById("sourceEditorContextMenu");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly.js");
 
       const finished = waitForSourceShown(gPanel, "code_ugly.js");
       once(gContextMenu, "popupshown").then(() => {
         const menuItem = gDebugger.document.getElementById("se-dbg-cMenu-prettyPrint");
         menuItem.click();
       });
       gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false);
       yield finished;
 
       ok(gEditor.getText().includes("\n  "),
-         "The source should be pretty printed.")
+         "The source should be pretty printed.");
 
       closeDebuggerAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-03.js
@@ -10,17 +10,17 @@
 const TAB_URL = EXAMPLE_URL + "doc_pretty-print.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly.js");
 
       const paused = waitForPause(gDebugger.gThreadClient);
       callInTab(gTab, "foo");
       yield paused;
 
       const finished = promise.all([
         waitForSourceShown(gPanel, "code_ugly.js"),
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-04.js
@@ -11,17 +11,17 @@ const TAB_URL = EXAMPLE_URL + "doc_prett
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSearchBox = gDebugger.DebuggerView.Filtering._searchbox;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly.js");
 
       let popupShown = promise.defer();
       once(gDebugger, "popupshown").then(() => {
         ok(isCaretPos(gPanel, 2, 10),
            "The bar function's non-pretty-printed location should be shown.");
         popupShown.resolve();
       });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-05.js
@@ -11,22 +11,22 @@ const TAB_URL = EXAMPLE_URL + "doc_inclu
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, TAB_URL);
 
       // From this point onward, the source editor's text should never change.
       gEditor.once("change", () => {
         ok(false, "The source editor text shouldn't have changed.");
       });
 
       is(getSelectedSourceURL(gSources), TAB_URL,
@@ -34,17 +34,17 @@ function test() {
       ok(gEditor.getText().includes("myFunction"),
         "The source shouldn't be pretty printed yet.");
 
       const source = queries.getSelectedSource(getState());
       try {
         yield actions.togglePrettyPrint(source);
         ok(false, "An error occurred while pretty-printing");
       }
-      catch(err) {
+      catch (err) {
         is(err.message, "Can't prettify non-javascript files.",
            "The promise was correctly rejected with a meaningful message.");
       }
 
       const { text } = yield queries.getSourceText(getState(), source.actor);
       is(getSelectedSourceURL(gSources), TAB_URL,
         "The correct source is still selected.");
       ok(gEditor.getText().includes("myFunction"),
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-06.js
@@ -13,18 +13,18 @@ const JS_URL = EXAMPLE_URL + "code_locat
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gClient = gDebugger.gClient;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
     let gPrettyPrinted = false;
 
     // We can't feed javascript files with syntax errors to the debugger,
     // because they will never run, thus sometimes getting gc'd before the
     // debugger is opened, or even before the target finishes navigating.
     // Make the client lie about being able to parse perfectly fine code.
@@ -33,34 +33,34 @@ function test() {
         if (aPacket.type == "prettyPrint") {
           gPrettyPrinted = true;
           return promise.reject({ error: "prettyPrintError" });
         }
         return aOriginalRequestMethod(aPacket, aCallback);
       };
     }(gClient.request));
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, JS_URL);
 
       // From this point onward, the source editor's text should never change.
       gEditor.once("change", () => {
         ok(false, "The source editor text shouldn't have changed.");
       });
 
       is(getSelectedSourceURL(gSources), JS_URL,
         "The correct source is currently selected.");
       ok(gEditor.getText().includes("myFunction"),
         "The source shouldn't be pretty printed yet.");
 
       const source = queries.getSelectedSource(getState());
       try {
         yield actions.togglePrettyPrint(source);
         ok(false, "The promise for a prettified source should be rejected!");
-      } catch(error) {
+      } catch (error) {
         ok(error.error, "Error came from a RDP request");
         ok(error.error.includes("prettyPrintError"),
           "The promise was correctly rejected with a meaningful message.");
       }
 
       const { text } = yield queries.getSourceText(getState(), source.actor);
       is(getSelectedSourceURL(gSources), JS_URL,
         "The correct source is still selected.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-07.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-07.js
@@ -19,17 +19,17 @@ function test() {
 
     findSource();
   });
 }
 
 function findSource() {
   gThreadClient.getSources(({ error, sources }) => {
     ok(!error);
-    sources = sources.filter(s => s.url.includes('code_ugly-2.js'));
+    sources = sources.filter(s => s.url.includes("code_ugly-2.js"));
     is(sources.length, 1);
     gSource = sources[0];
     prettyPrintSource();
   });
 }
 
 function prettyPrintSource() {
   gThreadClient.source(gSource).prettyPrint(4, testPrettyPrinted);
@@ -48,11 +48,11 @@ function disablePrettyPrint() {
 
 function testUgly({ error, source }) {
   ok(!error, "Should not get an error while disabling pretty-printing");
   ok(!source.includes("\n    "),
      "Source should not be pretty after disabling pretty-printing");
   closeDebuggerAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = gPanel = gClient = gThreadClient = gSource = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-08.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-08.js
@@ -85,11 +85,11 @@ function testHitBreakpoint() {
     is(source.actor, BP_LOCATION.actor, "source.actor should be the right actor");
     is(line, BP_LOCATION.line, "the line should the right line");
 
     resumeDebuggerThenCloseAndFinish(gPanel);
   });
   gThreadClient.resume();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = gPanel = gClient = gThreadClient = gSource = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-09.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-09.js
@@ -78,11 +78,11 @@ function getFrame() {
 function testFrame({ frames: [frame] }) {
   const { source, line } = frame.where;
   is(source.url, B_URL);
   is(line, 1);
 
   resumeDebuggerThenCloseAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = gPanel = gClient = gThreadClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-10.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-10.js
@@ -12,20 +12,20 @@ const TAB_URL = EXAMPLE_URL + "doc_prett
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly.js");
 
       ok(!gEditor.getText().includes("\n    "),
          "The source shouldn't be pretty printed yet.");
 
       yield toggleBlackBoxing(gPanel);
 
       // Wait a tick before clicking to make sure the frontend's blackboxchange
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-11.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-11.js
@@ -43,18 +43,18 @@ function testSourceIsUgly() {
 }
 
 function clickPrettyPrintButton() {
   gDebugger.document.getElementById("pretty-print").click();
 }
 
 function testSourceIsPretty() {
   ok(gEditor.getText().includes("\n  "),
-     "The source should be pretty printed.")
+     "The source should be pretty printed.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-12.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-12.js
@@ -12,36 +12,36 @@ const TAB_URL = EXAMPLE_URL + "doc_black
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "");
       const source = getSourceForm(gSources, TAB_URL);
       let shown = ensureSourceIs(gPanel, TAB_URL, true);
       actions.selectSource(source);
       yield shown;
 
       try {
         yield actions.togglePrettyPrint(source);
         ok(false, "An error occurred while pretty-printing");
       }
-      catch(err) {
+      catch (err) {
         is(err.message, "Can't prettify non-javascript files.",
            "The promise was correctly rejected with a meaningful message.");
       }
 
       is(gDebugger.document.getElementById("pretty-print").checked, false,
          "The button shouldn't be checked after trying to pretty print a non-js file.");
 
       closeDebuggerAndFinish(gPanel);
-    })
+    });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-13.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-13.js
@@ -13,37 +13,37 @@ const TAB_URL = EXAMPLE_URL + "doc_prett
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "code_ugly-8");
       ok(!gEditor.getText().includes("\n  "),
          "The source shouldn't be pretty printed yet.");
 
       const finished = waitForSourceShown(gPanel, "code_ugly-8");
       gDebugger.document.getElementById("pretty-print").click();
       const deck = gDebugger.document.getElementById("editor-deck");
       is(deck.selectedIndex, 2, "The progress bar should be shown");
       yield finished;
 
       ok(gEditor.getText().includes("\n  "),
-         "The source should be pretty printed.")
+         "The source should be pretty printed.");
       is(deck.selectedIndex, 0, "The editor should be shown");
 
       const source = queries.getSelectedSource(getState());
       const { text } = queries.getSourceText(getState(), source.actor);
       ok(text.includes("\n  "),
          "Subsequent calls to getText return the pretty printed source.");
 
       closeDebuggerAndFinish(gPanel);
-    })
+    });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-on-paused.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_pretty-print-on-paused.js
@@ -9,17 +9,17 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_pretty-print-on-paused.html";
 
 var gTab, gPanel, gDebugger, gThreadClient, gSources;
 
 const SECOND_SOURCE_VALUE = EXAMPLE_URL + "code_ugly-2.js";
 
-function test(){
+function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gThreadClient = gDebugger.gThreadClient;
     gSources = gDebugger.DebuggerView.Sources;
 
     Task.spawn(function* () {
@@ -52,15 +52,15 @@ function test(){
       } catch (e) {
         DevToolsUtils.reportException("browser_dbg_pretty-print-on-paused.js", e);
         ok(false, "Got an error: " + DevToolsUtils.safeErrorString(e));
       }
     });
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gThreadClient = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_progress-listener-bug.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_progress-listener-bug.js
@@ -39,44 +39,44 @@ function testPause() {
   callInTab(gTab, "runDebuggerStatement");
 }
 
 // This is taken almost verbatim from bug 771655.
 function installListener() {
   if ("_testPL" in window) {
     gOldListener = _testPL;
 
-    Cc['@mozilla.org/docloaderservice;1']
+    Cc["@mozilla.org/docloaderservice;1"]
       .getService(Ci.nsIWebProgress)
       .removeProgressListener(_testPL);
   }
 
   window._testPL = {
     START_DOC: Ci.nsIWebProgressListener.STATE_START |
                Ci.nsIWebProgressListener.STATE_IS_DOCUMENT,
-    onStateChange: function(wp, req, stateFlags, status) {
+    onStateChange: function (wp, req, stateFlags, status) {
       if ((stateFlags & this.START_DOC) === this.START_DOC) {
         // This DOMWindow access triggers the unload event.
         wp.DOMWindow;
       }
     },
-    QueryInterface: function(iid) {
+    QueryInterface: function (iid) {
       if (iid.equals(Ci.nsISupportsWeakReference) ||
           iid.equals(Ci.nsIWebProgressListener))
         return this;
       throw Cr.NS_ERROR_NO_INTERFACE;
     }
-  }
+  };
 
-  Cc['@mozilla.org/docloaderservice;1']
+  Cc["@mozilla.org/docloaderservice;1"]
     .getService(Ci.nsIWebProgress)
     .addProgressListener(_testPL, Ci.nsIWebProgress.NOTIFY_STATE_REQUEST);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   if (gOldListener) {
     window._testPL = gOldListener;
   } else {
     delete window._testPL;
   }
 
   gTab = null;
   gPanel = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-01.js
@@ -38,15 +38,15 @@ function finishTest() {
   closeDebuggerAndFinish(gPanel);
 }
 
 function prepareDebugger(aPanel) {
   let sources = aPanel._view.Sources;
   sources.preferredSource = getSourceActor(sources, PREFERRED_URL);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gDebuggee = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-02.js
@@ -33,14 +33,14 @@ function finishTest() {
   is(getSourceURL(gSources, gSources.preferredValue), PREFERRED_URL,
     "The preferred source url wasn't set correctly.");
   is(getSourceURL(gSources, gSources.selectedValue), PREFERRED_URL,
     "The selected source isn't the correct one.");
 
   closeDebuggerAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_reload-preferred-script-03.js
@@ -46,14 +46,14 @@ function testSource(aPreferredUrl, aSele
 }
 
 function switchToSource(aUrl) {
   let finished = waitForSourceShown(gPanel, aUrl);
   gSources.preferredSource = getSourceActor(gSources, aUrl);
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_reload-same-script.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_reload-same-script.js
@@ -16,17 +16,17 @@ function test() {
   requestLongerTimeout(2);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = aPanel.panelWin;
     const gTarget = gDebugger.gTarget;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
     let gStep = 0;
 
     function reloadPage() {
       const navigated = waitForNavigation(gPanel);
       reload(gPanel);
       return navigated;
@@ -47,38 +47,38 @@ function test() {
       is(prefSource, aExpectedUrl,
          "The preferred source url wasn't set correctly (" + gStep + ").");
       is(selSource, aUrl,
          "The selected source isn't the correct one (" + gStep + ").");
     }
 
     function performTest() {
       switch (gStep++) {
-      case 0:
-        testCurrentSource(FIRST_URL, null);
-        reloadPage().then(performTest);
-        break;
-      case 1:
-        testCurrentSource(FIRST_URL);
-        reloadPage().then(performTest);
-        break;
-      case 2:
-        testCurrentSource(FIRST_URL);
-        switchAndReload(SECOND_URL).then(performTest);
-        break;
-      case 3:
-        testCurrentSource(SECOND_URL);
-        reloadPage().then(performTest);
-        break;
-      case 4:
-        testCurrentSource(SECOND_URL);
-        reloadPage().then(performTest);
-        break;
-      case 5:
-        testCurrentSource(SECOND_URL);
-        closeDebuggerAndFinish(gPanel);
-        break;
+        case 0:
+          testCurrentSource(FIRST_URL, null);
+          reloadPage().then(performTest);
+          break;
+        case 1:
+          testCurrentSource(FIRST_URL);
+          reloadPage().then(performTest);
+          break;
+        case 2:
+          testCurrentSource(FIRST_URL);
+          switchAndReload(SECOND_URL).then(performTest);
+          break;
+        case 3:
+          testCurrentSource(SECOND_URL);
+          reloadPage().then(performTest);
+          break;
+        case 4:
+          testCurrentSource(SECOND_URL);
+          reloadPage().then(performTest);
+          break;
+        case 5:
+          testCurrentSource(SECOND_URL);
+          closeDebuggerAndFinish(gPanel);
+          break;
       }
     }
 
     waitForSourceShown(gPanel, FIRST_URL).then(performTest);
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-01.js
@@ -116,17 +116,17 @@ function test() {
          "Editor debugger location is correct. (3)");
       ok(gEditor.hasLineClass(5, "debug-line"),
          "The debugged line is highlighted appropriately (3).");
 
       // Step out twice.
       waitForThreadEvents(gPanel, "paused").then(() => {
         waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN).then(deferred.resolve);
         gDebugger.gThreadClient.stepOut();
-      })
+      });
       gDebugger.gThreadClient.stepOut();
 
       return deferred.promise;
     }
 
     function testSwitchRunning() {
       ok(gSources.selectedItem,
          "There should be a selected item in the sources pane. (4)");
@@ -141,17 +141,17 @@ function test() {
       ok(isCaretPos(gPanel, 6),
          "Editor caret location is correct. (4)");
       is(gEditor.getDebugLocation(), 5,
          "Editor debugger location is correct. (4)");
       ok(gEditor.hasLineClass(5, "debug-line"),
          "The debugged line is highlighted appropriately (3). (4)");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js", 1);
       ok(gDebugger.document.title.endsWith(EXAMPLE_URL + gLabel1),
          "Title with first source is correct.");
 
       const shown = waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
       callInTab(gTab, "firstCall");
       yield shown;
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-02.js
@@ -140,20 +140,20 @@ function test() {
       ok(gEditor.hasLineClass(5, "debug-line"),
          "The debugged line is highlighted appropriately. (4)");
 
       deferred.resolve();
 
       return deferred.promise;
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
       yield testSourcesDisplay();
       yield testSwitchPaused1();
       yield testSwitchPaused2();
       yield testSwitchRunning();
-      resumeDebuggerThenCloseAndFinish(gPanel)
+      resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "firstCall");
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_scripts-switching-03.js
@@ -45,16 +45,16 @@ function test() {
       });
     }
 
     function testDebuggerLoadingError() {
       ok(gEditor.getText().includes(gL10N.getFormatStr("errorLoadingText2", "")),
          "The valid error loading message is displayed.");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
       showBogusSource();
       testDebuggerLoadingError();
       closeDebuggerAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-autofill-identifier.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-autofill-identifier.js
@@ -8,17 +8,17 @@
  * selected or manually passed and searching using certain operators.
  */
 "use strict";
 
 function test() {
   const TAB_URL = EXAMPLE_URL + "doc_function-search.html";
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
-    let Source = 'code_function-search-01.js';
+    let Source = "code_function-search-01.js";
     let Debugger = aPanel.panelWin;
     let Editor = Debugger.DebuggerView.editor;
     let Filtering = Debugger.DebuggerView.Filtering;
 
     function doSearch(aOperator) {
       Editor.dropSelection();
       Filtering._doSearch(aOperator);
     }
@@ -129,9 +129,9 @@ function test() {
       is(Filtering._searchbox.selectionStart, Filtering._searchbox.selectionEnd,
         "The searchbox contents should not be selected");
       is(Editor.getSelection(), "",
         "The selection in the editor should be empty.");
 
       closeDebuggerAndFinish(aPanel);
     });
   });
-};
+}
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js
@@ -310,17 +310,17 @@ function performTest() {
     "The searchbox data wasn't parsed correctly.");
   is(gSearchBox.value, ":100",
     "The search field has the right initial value (2).");
 
 
   closeDebuggerAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gFiltering = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-02.js
@@ -110,15 +110,15 @@ function verifySourceAndCaret(aUrl, aLin
   ok(gSources.selectedItem.attachment.source.url.includes(aUrl),
     "The selected item's value appears to be correct.");
   ok(isCaretPos(gPanel, aLine, aColumn),
     "The current caret position appears to be correct.");
   ok(isEditorSel(gPanel, aSelection),
     "The current editor selection appears to be correct.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-03.js
@@ -104,15 +104,15 @@ function verifySourceAndCaret(aUrl, aLin
   ok(gSources.selectedItem.attachment.label.includes(aUrl),
     "The selected item's label appears to be correct.");
   ok(gSources.selectedItem.attachment.source.url.includes(aUrl),
     "The selected item's value appears to be correct.");
   ok(isCaretPos(gPanel, aLine, aColumn),
     "The current caret position appears to be correct.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-04.js
@@ -117,16 +117,16 @@ function testTokenSearch() {
   ok(isEditorSel(gPanel, [148, 148]),
     "The editor selection appears to be correct (2.5).");
   is(gEditor.getSelection(), "",
     "The editor selected text appears to be correct (2.5).");
   is(gSearchBox.value, "",
     "The searchbox should have been cleared.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-01.js
@@ -62,19 +62,19 @@ function firstSearch() {
 
       let sourceResults = gDebugger.document.querySelectorAll(".dbg-source-results");
       is(sourceResults.length, 2,
         "There should be matches found in two sources.");
 
       let item0 = gDebugger.SourceResults.getItemForElement(sourceResults[0]);
       let item1 = gDebugger.SourceResults.getItemForElement(sourceResults[1]);
       is(item0.instance.expanded, true,
-        "The first source results should automatically be expanded.")
+        "The first source results should automatically be expanded.");
       is(item1.instance.expanded, true,
-        "The second source results should automatically be expanded.")
+        "The second source results should automatically be expanded.");
 
       let searchResult0 = sourceResults[0].querySelectorAll(".dbg-search-result");
       let searchResult1 = sourceResults[1].querySelectorAll(".dbg-search-result");
       is(searchResult0.length, 1,
         "There should be one line result for the first url.");
       is(searchResult1.length, 2,
         "There should be two line results for the second url.");
 
@@ -131,19 +131,19 @@ function firstSearch() {
 
       is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=true]").length, 1,
         "The second result for the second source doesn't have the correct number of matches in a line.");
       is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=true]")[0].getAttribute("value"), "de",
         "The second result for the second source doesn't have the correct match in a line.");
 
       is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=false]").length, 2,
         "The second result for the second source doesn't have the correct number of non-matches in a line.");
-      is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=false]")[0].getAttribute("value"), '  ',
+      is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=false]")[0].getAttribute("value"), "  ",
         "The second result for the second source doesn't have the correct non-matches in a line.");
-      is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=false]")[1].getAttribute("value"), 'bugger;',
+      is(secondLine1.querySelectorAll(".dbg-results-line-contents-string[match=false]")[1].getAttribute("value"), "bugger;",
         "The second result for the second source doesn't have the correct non-matches in a line.");
 
       deferred.resolve();
     });
   });
 
   setText(gSearchBox, "!de");
 
@@ -176,19 +176,19 @@ function secondSearch() {
 
       let sourceResults = gDebugger.document.querySelectorAll(".dbg-source-results");
       is(sourceResults.length, 2,
         "There should be matches found in two sources.");
 
       let item0 = gDebugger.SourceResults.getItemForElement(sourceResults[0]);
       let item1 = gDebugger.SourceResults.getItemForElement(sourceResults[1]);
       is(item0.instance.expanded, true,
-        "The first source results should automatically be expanded.")
+        "The first source results should automatically be expanded.");
       is(item1.instance.expanded, true,
-        "The second source results should automatically be expanded.")
+        "The second source results should automatically be expanded.");
 
       let searchResult0 = sourceResults[0].querySelectorAll(".dbg-search-result");
       let searchResult1 = sourceResults[1].querySelectorAll(".dbg-search-result");
       is(searchResult0.length, 1,
         "There should be one line result for the first url.");
       is(searchResult1.length, 1,
         "There should be one line result for the second url.");
 
@@ -258,17 +258,17 @@ function clearSearch() {
   is(gSearchView.itemCount, 0,
     "The global search pane shouldn't have any child nodes after clearing.");
   is(gSearchView.widget._parent.hidden, true,
     "The global search pane shouldn't be visible after clearing.");
   is(gSearchView._splitter.hidden, true,
     "The global search pane splitter shouldn't be visible after clearing.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-02.js
@@ -178,17 +178,17 @@ function test() {
       is(gSearchView.itemCount, 0,
          "The global search pane shouldn't have any child nodes after clearing.");
       is(gSearchView.widget._parent.hidden, true,
          "The global search pane shouldn't be visible after clearing.");
       is(gSearchView._splitter.hidden, true,
          "The global search pane splitter shouldn't be visible after clearing.");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
       yield firstSearch();
       yield doFirstJump();
       yield doSecondJump();
       yield doWrapAroundJump();
       yield doBackwardsWrapAroundJump();
       yield testSearchTokenEmpty();
       resumeDebuggerThenCloseAndFinish(gPanel);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-03.js
@@ -90,17 +90,17 @@ function performTest() {
       "The global search pane splitter shouldn't be visible after a page navigation.");
 
     deferred.resolve();
   });
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-04.js
@@ -78,17 +78,17 @@ function secondSearch() {
     deferred.resolve();
   });
 
   typeText(gSearchBox, "/");
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-05.js
@@ -70,19 +70,19 @@ function testExpandCollapse() {
   let item1 = gDebugger.SourceResults.getItemForElement(sourceResults[1]);
   let firstHeader = sourceResults[0].querySelector(".dbg-results-header");
   let secondHeader = sourceResults[1].querySelector(".dbg-results-header");
 
   EventUtils.sendMouseEvent({ type: "click" }, firstHeader);
   EventUtils.sendMouseEvent({ type: "click" }, secondHeader);
 
   is(item0.instance.expanded, false,
-    "The first source results should be collapsed on click. (2)")
+    "The first source results should be collapsed on click. (2)");
   is(item1.instance.expanded, false,
-    "The second source results should be collapsed on click. (2)")
+    "The second source results should be collapsed on click. (2)");
 
   EventUtils.sendMouseEvent({ type: "click" }, firstHeader);
   EventUtils.sendMouseEvent({ type: "click" }, secondHeader);
 
   is(item0.instance.expanded, true,
     "The first source results should be expanded on an additional click. (3)");
   is(item1.instance.expanded, true,
     "The second source results should be expanded on an additional click. (3)");
@@ -140,17 +140,17 @@ function testClickMatchToJump() {
     deferred.resolve();
   });
 
   EventUtils.sendMouseEvent({ type: "click" }, lastMatch);
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-global-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-global-06.js
@@ -94,28 +94,28 @@ function testFocusLost() {
 function testEscape() {
   is(gSearchView.itemCount, 2,
     "The global search pane should have some entries from the previous search.");
   is(gSearchView.widget._parent.hidden, false,
     "The global search pane should be visible from the previous search.");
   is(gSearchView._splitter.hidden, false,
     "The global search pane splitter should be visible from the previous search.");
 
-   gSearchBox.focus();
-   EventUtils.sendKey("ESCAPE", gDebugger);
+  gSearchBox.focus();
+  EventUtils.sendKey("ESCAPE", gDebugger);
 
   is(gSearchView.itemCount, 0,
     "The global search pane shouldn't have any child nodes after clearing.");
   is(gSearchView.widget._parent.hidden, true,
     "The global search pane shouldn't be visible after clearing.");
   is(gSearchView._splitter.hidden, true,
     "The global search pane splitter shouldn't be visible after clearing.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-popup-jank.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-popup-jank.js
@@ -112,14 +112,14 @@ function pressKey(aKey) {
 }
 
 function pressKeyToHide(aKey) {
   let finished = waitForResultsHidden();
   EventUtils.sendKey(aKey, gDebugger);
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-01.js
@@ -16,17 +16,17 @@ function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const gSearchView = gDebugger.DebuggerView.Filtering.FilteredSources;
     const gSearchBox = gDebugger.DebuggerView.Filtering._searchbox;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       // move searches to yields
       // not sure what to do with the error...
 
       yield waitForSourceShown(gPanel, "-01.js");
       yield bogusSearch();
       yield firstSearch();
       yield secondSearch();
       yield thirdSearch();
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-02.js
@@ -148,17 +148,17 @@ function goDown() {
     ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     waitForSourceShown(gPanel, "test-editor-mode"),
   ]);
 
   EventUtils.sendKey("DOWN", gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"test-editor-mode"),
+    ensureSourceIs(gPanel, "test-editor-mode"),
     ensureCaretAt(gPanel, 1),
     verifyContents([
       "code_script-switching-01.js?a=b",
       "code_test-editor-mode?c=d"
     ])
   ]));
 }
 
@@ -167,90 +167,90 @@ function goDownAndWrap() {
     ensureSourceIs(gPanel, "test-editor-mode"),
     ensureCaretAt(gPanel, 1),
     waitForSourceShown(gPanel, "-01.js")
   ]);
 
   EventUtils.synthesizeKey("g", { metaKey: true }, gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     verifyContents([
       "code_script-switching-01.js?a=b",
       "code_test-editor-mode?c=d"
     ])
   ]));
 }
 
 function goUpAndWrap() {
   let finished = promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     waitForSourceShown(gPanel, "test-editor-mode")
   ]);
 
   EventUtils.synthesizeKey("G", { metaKey: true }, gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"test-editor-mode"),
+    ensureSourceIs(gPanel, "test-editor-mode"),
     ensureCaretAt(gPanel, 1),
     verifyContents([
       "code_script-switching-01.js?a=b",
       "code_test-editor-mode?c=d"
     ])
   ]));
 }
 
 function goUp() {
   let finished = promise.all([
-    ensureSourceIs(gPanel,"test-editor-mode"),
+    ensureSourceIs(gPanel, "test-editor-mode"),
     ensureCaretAt(gPanel, 1),
     waitForSourceShown(gPanel, "-01.js"),
   ]);
 
   EventUtils.sendKey("UP", gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     verifyContents([
       "code_script-switching-01.js?a=b",
       "code_test-editor-mode?c=d"
     ])
   ]));
 }
 
 function returnAndSwitch() {
   let finished = promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     once(gDebugger, "popuphidden")
   ]);
 
   EventUtils.sendKey("RETURN", gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1)
   ]));
 }
 
 function clickAndSwitch() {
   let finished = promise.all([
-    ensureSourceIs(gPanel,"-01.js"),
+    ensureSourceIs(gPanel, "-01.js"),
     ensureCaretAt(gPanel, 1),
     once(gDebugger, "popuphidden"),
     waitForSourceShown(gPanel, "test-editor-mode")
   ]);
 
   EventUtils.sendMouseEvent({ type: "click" }, gSearchView.items[1].target, gDebugger);
 
   return finished.then(() => promise.all([
-    ensureSourceIs(gPanel,"test-editor-mode"),
+    ensureSourceIs(gPanel, "test-editor-mode"),
     ensureCaretAt(gPanel, 1)
   ]));
 }
 
 function verifyContents(aMatches) {
   is(gSources.visibleItems.length, 3,
     "The unmatched sources in the widget should not be hidden.");
   is(gSearchView.itemCount, aMatches.length,
@@ -262,17 +262,17 @@ function verifyContents(aMatches) {
 
     ok(gSearchView.widget._parent.querySelector(".results-panel-item-label[value=\"" + trimmedLabel + "\"]"),
       "The filtered sources view should have the correct source labels.");
     ok(gSearchView.widget._parent.querySelector(".results-panel-item-label-below[value=\"" + trimmedLocation + "\"]"),
       "The filtered sources view should have the correct source locations.");
   }
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
   gSourceUtils = null;
   gSearchView = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-sources-03.js
@@ -86,15 +86,15 @@ function verifySourcesPane() {
   ok(gSources.getItemForAttachment(e => e.label == "code_script-switching-01.js"),
     "The first source's label should be correct.");
   ok(gSources.getItemForAttachment(e => e.label == "code_test-editor-mode"),
     "The second source's label should be correct.");
   ok(gSources.getItemForAttachment(e => e.label == "doc_editor-mode.html"),
     "The third source's label should be correct.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_search-symbols.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-symbols.js
@@ -164,17 +164,17 @@ function firstJsSearch() {
           "The editor didn't jump to the correct line.");
 
         EventUtils.sendKey("DOWN", gDebugger);
       }
 
       ok(isCaretPos(gPanel, expectedResults[0][3], expectedResults[0][4]),
         "The editor didn't jump to the correct line again.");
 
-      deferred.resolve()
+      deferred.resolve();
     } else {
       ok(false, "How did you get here? Go away, you.");
     }
   });
 
   setText(gSearchBox, "@");
   return deferred.promise;
 }
@@ -453,17 +453,17 @@ function saveSearch() {
   return finished;
 }
 
 function writeInfo() {
   info("Current source url:\n" + getSelectedSourceURL(gSources));
   info("Debugger editor text:\n" + gEditor.getText());
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gSearchBox = null;
   gFilteredFunctions = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-01.js
@@ -46,15 +46,15 @@ function hidePopup() {
   is(gSearchBoxPanel.state, "open",
     "The search box panel should be visible after searching started.");
 
   let finished = once(gSearchBoxPanel, "popuphidden");
   setText(gSearchBox, "#");
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSearchBox = null;
   gSearchBoxPanel = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_searchbox-help-popup-02.js
@@ -71,16 +71,16 @@ function testFocusLost() {
     "The editor selection appears to be correct after gaining focus.");
   is(gEditor.getSelection(), "Call()",
     "The editor selected text appears to be correct after gaining focus.");
 
   is(gSearchBoxPanel.state, "closed",
     "The search box panel should still not be visible.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSearchBox = null;
   gSearchBoxPanel = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-01.js
@@ -14,22 +14,22 @@ function test() {
   requestLongerTimeout(2);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    const addBreakpoints = Task.async(function*() {
+    const addBreakpoints = Task.async(function* () {
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 18 },
                                   "undefined");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 19 },
                                   "null");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 20 },
                                   "42");
       yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 21 },
                                   "true");
@@ -68,19 +68,19 @@ function test() {
         is(gSources.itemCount, 1,
            "Found the expected number of sources.");
         is(gEditor.getText().indexOf("ermahgerd"), 253,
            "The correct source was loaded initially.");
         is(gSources.selectedValue, gSources.values[0],
            "The correct source is selected.");
 
         ok(gSources.selectedItem,
-           "There should be a selected source in the sources pane.")
+           "There should be a selected source in the sources pane.");
         ok(!gSources._selectedBreakpoint,
-           "There should be no selected breakpoint in the sources pane.")
+           "There should be no selected breakpoint in the sources pane.");
         is(gSources._conditionalPopupVisible, false,
            "The breakpoint conditional expression popup should not be shown.");
 
         is(gDebugger.document.querySelectorAll(".dbg-stackframe").length, 0,
            "There should be no visible stackframes.");
         is(gDebugger.document.querySelectorAll(".dbg-breakpoint").length, 13,
            "There should be thirteen visible breakpoints.");
       });
@@ -122,17 +122,17 @@ function test() {
       is(gSources._conditionalPopupVisible, false,
          "The breakpoint conditional expression popup should not have been shown.");
       isnot(bp.condition, undefined,
             "The breakpoint on line " + line + " should have a conditional expression.");
       ok(isCaretPos(gPanel, line),
          "The editor caret position is not properly set.");
     }
 
-    const testAfterReload = Task.async(function*() {
+    const testAfterReload = Task.async(function* () {
       let selectedActor = gSources.selectedValue;
       let selectedBreakpoint = gSources._selectedBreakpoint;
 
       ok(selectedActor,
          "There should be a selected item in the sources pane after reload.");
       ok(!selectedBreakpoint,
          "There should be no selected breakpoint in the sources pane after reload.");
 
@@ -153,24 +153,24 @@ function test() {
       is(gSources.itemCount, 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
          "The correct source was loaded again.");
       is(gSources.selectedValue, gSources.values[0],
          "The correct source is selected.");
 
       ok(gSources.selectedItem,
-         "There should be a selected source in the sources pane.")
+         "There should be a selected source in the sources pane.");
       ok(gSources._selectedBreakpoint,
-         "There should be a selected breakpoint in the sources pane.")
+         "There should be a selected breakpoint in the sources pane.");
       is(gSources._conditionalPopupVisible, false,
          "The breakpoint conditional expression popup should not be shown.");
     });
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       yield addBreakpoints();
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
--- a/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-02.js
@@ -11,18 +11,18 @@ const TAB_URL = EXAMPLE_URL + "doc_condi
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     function addBreakpoint1() {
       return actions.addBreakpoint({ actor: gSources.selectedValue, line: 18 });
     }
 
     function addBreakpoint2() {
@@ -117,33 +117,33 @@ function test() {
 
     function waitForConditionUpdate() {
       // This will close the popup and send another request to update
       // the condition
       gSources._hideConditionalPopup();
       return waitForDispatch(gPanel, constants.SET_BREAKPOINT_CONDITION);
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(queries.getSourceCount(getState()), 1,
          "Found the expected number of sources.");
       is(gEditor.getText().indexOf("ermahgerd"), 253,
          "The correct source was loaded initially.");
       is(gSources.selectedValue, gSources.values[0],
          "The correct source is selected.");
 
       is(queries.getBreakpoints(getState()).length, 0,
          "No breakpoints currently added.");
 
       yield addBreakpoint1();
-      testBreakpoint(18, false, undefined)
+      testBreakpoint(18, false, undefined);
 
       yield addBreakpoint2();
       testBreakpoint(19, false, undefined);
       yield modBreakpoint2();
       testBreakpoint(19, true, undefined);
       yield waitForConditionUpdate();
       yield addBreakpoint3();
       testBreakpoint(20, true, "");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-03.js
@@ -11,29 +11,29 @@
 const TAB_URL = EXAMPLE_URL + "doc_conditional-breakpoints.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     function waitForConditionUpdate() {
       // This will close the popup and send another request to update
       // the condition
       gSources._hideConditionalPopup();
       return waitForDispatch(gPanel, constants.SET_BREAKPOINT_CONDITION);
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       const location = { actor: gSources.selectedValue, line: 18 };
 
       yield actions.addBreakpoint(location, "hello");
       yield actions.disableBreakpoint(location);
       yield actions.addBreakpoint(location);
 
       const bp = queries.getBreakpoint(getState(), location);
@@ -41,28 +41,28 @@ function test() {
 
       let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.CONDITIONAL_BREAKPOINT_POPUP_SHOWING);
       EventUtils.sendMouseEvent({ type: "click" },
                                 gDebugger.document.querySelector(".dbg-breakpoint"),
                                 gDebugger);
       yield finished;
 
       const textbox = gDebugger.document.getElementById("conditional-breakpoint-panel-textbox");
-      is(textbox.value, "hello", "The expression is correct (2).")
+      is(textbox.value, "hello", "The expression is correct (2).");
 
       yield waitForConditionUpdate();
       yield actions.disableBreakpoint(location);
       yield actions.setBreakpointCondition(location, "foo");
       yield actions.addBreakpoint(location);
 
       finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.CONDITIONAL_BREAKPOINT_POPUP_SHOWING);
       EventUtils.sendMouseEvent({ type: "click" },
                                 gDebugger.document.querySelector(".dbg-breakpoint"),
                                 gDebugger);
       yield finished;
-      is(textbox.value, "foo", "The expression is correct (3).")
+      is(textbox.value, "foo", "The expression is correct (3).");
 
       yield resumeDebuggerThenCloseAndFinish(gPanel);
     });
 
     callInTab(gTab, "ermahgerd");
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-04.js
@@ -12,22 +12,22 @@
 const TAB_URL = EXAMPLE_URL + "doc_conditional-breakpoints.html";
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
       const location = { actor: gSources.selectedValue, line: 18 };
 
       yield actions.addBreakpoint(location, "");
       yield actions.disableBreakpoint(location);
       yield actions.addBreakpoint(location);
 
       const bp = queries.getBreakpoint(getState(), location);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_server-conditional-bp-05.js
@@ -12,18 +12,18 @@ const TAB_URL = EXAMPLE_URL + "doc_condi
 
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require('./content/queries');
-    const constants = gDebugger.require('./content/constants');
+    const queries = gDebugger.require("./content/queries");
+    const constants = gDebugger.require("./content/constants");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
     function resumeAndTestBreakpoint(line) {
       let finished = waitForCaretUpdated(gPanel, line).then(() => testBreakpoint(line));
       EventUtils.sendMouseEvent({ type: "mousedown" },
                                 gDebugger.document.getElementById("resume"),
                                 gDebugger);
@@ -89,18 +89,18 @@ function test() {
 
       isnot(selectedBreakpoint.condition, undefined,
             "The breakpoint on line " + line + " should have a conditional expression.");
 
       ok(isCaretPos(gPanel, line),
          "The editor caret position is not properly set.");
     }
 
-    Task.spawn(function*() {
-      yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17)
+    Task.spawn(function* () {
+      yield waitForSourceAndCaretAndScopes(gPanel, ".html", 17);
 
       yield actions.addBreakpoint(
         { actor: gSources.selectedValue, line: 18 }, " 1a"
       );
       yield actions.addBreakpoint(
         { actor: gSources.selectedValue, line: 19 }, "new Error()"
       );
       yield actions.addBreakpoint(
--- a/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-01.js
@@ -38,17 +38,17 @@ function test() {
 }
 
 function checkSourceMapsEnabled() {
   is(Services.prefs.getBoolPref("devtools.debugger.source-maps-enabled"), true,
     "The source maps functionality should be enabled by default.");
   is(gDebugger.Prefs.sourceMapsEnabled, true,
     "The source maps pref should be true from startup.");
   is(gDebugger.DebuggerView.Options._showOriginalSourceItem.getAttribute("checked"), "true",
-    "Source maps should be enabled from startup.")
+    "Source maps should be enabled from startup.");
 }
 
 function checkInitialSource() {
   isnot(gSources.selectedItem.attachment.source.url.indexOf(".coffee"), -1,
     "The debugger should show the source mapped coffee source file.");
   is(gSources.selectedValue.indexOf(".js"), -1,
     "The debugger should not show the generated js source file.");
   is(gEditor.getText().indexOf("isnt"), 218,
@@ -153,15 +153,15 @@ function testStepping() {
 
       waitForCaretUpdated(gPanel, 6).then(deferred.resolve);
     });
   });
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-02.js
@@ -36,17 +36,17 @@ function test() {
   });
 }
 
 function testToggleGeneratedSource() {
   let finished = waitForSourceShown(gPanel, ".js").then(() => {
     is(gPrefs.sourceMapsEnabled, false,
       "The source maps pref should have been set to false.");
     is(gOptions._showOriginalSourceItem.getAttribute("checked"), "false",
-      "Source maps should now be disabled.")
+      "Source maps should now be disabled.");
 
     is(gSources.selectedItem.attachment.source.url.indexOf(".coffee"), -1,
       "The debugger should not show the source mapped coffee source file.");
     isnot(gSources.selectedItem.attachment.source.url.indexOf(".js"), -1,
       "The debugger should show the generated js source file.");
 
     is(gEditor.getText().indexOf("isnt"), -1,
       "The debugger's editor should not have the coffee source source displayed.");
@@ -92,17 +92,17 @@ function testSetBreakpoint() {
   return deferred.promise;
 }
 
 function testToggleOnPause() {
   let finished = waitForSourceAndCaretAndScopes(gPanel, ".coffee", 5).then(() => {
     is(gPrefs.sourceMapsEnabled, true,
       "The source maps pref should have been set to true.");
     is(gOptions._showOriginalSourceItem.getAttribute("checked"), "true",
-      "Source maps should now be enabled.")
+      "Source maps should now be enabled.");
 
     isnot(gSources.selectedItem.attachment.source.url.indexOf(".coffee"), -1,
       "The debugger should show the source mapped coffee source file.");
     is(gSources.selectedItem.attachment.source.url.indexOf(".js"), -1,
       "The debugger should not show the generated js source file.");
 
     is(gEditor.getText().indexOf("isnt"), 218,
       "The debugger's editor should have the coffee source source displayed.");
@@ -133,17 +133,17 @@ function testResume() {
     is(aResponse.type, "resumed", "Type should be 'resumed'.");
 
     deferred.resolve();
   });
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gFrames = null;
   gPrefs = null;
   gOptions = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-03.js
@@ -70,16 +70,16 @@ function testSetBreakpoint() {
       // paused state.
       callInTab(gTab, "arithmetic");
     });
   });
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_source-maps-04.js
@@ -168,17 +168,17 @@ function disablePauseOnExceptions() {
   });
 
   gOptions._pauseOnExceptionsItem.setAttribute("checked", "false");
   gOptions._togglePauseOnExceptions();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gSources = null;
   gPrefs = null;
   gOptions = null;
   DevToolsUtils.reportingDisabled = false;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-bookmarklet.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-bookmarklet.js
@@ -14,24 +14,24 @@ const BOOKMARKLET_SCRIPT_CODE = "console
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const gBreakpoints = gDebugger.DebuggerController.Breakpoints;
     const getState = gDebugger.DebuggerController.getState;
-    const constants = gDebugger.require('./content/constants');
-    const queries = gDebugger.require('./content/queries');
+    const constants = gDebugger.require("./content/constants");
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
 
-    return Task.spawn(function*() {
-      yield waitForSourceShown(gPanel, '.html');
+    return Task.spawn(function* () {
+      yield waitForSourceShown(gPanel, ".html");
 
-      const added =  waitForNextDispatch(gDebugger.DebuggerController, constants.ADD_SOURCE);
+      const added = waitForNextDispatch(gDebugger.DebuggerController, constants.ADD_SOURCE);
       // NOTE: devtools debugger panel needs to be already open,
       // or the bookmarklet script will not be shown in the sources panel
       callInTab(gTab, "injectBookmarklet", BOOKMARKLET_SCRIPT_CODE);
       yield added;
 
       is(queries.getSourceCount(getState()), 2, "Should have 2 sources");
 
       const sources = queries.getSources(getState());
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-cache.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-cache.js
@@ -16,35 +16,35 @@ function test() {
     const gDebuggee = aDebuggee;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gEditor = gDebugger.DebuggerView.editor;
     const gSources = gDebugger.DebuggerView.Sources;
     const gPrevLabelsCache = gDebugger.SourceUtils._labelsCache;
     const gPrevGroupsCache = gDebugger.SourceUtils._groupsCache;
     const getState = gDebugger.DebuggerController.getState;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
 
     function initialChecks() {
       ok(gEditor.getText().includes("First source!"),
          "Editor text contents appears to be correct.");
       is(gSources.selectedItem.attachment.label, "code_function-search-01.js",
          "The currently selected label in the sources container is correct.");
       ok(getSelectedSourceURL(gSources).includes("code_function-search-01.js"),
          "The currently selected value in the sources container appears to be correct.");
 
       is(gSources.itemCount, TOTAL_SOURCES,
          "There should be " + TOTAL_SOURCES + " sources present in the sources list.");
       is(gSources.visibleItems.length, TOTAL_SOURCES,
          "There should be " + TOTAL_SOURCES + " sources visible in the sources list.");
       is(gSources.attachments.length, TOTAL_SOURCES,
-         "There should be " + TOTAL_SOURCES + " attachments stored in the sources container model.")
+         "There should be " + TOTAL_SOURCES + " attachments stored in the sources container model.");
       is(gSources.values.length, TOTAL_SOURCES,
-         "There should be " + TOTAL_SOURCES + " values stored in the sources container model.")
+         "There should be " + TOTAL_SOURCES + " values stored in the sources container model.");
 
       info("Source labels: " + gSources.attachments.toSource());
       info("Source values: " + gSources.values.toSource());
 
       is(gSources.attachments[0].label, "code_function-search-01.js",
          "The first source label is correct.");
       ok(gSources.attachments[0].source.url.includes("code_function-search-01.js"),
          "The first source value appears to be correct.");
@@ -121,17 +121,17 @@ function test() {
       is(gSources.itemCount, TOTAL_SOURCES,
          "There should be " + TOTAL_SOURCES + " sources present in the sources list.");
       is(gDebugger.SourceUtils._labelsCache.size, TOTAL_SOURCES,
          "There should be " + TOTAL_SOURCES + " labels cached after reload.");
       is(gDebugger.SourceUtils._groupsCache.size, TOTAL_SOURCES,
          "There should be " + TOTAL_SOURCES + " groups cached after reload.");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
       yield initialChecks();
       yield testCacheIntegrity(["code_function-search-01.js"]);
       yield fetchAllSources();
       yield testCacheIntegrity([
         "code_function-search-01.js",
         "code_function-search-02.js",
         "code_function-search-03.js",
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-01.js
@@ -43,12 +43,12 @@ function test() {
 
   function testCopyMenuItem() {
     return waitForClipboardPromise(clickCopyURL, SCRIPT_URI);
   }
 
   function openContextMenu() {
     let contextMenu = gDebugger.document.getElementById("debuggerSourcesContextMenu");
     let contextMenuShown = once(contextMenu, "popupshown");
-    EventUtils.synthesizeMouseAtCenter(gSources.selectedItem.prebuiltNode, {type: 'contextmenu'}, gDebugger);
+    EventUtils.synthesizeMouseAtCenter(gSources.selectedItem.prebuiltNode, {type: "contextmenu"}, gDebugger);
     return contextMenuShown;
   }
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-contextmenu-02.js
@@ -36,17 +36,17 @@ function test() {
   }
 
   function waitForTabOpen() {
     return new Promise(resolve => {
       gBrowser.tabContainer.addEventListener("TabOpen", function onOpen(e) {
         gBrowser.tabContainer.removeEventListener("TabOpen", onOpen, false);
         ok(true, "A new tab loaded");
 
-        gBrowser.addEventListener("DOMContentLoaded", function onTabLoad(e){
+        gBrowser.addEventListener("DOMContentLoaded", function onTabLoad(e) {
           gBrowser.removeEventListener("DOMContentLoaded", onTabLoad, false);
           // Pass along the new tab's URI.
           resolve(gBrowser.currentURI.spec);
         }, false);
       }, false);
     });
   }
 
@@ -61,12 +61,12 @@ function test() {
       waitForTabOpen().then(resolve);
       EventUtils.synthesizeMouseAtCenter(newTabMenuItem, {}, gDebugger);
     });
   }
 
   function openContextMenu() {
     let contextMenu = gDebugger.document.getElementById("debuggerSourcesContextMenu");
     let contextMenuShown = once(contextMenu, "popupshown");
-    EventUtils.synthesizeMouseAtCenter(gSources.selectedItem.prebuiltNode, {type: 'contextmenu'}, gDebugger);
+    EventUtils.synthesizeMouseAtCenter(gSources.selectedItem.prebuiltNode, {type: "contextmenu"}, gDebugger);
     return contextMenuShown;
   }
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-01.js
@@ -15,27 +15,27 @@ function test() {
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gSources = gDebugger.DebuggerView.Sources;
     gBreakpoints = gDebugger.DebuggerController.Breakpoints;
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-eval.js");
       is(gSources.values.length, 1, "Should have 1 source");
 
       let newSource = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.NEW_SOURCE);
       callInTab(gTab, "evalSource");
       yield newSource;
 
       is(gSources.values.length, 2, "Should have 2 sources");
 
       let item = gSources.getItemForAttachment(e => e.label.indexOf("> eval") !== -1);
       ok(item, "Source label is incorrect.");
-      is(item.attachment.group, gDebugger.L10N.getStr('evalGroupLabel'),
-         'Source group is incorrect');
+      is(item.attachment.group, gDebugger.L10N.getStr("evalGroupLabel"),
+         "Source group is incorrect");
 
       yield closeDebuggerAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-eval-02.js
@@ -16,37 +16,37 @@ function test() {
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gSources = gDebugger.DebuggerView.Sources;
     gBreakpoints = gDebugger.DebuggerController.Breakpoints;
     gEditor = gDebugger.DebuggerView.editor;
-    const constants = gDebugger.require('./content/constants');
-    const queries = gDebugger.require('./content/queries');
+    const constants = gDebugger.require("./content/constants");
+    const queries = gDebugger.require("./content/queries");
     const actions = bindActionCreators(gPanel);
     const getState = gDebugger.DebuggerController.getState;
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-eval.js");
       is(queries.getSourceCount(getState()), 1, "Should have 1 source");
 
       const newSource = waitForDispatch(gPanel, constants.ADD_SOURCE);
       callInTab(gTab, "evalSourceWithSourceURL");
       yield newSource;
 
       is(queries.getSourceCount(getState()), 2, "Should have 2 sources");
 
       const source = queries.getSourceByURL(getState(), EXAMPLE_URL + "bar.js");
       ok(source, "Source exists.");
 
       let shown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
       actions.selectSource(source);
       yield shown;
 
-      ok(gEditor.getText().indexOf('bar = function() {') === 0,
-         'Correct source is shown');
+      ok(gEditor.getText().indexOf("bar = function() {") === 0,
+         "Correct source is shown");
 
       yield closeDebuggerAndFinish(gPanel);
     });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-labels.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-labels.js
@@ -8,27 +8,27 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
 
 function test() {
   let gTab, gPanel, gDebugger;
   let gSources, gUtils;
 
-  initDebugger(TAB_URL).then(Task.async(function*([aTab,, aPanel]) {
+  initDebugger(TAB_URL).then(Task.async(function* ([aTab,, aPanel]) {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gSources = gDebugger.DebuggerView.Sources;
     gUtils = gDebugger.SourceUtils;
 
     let ellipsis = gPanel.panelWin.L10N.ellipsis;
     let nananana = new Array(20).join(NaN);
 
-    yield waitForSourceShown(gPanel, '.html');
+    yield waitForSourceShown(gPanel, ".html");
 
     // Test trimming url queries.
 
     let someUrl = "a/b/c.d?test=1&random=4#reference";
     let shortenedUrl = "a/b/c.d";
     is(gUtils.trimUrlQuery(someUrl), shortenedUrl,
       "Trimming the url query isn't done properly.");
 
@@ -77,21 +77,21 @@ function test() {
     is(gSources.selectedItem.attachment.label, "doc_recursion-stack.html",
       "The first item in the sources widget should be selected (2).");
     is(getSelectedSourceURL(gSources), TAB_URL,
       "The first item in the sources widget should be selected (3).");
 
     let id = 0;
     for (let { href, leaf } of urls) {
       let url = href + leaf;
-      let actor = 'actor' + id++;
+      let actor = "actor" + id++;
       let label = gUtils.trimUrlLength(gUtils.getSourceLabel(url));
       let group = gUtils.getSourceGroup(url);
       let dummy = document.createElement("label");
-      dummy.setAttribute('value', label);
+      dummy.setAttribute("value", label);
 
       gSources.push([dummy, actor], {
         attachment: {
           source: { actor: actor, url: url },
           label: label,
           group: group
         }
       });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-large.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-large.js
@@ -53,17 +53,17 @@ function test() {
       // Press ctrl+f with the cursor in a token
       gEditor.focus();
       gEditor.setCursor({ line: 3, ch: 10});
       synthesizeKeyFromKeyTag(gDebugger.document.getElementById("tokenSearchKey"));
       is(Filtering._searchbox.value, "#test",
         "Search box is prefilled with current token");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, "-01.js");
       yield testLargeFile();
 
       info("Making it appear as a small file and then reselecting 01.js");
       gDebugger.DebuggerView.LARGE_FILE_SIZE = 1000;
       gSources.selectedIndex = 1;
       yield waitForSourceShown(gPanel, "-02.js");
       gSources.selectedIndex = 0;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_sources-sorting.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_sources-sorting.js
@@ -38,75 +38,75 @@ function addSourceAndCheckOrder(aMethod)
     { href: "san://interesting.address.gro/random/", leaf: "script.js" },
     { href: "si://interesting.address.moc/random/", leaf: "script.js" },
     { href: "si://interesting.address.moc/random/", leaf: "x/script.js" },
     { href: "si://interesting.address.moc/random/", leaf: "x/y/script.js?a=1" },
     { href: "si://interesting.address.moc/random/x/", leaf: "y/script.js?a=1&b=2" },
     { href: "si://interesting.address.moc/random/x/y/", leaf: "script.js?a=1&b=2&c=3" }
   ];
 
-  urls.sort(function(a, b) {
+  urls.sort(function (a, b) {
     return Math.random() - 0.5;
   });
 
   let id = 0;
 
   switch (aMethod) {
     case 1:
       for (let { href, leaf } of urls) {
         let url = href + leaf;
-        let actor = 'actor' + id++;
+        let actor = "actor" + id++;
         let label = gUtils.getSourceLabel(url);
         let dummy = document.createElement("label");
         gSources.push([dummy, actor], {
           staged: true,
           attachment: {
             label: label
           }
         });
       }
       gSources.commit({ sorted: true });
       break;
 
     case 2:
       for (let { href, leaf } of urls) {
         let url = href + leaf;
-        let actor = 'actor' + id++;
+        let actor = "actor" + id++;
         let label = gUtils.getSourceLabel(url);
         let dummy = document.createElement("label");
         gSources.push([dummy, actor], {
           staged: false,
           attachment: {
             label: label
           }
         });
       }
       break;
 
     case 3:
-      let i = 0
+      let i = 0;
       for (; i < urls.length / 2; i++) {
         let { href, leaf } = urls[i];
         let url = href + leaf;
-        let actor = 'actor' + id++;
+        let actor = "actor" + id++;
         let label = gUtils.getSourceLabel(url);
         let dummy = document.createElement("label");
         gSources.push([dummy, actor], {
           staged: true,
           attachment: {
             label: label
           }
         });
       }
       gSources.commit({ sorted: true });
 
       for (; i < urls.length; i++) {
         let { href, leaf } = urls[i];
         let url = href + leaf;
-        let actor = 'actor' + id++;
+        let actor = "actor" + id++;
         let label = gUtils.getSourceLabel(url);
         let dummy = document.createElement("label");
         gSources.push([dummy, actor], {
           staged: false,
           attachment: {
             label: label
           }
         });
@@ -124,15 +124,15 @@ function checkSourcesOrder(aMethod) {
     let first = attachments[i].label;
     let second = attachments[i + 1].label;
     ok(first < second,
       "Using method " + aMethod + ", " +
       "the sources weren't in the correct order: " + first + " vs. " + second);
   }
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gSources = null;
   gUtils = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_split-console-keypress.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_split-console-keypress.js
@@ -11,89 +11,89 @@ const TAB_URL = EXAMPLE_URL + "doc_step-
 
 function test() {
   // This does the same assertions over a series of sub-tests, and it
   // can timeout in linux e10s.  No sense in breaking it up into multiple
   // tests, so request extra time.
   requestLongerTimeout(2);
 
   let gDebugger, gToolbox, gThreadClient, gTab, gPanel;
-  initDebugger(TAB_URL).then(([aTab,debuggeeWin,aPanel]) => {
+  initDebugger(TAB_URL).then(([aTab, debuggeeWin, aPanel]) => {
     gPanel = aPanel;
     gDebugger = aPanel.panelWin;
     gToolbox = gDevTools.getToolbox(aPanel.target);
     gTab = aTab;
     gThreadClient = gDebugger.DebuggerController.activeThread;
     waitForSourceShown(aPanel, TAB_URL).then(testConsole);
   });
-  let testConsole = Task.async(function *() {
+  let testConsole = Task.async(function* () {
     // We need to open the split console (with an ESC keypress),
     // then get the script into a paused state by pressing a button in the page,
     // ensure focus is in the split console,
     // synthesize a few keys - important ones we share listener for are
     // "resumeKey", "stepOverKey", "stepInKey", "stepOutKey"
     // then check that
     //   * The input cursor remains in the console's input box
     //   * The paused state is as expected
     //   * the debugger cursor is where we want it
     let jsterm = yield getSplitConsole(gToolbox, gDebugger);
     // The console is now open (if not make the test fail already)
     ok(gToolbox.splitConsole, "Split console is shown.");
 
     // Information for sub-tests. When 'key' is synthesized 'keyRepeat' times,
     // cursor should be at 'caretLine' of this test..
     let stepTests = [
-      {key: 'VK_F11', keyRepeat: 1, caretLine: 16},
-      {key: 'VK_F11', keyRepeat: 2, caretLine: 18},
-      {key: 'VK_F11', keyRepeat: 2, caretLine: 27},
-      {key: 'VK_F10', keyRepeat: 1, caretLine: 27},
-      {key: 'VK_F11', keyRepeat: 1, caretLine: 18},
-      {key: 'VK_F11', keyRepeat: 5, caretLine: 32},
-      {key: 'VK_F11', modifier:'Shift', keyRepeat: 1, caretLine: 29},
-      {key: 'VK_F11', modifier:'Shift', keyRepeat: 2, caretLine: 34},
-      {key: 'VK_F11', modifier:'Shift', keyRepeat: 2, caretLine: 34}
+      {key: "VK_F11", keyRepeat: 1, caretLine: 16},
+      {key: "VK_F11", keyRepeat: 2, caretLine: 18},
+      {key: "VK_F11", keyRepeat: 2, caretLine: 27},
+      {key: "VK_F10", keyRepeat: 1, caretLine: 27},
+      {key: "VK_F11", keyRepeat: 1, caretLine: 18},
+      {key: "VK_F11", keyRepeat: 5, caretLine: 32},
+      {key: "VK_F11", modifier:"Shift", keyRepeat: 1, caretLine: 29},
+      {key: "VK_F11", modifier:"Shift", keyRepeat: 2, caretLine: 34},
+      {key: "VK_F11", modifier:"Shift", keyRepeat: 2, caretLine: 34}
     ];
     // Trigger script that stops at debugger statement
     executeSoon(() => generateMouseClickInTab(gTab,
       "content.document.getElementById('start')"));
     yield waitForPause(gThreadClient);
 
     // Focus the console and add event listener to track whether it loses focus
     // (Must happen after generateMouseClickInTab() call)
     let consoleLostFocus = false;
     jsterm.focus();
-    jsterm.inputNode.addEventListener('blur', () => {consoleLostFocus = true;});
+    jsterm.inputNode.addEventListener("blur", () => {consoleLostFocus = true;});
 
     is(gThreadClient.paused, true,
       "Should be paused at debugger statement.");
     // As long as we have test work to do..
     for (let i = 0, thisTest; thisTest = stepTests[i]; i++) {
       // First we send another key event if required by the test
       while (thisTest.keyRepeat > 0) {
         thisTest.keyRepeat --;
-        let keyMods = thisTest.modifier === 'Shift' ? {shiftKey:true} : {};
-        executeSoon(() => {EventUtils.synthesizeKey(thisTest.key, keyMods)});
+        let keyMods = thisTest.modifier === "Shift" ? {shiftKey:true} : {};
+        executeSoon(() => {EventUtils.synthesizeKey(thisTest.key, keyMods);});
         yield waitForPause(gThreadClient);
       }
 
       // We've sent the required number of keys
       // Here are the conditions we're interested in: paused state,
       // cursor still in console (tested later), caret correct in editor
       is(gThreadClient.paused, true,
         "Should still be paused");
-      //ok(isCaretPos(gPanel, thisTest.caretLine),
+      // ok(isCaretPos(gPanel, thisTest.caretLine),
       //  "Test " + i + ": CaretPos at line " + thisTest.caretLine);
       ok(isDebugPos(gPanel, thisTest.caretLine),
         "Test " + i + ": DebugPos at line " + thisTest.caretLine);
     }
     // Did focus go missing while we were stepping?
     is(consoleLostFocus, false, "Console input should not lose focus");
     // We're done with the tests in the stepTests array
     // Last key we test is "resume"
-    executeSoon(() => EventUtils.synthesizeKey('VK_F8', {}));
+    executeSoon(() => EventUtils.synthesizeKey("VK_F8", {}));
 
     // We reset the variable tracking loss of focus to test the resume case
     consoleLostFocus = false;
 
     gPanel.target.on("thread-resumed", () => {
       is(gThreadClient.paused, false,
         "Should not be paused after resume");
       // Final test: did we preserve console inputNode focus during resume?
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-01.js
@@ -31,15 +31,15 @@ function performTest() {
   is(gFrames.itemCount, 1,
     "Should have only one frame.");
   is(gClassicFrames.itemCount, 1,
     "Should also have only one frame in the mirrored view.");
 
   resumeDebuggerThenCloseAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gClassicFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-02.js
@@ -12,17 +12,17 @@ const TAB_URL = EXAMPLE_URL + "doc_recur
 function test() {
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gFrames = gDebugger.DebuggerView.StackFrames;
     const gClassicFrames = gDebugger.DebuggerView.StackFramesClassicList;
 
-    const performTest = Task.async(function*() {
+    const performTest = Task.async(function* () {
       is(gDebugger.gThreadClient.state, "paused",
          "Should only be getting stack frames while paused.");
       is(gFrames.itemCount, 2,
          "Should have two frames.");
       is(gClassicFrames.itemCount, 2,
          "Should also have only two in the mirrored view.");
 
       is(gFrames.getItemAtIndex(0).attachment.title,
@@ -30,17 +30,17 @@ function test() {
       is(gFrames.getItemAtIndex(0).attachment.url,
          TAB_URL, "Oldest frame url should be correct.");
       is(gClassicFrames.getItemAtIndex(0).attachment.depth,
          0, "Oldest frame name is mirrored correctly.");
 
       is(gFrames.getItemAtIndex(1).attachment.title,
          "(eval)", "Newest frame name should be correct.");
       is(gFrames.getItemAtIndex(1).attachment.url,
-         'SCRIPT0', "Newest frame url should be correct.");
+         "SCRIPT0", "Newest frame url should be correct.");
       is(gClassicFrames.getItemAtIndex(1).attachment.depth,
          1, "Newest frame name is mirrored correctly.");
 
       is(gFrames.selectedIndex, 1,
          "Newest frame should be selected by default.");
       is(gClassicFrames.selectedIndex, 0,
          "Newest frame should be selected by default in the mirrored view.");
 
@@ -94,18 +94,18 @@ function test() {
             "Newest frame in the mirrored view should not be selected.");
 
       is(gFrames.selectedIndex, 0,
          "Oldest frame should be selected after click inside the oldest frame.");
       is(gClassicFrames.selectedIndex, 1,
          "Oldest frame in the mirrored view should be selected.");
 
       resumeDebuggerThenCloseAndFinish(gPanel);
-    })
+    });
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, ".html", 1);
       performTest();
     });
 
     callInTab(gTab, "evalCall");
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-03.js
@@ -14,17 +14,17 @@ function test() {
   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
     const tab = aTab;
     const debuggee = aDebuggee;
     const panel = aPanel;
     const gDebugger = panel.panelWin;
     const frames = gDebugger.DebuggerView.StackFrames;
     const classicFrames = gDebugger.DebuggerView.StackFramesClassicList;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       framesScrollingInterval = window.setInterval(() => {
         frames.widget._list.scrollByIndex(-1);
       }, 100);
 
       yield waitForDebuggerEvents(panel, gDebugger.EVENTS.AFTER_FRAMES_REFILLED);
 
       is(gDebugger.gThreadClient.state, "paused",
         "Should only be getting stack frames while paused.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-04.js
@@ -40,15 +40,15 @@ function performTest() {
       "Should also have no frames in the mirrored view after resume.");
 
     closeDebuggerAndFinish(gPanel);
   }, true);
 
   gDebugger.gThreadClient.resume();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gFrames = null;
   gClassicFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-05.js
@@ -79,17 +79,17 @@ function test() {
         deferred.resolve();
       }, true);
 
       gDebugger.gThreadClient.resume();
 
       return deferred.promise;
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
       yield initialChecks();
       yield testNewestFrame();
       yield testOldestFrame();
       yield testAfterResume();
       closeDebuggerAndFinish(gPanel);
     });
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-06.js
@@ -72,17 +72,17 @@ function performTest() {
       gDebugger);
   });
 
   EventUtils.sendMouseEvent({ type: "mousedown" },
     gDebugger.document.querySelector("#stackframe-1"),
     gDebugger);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gFrames = null;
   gClassicFrames = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-07.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-07.js
@@ -26,17 +26,17 @@ function test() {
     gToolbar = gDebugger.DebuggerView.Toolbar;
 
     waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1).then(performTest);
     callInTab(gTab, "firstCall");
   });
 }
 
 function performTest() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     yield selectBottomFrame();
     testBottomFrame(4);
 
     yield performStep("StepOver");
     testTopFrame(1);
 
     yield selectBottomFrame();
     testBottomFrame(4);
@@ -92,17 +92,17 @@ function performTest() {
       "The second source is now selected in the widget.");
     is(gEditor.getText().search(/firstCall/), -1,
       "The second source is displayed.");
     is(gEditor.getText().search(/debugger/), 166,
       "The first source is not displayed.");
   }
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gSources = null;
   gFrames = null;
   gClassicFrames = null;
   gToolbar = null;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-01.js
@@ -8,47 +8,47 @@
  */
 
  const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
  let gTab, gPanel, gDebugger;
  let gFrames, gContextMenu;
 
  function test() {
    initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
-    gTab = aTab;
-    gPanel = aPanel;
-    gDebugger = gPanel.panelWin;
-    gFrames = gDebugger.DebuggerView.StackFrames;
+     gTab = aTab;
+     gPanel = aPanel;
+     gDebugger = gPanel.panelWin;
+     gFrames = gDebugger.DebuggerView.StackFrames;
 
-    waitForDebuggerEvents(gPanel, gDebugger.EVENTS.AFTER_FRAMES_REFILLED)
+     waitForDebuggerEvents(gPanel, gDebugger.EVENTS.AFTER_FRAMES_REFILLED)
       .then(performTest);
-    callInTab(gTab, "simpleCall");
+     callInTab(gTab, "simpleCall");
    });
  }
 
  function performTest() {
    gContextMenu = gDebugger.document.getElementById("stackFramesContextMenu");
    is(gDebugger.gThreadClient.state, "paused",
      "Should only be getting stack frames while paused.");
    is(gFrames.itemCount, 1,
      "Should have only one frame.");
    ok(gContextMenu, "The stack frame's context menupopup is available.");
 
    once(gContextMenu, "popupshown").then(testContextMenu);
-   EventUtils.synthesizeMouseAtCenter(gFrames.getItemAtIndex(0).prebuiltNode, {type: 'contextmenu', button: 2}, gDebugger);
+   EventUtils.synthesizeMouseAtCenter(gFrames.getItemAtIndex(0).prebuiltNode, {type: "contextmenu", button: 2}, gDebugger);
  }
 
  function testContextMenu() {
    let document = gDebugger.document;
    ok(document.getElementById("copyStackMenuItem"),
     "#copyStackMenuItem found.");
 
    gContextMenu.hidePopup();
    resumeDebuggerThenCloseAndFinish(gPanel);
  }
 
- registerCleanupFunction(function() {
+ registerCleanupFunction(function () {
    gTab = null;
    gPanel = null;
    gDebugger = null;
    gFrames = null;
    gContextMenu = null;
  });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_stack-contextmenu-02.js
@@ -8,29 +8,29 @@
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
 const STACK_STRING = "simpleCall@" + EXAMPLE_URL + "doc_recursion-stack.html:14:8";
 
 function test() {
   let gTab, gPanel, gDebugger, gFrames;
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
-   gTab = aTab;
-   gPanel = aPanel;
-   gDebugger = gPanel.panelWin;
-   gFrames = gDebugger.DebuggerView.StackFrames;
+    gTab = aTab;
+    gPanel = aPanel;
+    gDebugger = gPanel.panelWin;
+    gFrames = gDebugger.DebuggerView.StackFrames;
 
-   waitForDebuggerEvents(gPanel, gDebugger.EVENTS.AFTER_FRAMES_REFILLED)
+    waitForDebuggerEvents(gPanel, gDebugger.EVENTS.AFTER_FRAMES_REFILLED)
      .then(openContextMenu)
      .then(testCopyStackMenuItem)
      .then(() => resumeDebuggerThenCloseAndFinish(gPanel))
      .then(null, aError => {
        ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
      });
-   callInTab(gTab, "simpleCall");
+    callInTab(gTab, "simpleCall");
   });
 
   function clickCopyStack() {
     return new Promise((resolve, reject) => {
       let copyStackMenuItem = gDebugger.document.getElementById("copyStackMenuItem");
       if (!copyStackMenuItem) {
         reject(new Error("The Copy stack context menu item is not available."));
       }
@@ -43,12 +43,12 @@ function test() {
 
   function testCopyStackMenuItem() {
     return waitForClipboardPromise(clickCopyStack, STACK_STRING);
   }
 
   function openContextMenu() {
     let contextMenu = gDebugger.document.getElementById("stackFramesContextMenu");
     let contextMenuShown = once(contextMenu, "popupshown");
-    EventUtils.synthesizeMouseAtCenter(gFrames.getItemAtIndex(0).prebuiltNode, {type: 'contextmenu', button: 2}, gDebugger);
+    EventUtils.synthesizeMouseAtCenter(gFrames.getItemAtIndex(0).prebuiltNode, {type: "contextmenu", button: 2}, gDebugger);
     return contextMenuShown;
   }
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_step-out.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_step-out.js
@@ -30,17 +30,17 @@ function testNormalReturn() {
       let returnVar = innerScope.get("<return>");
 
       is(returnVar.name, "<return>",
         "Should have the right property name for the returned value.");
       is(returnVar.value, 10,
         "Should have the right property value for the returned value.");
       ok(returnVar._internalItem, "Should be an internal item");
       ok(returnVar._target.hasAttribute("pseudo-item"),
-         "Element should be marked as a pseudo-item")
+         "Element should be marked as a pseudo-item");
 
       resumeDebuggee().then(() => testReturnWithException());
     });
 
     EventUtils.sendMouseEvent({ type: "mousedown" },
       gDebugger.document.getElementById("step-out"),
       gDebugger);
   });
@@ -55,17 +55,17 @@ function testReturnWithException() {
       let exceptionVar = innerScope.get("<exception>");
 
       is(exceptionVar.name, "<exception>",
         "Should have the right property name for the returned value.");
       is(exceptionVar.value, "boom",
         "Should have the right property value for the returned value.");
       ok(exceptionVar._internalItem, "Should be an internal item");
       ok(exceptionVar._target.hasAttribute("pseudo-item"),
-         "Element should be marked as a pseudo-item")
+         "Element should be marked as a pseudo-item");
 
       resumeDebuggee().then(() => closeDebuggerAndFinish(gPanel));
     });
 
     EventUtils.sendMouseEvent({ type: "mousedown" },
       gDebugger.document.getElementById("step-out"),
       gDebugger);
   });
@@ -74,14 +74,14 @@ function testReturnWithException() {
 }
 
 function resumeDebuggee() {
   let deferred = promise.defer();
   gDebugger.gThreadClient.resume(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVars = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Check extension-added tab actor lifetimes.
  */
 
-const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/"
+const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/";
 const ACTORS_URL = CHROME_URL + "testactors.js";
 const TAB_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
 
 var gClient;
 
 function test() {
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
@@ -62,11 +62,11 @@ function closeTab() {
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Check extension-added tab actor lifetimes.
  */
 
-const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/"
+const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/";
 const ACTORS_URL = CHROME_URL + "testactors.js";
 const TAB_URL = EXAMPLE_URL + "doc_empty-tab-01.html";
 
 var gClient;
 
 function test() {
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
@@ -61,26 +61,26 @@ function closeTab(aTestActor) {
   return removeTab(gBrowser.selectedTab).then(() => {
     let deferred = promise.defer();
 
     try {
       gClient.request({ to: aTestActor, type: "ping" }, aResponse => {
         ok(false, "testTabActor1 didn't go away with the tab.");
         deferred.reject(aResponse);
       });
-    } catch(e) {
+    } catch (e) {
       is(e.message, "'ping' request packet has no destination.", "testTabActor1 went away.");
       deferred.resolve();
     }
 
     return deferred.promise;
   });
 }
 
 function closeConnection() {
   let deferred = promise.defer();
   gClient.close(deferred.resolve);
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gClient = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-04.js
@@ -123,21 +123,21 @@ function test() {
     is([...parent].length, 1,
        "Parent should have one child.");
 
     parent.remove();
 
     is(variables.getItemForNode(parent.target), undefined,
        "VariablesView should not have a record of the parent anymore.");
     is(parent.target.parentNode, null,
-       "Parent element should not have a parent.")
+       "Parent element should not have a parent.");
     is(variables.getItemForNode(child.target), undefined,
        "VariablesView should not have a record of the child anymore.");
     is(child.target.parentNode, null,
-       "Child element should not have a parent.")
+       "Child element should not have a parent.");
     is([...parent].length, 0,
        "Parent should have zero children.");
 
     testScope.remove();
 
     is([...variables].length, 0,
        "VariablesView should have been emptied.");
     is(ThreadSafeChromeUtils.nondeterministicGetWeakMapKeys(variables._itemsByElement).length,
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-accessibility.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-accessibility.js
@@ -38,38 +38,38 @@ function performTest() {
     p0: 42,
     p1: true,
     p2: "nasu",
     p3: undefined,
     p4: null,
     p5: [3, 4, 5],
     p6: { prop1: 7, prop2: 6 },
     get p7() { return arr; },
-    set p8(value) { arr[0] = value }
+    set p8(value) { arr[0] = value; }
   };
 
   let test = {
     someProp0: 42,
     someProp1: true,
     someProp2: "nasu",
     someProp3: undefined,
     someProp4: null,
     someProp5: arr,
     someProp6: obj,
     get someProp7() { return arr; },
-    set someProp7(value) { arr[0] = value }
+    set someProp7(value) { arr[0] = value; }
   };
 
-  gVariablesView.eval = function() {};
-  gVariablesView.switch = function() {};
-  gVariablesView.delete = function() {};
+  gVariablesView.eval = function () {};
+  gVariablesView.switch = function () {};
+  gVariablesView.delete = function () {};
   gVariablesView.rawObject = test;
   gVariablesView.scrollPageSize = 5;
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     yield waitForTick();
 
     // Part 0: Test generic focus methods on the variables view.
 
     gVariablesView.focusFirstVisibleItem();
     is(gVariablesView.getFocusedItem().name, "someProp0",
       "The 'someProp0' item should be focused.");
 
@@ -481,34 +481,34 @@ function performTest() {
 
     gVariablesView.focusFirstVisibleItem();
     let copied = promise.defer();
     let expectedValue = gVariablesView.getFocusedItem().name
       + gVariablesView.getFocusedItem().separatorStr
       + gVariablesView.getFocusedItem().value;
 
     waitForClipboard(expectedValue, function setup() {
-        EventUtils.synthesizeKey("C", { metaKey: true }, gDebugger);
-      }, copied.resolve, copied.reject
+      EventUtils.synthesizeKey("C", { metaKey: true }, gDebugger);
+    }, copied.resolve, copied.reject
     );
 
     try {
       yield copied.promise;
       ok(true,
         "Ctrl-C copied the selected item to the clipboard.");
     } catch (e) {
       ok(false,
         "Ctrl-C didn't copy the selected item to the clipboard.");
     }
 
     yield closeDebuggerAndFinish(gPanel);
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariablesView = null;
 });
 
 function synthesizeKeyAndWaitForElement(aKey, aModifiers, aSelector, aExistence) {
   EventUtils.synthesizeKey(aKey, aModifiers, gDebugger);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-data.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-data.js
@@ -37,35 +37,35 @@ function performTest() {
     p0: 42,
     p1: true,
     p2: "nasu",
     p3: undefined,
     p4: null,
     p5: [3, 4, 5],
     p6: { prop1: 7, prop2: 6 },
     get p7() { return arr; },
-    set p8(value) { arr[0] = value }
+    set p8(value) { arr[0] = value; }
   };
 
   let test = {
     someProp0: 42,
     someProp1: true,
     someProp2: "nasu",
     someProp3: undefined,
     someProp4: null,
     someProp5: arr,
     someProp6: obj,
     get someProp7() { return arr; },
-    set someProp7(value) { arr[0] = value }
+    set someProp7(value) { arr[0] = value; }
   };
 
-  gVariablesView.eval = function() {};
-  gVariablesView.switch = function() {};
-  gVariablesView.delete = function() {};
-  gVariablesView.new = function() {};
+  gVariablesView.eval = function () {};
+  gVariablesView.switch = function () {};
+  gVariablesView.delete = function () {};
+  gVariablesView.new = function () {};
   gVariablesView.rawObject = test;
 
   testHierarchy();
   testHeader();
   testFirstLevelContents();
   testSecondLevelContents();
   testThirdLevelContents();
   testOriginalRawDataIntegrity(arr, obj);
@@ -382,17 +382,17 @@ function testSecondLevelContents() {
   is(objectItem8.getter.type, "undefined", "The eight object item getter type is correct.");
   is(objectItem8.setter.type, "object", "The ninth object item setter type is correct.");
   is(objectItem8.setter.class, "Function", "The ninth object item setter class is correct.");
   is(__proto__.value.type, "object", "The __proto__ property value type is correct.");
   is(__proto__.value.class, "Object", "The __proto__ property value class is correct.");
 }
 
 function testThirdLevelContents() {
-  (function() {
+  (function () {
     let someProp5 = gVariable.get("someProp5");
     let arrayItem5 = someProp5.get("5");
     let arrayItem6 = someProp5.get("6");
 
     is(arrayItem5._store.size, 0, "No properties should be in arrayItem5 before expanding");
     arrayItem5.expand();
     is(arrayItem5._store.size, 5, "Some properties should be in arrayItem5 before expanding");
 
@@ -415,17 +415,17 @@ function testThirdLevelContents() {
 
     let array__proto__ = arrayItem5.get("__proto__");
     let object__proto__ = arrayItem6.get("__proto__");
 
     ok(array__proto__, "The array should have a __proto__ property.");
     ok(object__proto__, "The object should have a __proto__ property.");
   })();
 
-  (function() {
+  (function () {
     let someProp6 = gVariable.get("someProp6");
     let objectItem5 = someProp6.get("p5");
     let objectItem6 = someProp6.get("p6");
 
     is(objectItem5._store.size, 0, "No properties should be in objectItem5 before expanding");
     objectItem5.expand();
     is(objectItem5._store.size, 5, "Some properties should be in objectItem5 before expanding");
 
@@ -596,16 +596,16 @@ function testPropertyInheritance(fooScop
 function testClearHierarchy() {
   gVariablesView.clearHierarchy();
   ok(!gVariablesView._prevHierarchy.size,
     "The previous hierarchy should have been cleared.");
   ok(!gVariablesView._currHierarchy.size,
     "The current hierarchy should have been cleared.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariablesView = null;
   gScope = null;
   gVariable = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-cancel.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-cancel.js
@@ -6,17 +6,17 @@
 /**
  * Make sure that canceling a name change correctly unhides the separator and
  * value elements.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_watch-expressions.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let vars = win.DebuggerView.Variables;
 
     win.DebuggerView.WatchExpressions.addExpression("this");
 
     callInTab(tab, "ermahgerd");
     yield waitForDebuggerEvents(panel, win.EVENTS.FETCHED_WATCH_EXPRESSIONS);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-click.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-click.js
@@ -6,17 +6,17 @@
 /**
  * Check that the editing state of a Variable is correctly tracked. Clicking on
  * the textbox while editing should not cancel editing.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_watch-expressions.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab, debuggee, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let vars = win.DebuggerView.Variables;
 
     win.DebuggerView.WatchExpressions.addExpression("this");
 
     // Allow this generator function to yield first.
     executeSoon(() => debuggee.ermahgerd());
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-01.js
@@ -20,18 +20,18 @@ function test() {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gL10N = gDebugger.L10N;
     gEditor = gDebugger.DebuggerView.editor;
     gVars = gDebugger.DebuggerView.Variables;
     gWatch = gDebugger.DebuggerView.WatchExpressions;
 
-    gVars.switch = function() {};
-    gVars.delete = function() {};
+    gVars.switch = function () {};
+    gVars.delete = function () {};
 
     waitForSourceAndCaretAndScopes(gPanel, ".html", 24)
       .then(() => addWatchExpressions())
       .then(() => testEdit("set", "this._prop = value + ' BEER CAN'", {
         "myVar.prop": "xlerb BEER CAN",
         "myVar.prop + 42": "xlerb BEER CAN42",
         "myVar.prop = 'xlerb'": "xlerb"
       }))
@@ -280,17 +280,17 @@ function testWatchExpressionsRemoved() {
   ok(scope,
     "There should be a local scope in the variables view.");
   isnot(scope.name, gL10N.getStr("watchExpressionsScopeLabel"),
     "The scope's name should not be marked as 'Watch Expressions'.");
   isnot(scope._store.size, 0,
     "There should be some variables available.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gL10N = null;
   gEditor = null;
   gVars = null;
   gWatch = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-getset-02.js
@@ -21,18 +21,18 @@ function test() {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     gL10N = gDebugger.L10N;
     gEditor = gDebugger.DebuggerView.editor;
     gVars = gDebugger.DebuggerView.Variables;
     gWatch = gDebugger.DebuggerView.WatchExpressions;
 
-    gVars.switch = function() {};
-    gVars.delete = function() {};
+    gVars.switch = function () {};
+    gVars.delete = function () {};
 
     waitForSourceAndCaretAndScopes(gPanel, ".html", 24)
       .then(() => addWatchExpression())
       .then(() => testEdit("\"xlerb\"", "xlerb"))
       .then(() => resumeDebuggerThenCloseAndFinish(gPanel))
       .then(null, aError => {
         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
       });
@@ -86,17 +86,17 @@ function testEdit(aString, aExpected) {
   });
 
   myVar.expand();
   gVars.clearHierarchy();
 
   return finished;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gL10N = null;
   gEditor = null;
   gVars = null;
   gWatch = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-value.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-value.js
@@ -74,14 +74,14 @@ function testModification(aNewValue, aNe
 
     is(aVar.target.querySelector(".name").getAttribute("value"), "a",
       "Should have the right name for 'a'.");
     is(aVar.target.querySelector(".value").getAttribute("value"), aNewResult,
       "Should have the right new value for 'a'.");
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVars = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-watch.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-edit-watch.js
@@ -488,17 +488,17 @@ function addExpression(aString) {
   gEditor.focus();
 }
 
 function addCmdExpression(aString) {
   gWatch._onCmdAddExpression(aString);
   gEditor.focus();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gL10N = null;
   gEditor = null;
   gVars = null;
   gWatch = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-01.js
@@ -224,15 +224,15 @@ function prepareVariablesAndProperties()
   withScope.expand();
   functionScope.expand();
   globalLexicalScope.expand();
   globalScope.expand();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-02.js
@@ -232,15 +232,15 @@ function prepareVariablesAndProperties()
   withScope.expand();
   functionScope.expand();
   globalLexicalScope.expand();
   globalScope.expand();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-03.js
@@ -161,15 +161,15 @@ function prepareVariablesAndProperties()
   withScope.expand();
   functionScope.expand();
   globalLexicalScope.expand();
   globalScope.expand();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-04.js
@@ -46,114 +46,114 @@ function testVariablesAndPropertiesFilte
   let localScope = gVariables.getScopeAtIndex(0);
   let withScope = gVariables.getScopeAtIndex(1);
   let functionScope = gVariables.getScopeAtIndex(2);
   let globalLexicalScope = gVariables.getScopeAtIndex(3);
   let globalScope = gVariables.getScopeAtIndex(4);
   let step = 0;
 
   let tests = [
-    function() {
+    function () {
       assertExpansion([true, false, false, false, false]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, false, false, false, false]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, false, false, false, false]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([true, false, false, false, false]);
       typeText(gSearchBox, "*");
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       backspaceText(gSearchBox, 1);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       localScope.collapse();
       withScope.collapse();
       functionScope.collapse();
       globalLexicalScope.collapse();
       globalScope.collapse();
     },
-    function() {
+    function () {
       assertExpansion([false, false, false, false, false]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([false, false, false, false, false]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([false, false, false, false, false]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([false, false, false, false, false]);
       clearText(gSearchBox);
       typeText(gSearchBox, "*");
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       backspaceText(gSearchBox, 1);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       EventUtils.sendKey("RETURN", gDebugger);
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
       gEditor.focus();
     },
-    function() {
+    function () {
       assertExpansion([true, true, true, true, true]);
     }
   ];
 
   function assertExpansion(aFlags) {
     is(localScope.expanded, aFlags[0],
       "The localScope should " + (aFlags[0] ? "" : "not ") +
       "be expanded at this point (" + step + ").");
@@ -225,16 +225,16 @@ function prepareVariablesAndProperties()
   withScope.expand();
   functionScope.expand();
   globalLexicalScope.expand();
   globalScope.expand();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gEditor = null;
   gVariables = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-05.js
@@ -45,48 +45,48 @@ function testVariablesAndPropertiesFilte
   let localScope = gVariables.getScopeAtIndex(0);
   let withScope = gVariables.getScopeAtIndex(1);
   let functionScope = gVariables.getScopeAtIndex(2);
   let globalLexicalScope = gVariables.getScopeAtIndex(3);
   let globalScope = gVariables.getScopeAtIndex(4);
   let step = 0;
 
   let tests = [
-    function() {
+    function () {
       assertScopeExpansion([true, false, false, false, false]);
       typeText(gSearchBox, "*arguments");
     },
-    function() {
+    function () {
       assertScopeExpansion([true, true, true, true, true]);
       assertVariablesCountAtLeast([0, 0, 1, 0, 0]);
 
       is(functionScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[0].getAttribute("value"),
         "arguments", "The arguments pseudoarray should be visible.");
       is(functionScope.get("arguments").expanded, false,
         "The arguments pseudoarray in functionScope should not be expanded.");
 
       backspaceText(gSearchBox, 6);
     },
-    function() {
+    function () {
       assertScopeExpansion([true, true, true, true, true]);
       assertVariablesCountAtLeast([0, 0, 1, 0, 1]);
 
       is(functionScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[0].getAttribute("value"),
         "arguments", "The arguments pseudoarray should be visible.");
       is(functionScope.get("arguments").expanded, false,
         "The arguments pseudoarray in functionScope should not be expanded.");
 
       is(globalScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[0].getAttribute("value"),
         "EventTarget", "The EventTarget object should be visible.");
       is(globalScope.get("EventTarget").expanded, false,
         "The EventTarget object in globalScope should not be expanded.");
 
       backspaceText(gSearchBox, 2);
     },
-    function() {
+    function () {
       assertScopeExpansion([true, true, true, true, true]);
       assertVariablesCountAtLeast([0, 1, 3, 0, 1]);
 
       is(functionScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[0].getAttribute("value"),
         "aNumber", "The aNumber param should be visible.");
       is(functionScope.get("aNumber").expanded, false,
         "The aNumber param in functionScope should not be expanded.");
 
@@ -97,17 +97,17 @@ function testVariablesAndPropertiesFilte
 
       is(functionScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[2].getAttribute("value"),
         "arguments", "The arguments pseudoarray should be visible.");
       is(functionScope.get("arguments").expanded, false,
         "The arguments pseudoarray in functionScope should not be expanded.");
 
       backspaceText(gSearchBox, 1);
     },
-    function() {
+    function () {
       assertScopeExpansion([true, true, true, true, true]);
       assertVariablesCountAtLeast([4, 1, 3, 0, 1]);
 
       is(localScope.target.querySelectorAll(".variables-view-variable:not([unmatched]) > .title > .name")[0].getAttribute("value"),
         "this", "The this reference should be visible.");
       is(localScope.get("this").expanded, false,
         "The this reference in localScope should not be expanded.");
 
@@ -237,15 +237,15 @@ function prepareVariablesAndProperties()
   withScope.expand();
   functionScope.expand();
   globalLexicalScope.expand();
   globalScope.expand();
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
   gSearchBox = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-pref.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-pref.js
@@ -66,16 +66,16 @@ function performTest() {
   is(gPrefs.variablesSearchboxVisible, false,
     "The debugger searchbox should now be preffed as hidden.");
   isnot(gOptions._showVariablesFilterBoxItem.getAttribute("checked"), "true",
     "The options menu item should now be unchecked.");
 
   closeDebuggerAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gPrefs = null;
   gOptions = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-searchbox.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-filter-searchbox.js
@@ -133,14 +133,14 @@ function performTest() {
     "The searchbox element should be found.");
 
   is(gVariables._searchboxNode.getAttribute("placeholder"),
     placeholder, "There correct placeholder should be applied to the searchbox again.");
 
   closeDebuggerAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-01.js
@@ -253,14 +253,14 @@ function testExpandVariables() {
   is(thisVar.expanded, true,
     "The thisVar should be immediately marked as expanded.");
   is(argsVar.expanded, true,
     "The argsVar should be immediately marked as expanded.");
   is(cVar.expanded, true,
     "The cVar should be immediately marked as expanded.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-02.js
@@ -535,14 +535,14 @@ function testGetterSetterObject() {
 
     deferred.resolve();
   });
 
   myVar.expand();
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-parameters-03.js
@@ -140,14 +140,14 @@ function testWindowVariable() {
     "Should have the right property value for 'undefined'.");
 
   is(windowVar.get("undefined").target.querySelector(".enum").childNodes.length, 0,
     "Should have no child enumerable properties for 'undefined'.");
   is(windowVar.get("undefined").target.querySelector(".nonenum").childNodes.length, 0,
     "Should have no child non-enumerable properties for 'undefined'.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-with.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frame-with.js
@@ -196,14 +196,14 @@ function testFunctionScope() {
   is(funcScope.get("foo").target.querySelector(".name").getAttribute("value"), "foo",
     "Should have the right property name for 'foo'.");
   is(funcScope.get("foo").target.querySelector(".value").getAttribute("value"), "6.283185307179586",
     "Should have the right property value for 'foo'.");
   ok(funcScope.get("foo").target.querySelector(".value").className.includes("token-number"),
     "Should have the right token class for 'foo'.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frozen-sealed-nonext.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-frozen-sealed-nonext.js
@@ -20,29 +20,29 @@ function test() {
 
     prepareTest();
   });
 }
 
 function prepareTest() {
   gDebugger.once(gDebugger.EVENTS.FETCHED_SCOPES, runTest);
 
-  evalInTab(gTab, "(" + function() {
+  evalInTab(gTab, "(" + function () {
     var frozen = Object.freeze({});
     var sealed = Object.seal({});
     var nonExtensible = Object.preventExtensions({});
     var extensible = {};
     var string = "foo bar baz";
 
     debugger;
   } + "())");
 }
 
 function runTest() {
-  let hasNoneTester = function(aVariable) {
+  let hasNoneTester = function (aVariable) {
     ok(!aVariable.hasAttribute("frozen"),
        "The variable should not be frozen.");
     ok(!aVariable.hasAttribute("sealed"),
        "The variable should not be sealed.");
     ok(!aVariable.hasAttribute("non-extensible"),
        "The variable should be extensible.");
   };
 
@@ -77,13 +77,13 @@ function runTest() {
   }
 
   is(Object.keys(testers).length, 0,
     "We should have run and removed all the testers.");
 
   resumeDebuggerThenCloseAndFinish(gPanel);
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-hide-non-enums.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-hide-non-enums.js
@@ -95,13 +95,13 @@ function performTest() {
     // Check 'show hidden properties'.
     gDebugger.DebuggerView.Options._showVariablesOnlyEnumItem.setAttribute("checked", "false");
     gDebugger.DebuggerView.Options._toggleShowVariablesOnlyEnum();
 
     resumeDebuggerThenCloseAndFinish(gPanel);
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-large-array-buffer.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-large-array-buffer.js
@@ -236,15 +236,15 @@ function verifyNextLevels3(lastPage2, va
   LEAF_ITEMS.forEach(([index, name, value]) => {
     is(lastPage2._enum.querySelectorAll(".variables-view-property .name")[index].getAttribute("value"),
       name, `The properties in the leaf level of '${varName}' are named correctly.`);
     is(lastPage2._enum.querySelectorAll(".variables-view-property .value")[index].getAttribute("value"),
       expectedValue(name, value), `The properties in the leaf level of '${varName}' have the correct value.`);
   });
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
   gEllipsis = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-map-set.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-map-set.js
@@ -6,17 +6,17 @@
 /**
  * Test that Map and Set and their Weak friends are displayed in variables view.
  */
 
 "use strict";
 
 const TAB_URL = EXAMPLE_URL + "doc_map-set.html";
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   const [tab,, panel] = yield initDebugger(TAB_URL);
   yield ensureSourceIs(panel, "doc_map-set.html", true);
 
   const scopes = waitForCaretAndScopes(panel, 37);
   callInTab(tab, "startTest");
   yield scopes;
 
   const variables = panel.panelWin.DebuggerView.Variables;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-01.js
@@ -4,17 +4,17 @@
 /**
  * Tests that VariablesView methods responsible for styling variables
  * as overridden work properly.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_scope-variable-2.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let variables = win.DebuggerView.Variables;
 
     callInTab(tab, "test");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 23);
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-override-02.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that overridden variables in the VariablesView are styled properly.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_scope-variable-2.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let variables = win.DebuggerView.Variables;
 
     // Wait for the hierarchy to be committed by the VariablesViewController.
     let committedLocalScopeHierarchy = promise.defer();
     variables.oncommit = committedLocalScopeHierarchy.resolve;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-01.js
@@ -6,17 +6,17 @@
 /**
  * Tests opening the variable inspection popup on a variable which has a
  * simple literal as the value.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     bubble._ignoreLiterals = false;
 
     function verifyContents(textContent, className) {
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-02.js
@@ -6,17 +6,17 @@
 /**
  * Tests opening the variable inspection popup on a variable which has a
  * a property accessible via getters and setters.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     function verifyContents(textContent, className) {
       is(tooltip.querySelectorAll(".variables-view-container").length, 0,
         "There should be no variables view containers added to the tooltip.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-03.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that the inspected indentifier is highlighted.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
 
     callInTab(tab, "start");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 24);
 
     // Inspect variable.
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-04.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-04.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that the variable inspection popup is hidden when the editor scrolls.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
 
     callInTab(tab, "start");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 24);
 
     // Inspect variable.
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-05.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-05.js
@@ -6,17 +6,17 @@
 /**
  * Tests opening the variable inspection popup on a variable which has a
  * simple object as the value.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     function verifyContents() {
       is(tooltip.querySelectorAll(".variables-view-container").length, 1,
         "There should be one variables view container added to the tooltip.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-06.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-06.js
@@ -7,17 +7,17 @@
  * Tests opening the variable inspection popup on a variable which has a
  * complext object as the value.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     function verifyContents() {
       is(tooltip.querySelectorAll(".variables-view-container").length, 1,
         "There should be one variables view container added to the tooltip.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-07.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-07.js
@@ -6,17 +6,17 @@
 /**
  * Tests the variable inspection popup behaves correctly when switching
  * between simple and complex objects.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     function verifySimpleContents(textContent, className) {
       is(tooltip.querySelectorAll(".variables-view-container").length, 0,
         "There should be no variables view container added to the tooltip.");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-08.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-08.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests opening inspecting variables works across scopes.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_scope-variable.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let editor = win.DebuggerView.editor;
     let frames = win.DebuggerView.StackFrames;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-09.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-09.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests opening inspecting variables works across scopes.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_scope-variable-3.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     callInTab(tab, "test");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 15);
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-10.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-10.js
@@ -7,17 +7,17 @@
  * Makes sure the source editor's scroll location doesn't change when
  * a variable inspection popup is opened and a watch expression is
  * also evaluated at the same time.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let editor = win.DebuggerView.editor;
     let editorContainer = win.document.getElementById("editor");
     let bubble = win.DebuggerView.VariableBubble;
     let expressions = win.DebuggerView.WatchExpressions;
     let tooltip = bubble._tooltip.panel;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-11.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-11.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that the watch expression button is added in variable view popup.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_watch-expression-button.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let watch = win.DebuggerView.WatchExpressions;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     let label = win.L10N.getStr("addWatchExpressionButton");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-12.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-12.js
@@ -6,17 +6,17 @@
 /**
  * Tests that the clicking "Watch" button twice, for the same expression, only adds it
  * once.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_watch-expression-button.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let watch = win.DebuggerView.WatchExpressions;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     function verifyContent(aExpression, aItemCount) {
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-13.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-13.js
@@ -6,17 +6,17 @@
 /**
  * Tests that the variable inspection popup has inspector links for DOMNode
  * properties and that the popup closes when the link is clicked
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_domnode-variables.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
     let toolbox = gDevTools.getToolbox(panel.target);
 
     function getDomNodeInTooltip(propertyName) {
       let domNodeProperties = tooltip.querySelectorAll(".token-domnode");
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-14.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-14.js
@@ -6,17 +6,17 @@
 /**
  * Tests that the variable inspection popup is hidden when
  * selecting text in the editor.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
 
     callInTab(tab, "start");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 24);
 
     // Select some text.
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-15.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-15.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests opening the variable inspection popup directly on literals.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
 
     callInTab(tab, "start");
     yield waitForSourceAndCaretAndScopes(panel, ".html", 24);
 
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-16.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-16.js
@@ -8,17 +8,17 @@ requestLongerTimeout(2);
 /**
  * Tests if opening the variables inspection popup preserves the highlighting
  * associated with the currently debugged line.
  */
 
 const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab,, panel] = yield initDebugger(TAB_URL);
     let win = panel.panelWin;
     let events = win.EVENTS;
     let editor = win.DebuggerView.editor;
     let frames = win.DebuggerView.StackFrames;
     let variables = win.DebuggerView.Variables;
     let bubble = win.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-17.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-popup-17.js
@@ -16,34 +16,34 @@ function test() {
     gTab = aTab;
     gPanel = aPanel;
     gDebugger = gPanel.panelWin;
     actions = bindActionCreators(gPanel);
     gSources = gDebugger.DebuggerView.Sources;
     gVariables = gDebugger.DebuggerView.Variables;
     let bubble = gDebugger.DebuggerView.VariableBubble;
     let tooltip = bubble._tooltip.panel;
-    let testPopupHiding = Task.async(function *(){
+    let testPopupHiding = Task.async(function* () {
       yield addBreakpoint();
       yield ensureThreadClientState(gPanel, "resumed");
       yield pauseDebuggee();
       yield openVarPopup(gPanel, { line: 20, ch: 17 });
       is(tooltip.querySelectorAll(".devtools-tooltip-simple-text").length, 1,
           "The popup should be open with a simple text entry");
       // Now we're stopped at a breakpoint with an open popup
       // we'll send a keypress and check if the popup closes
-      executeSoon(() => EventUtils.synthesizeKey('VK_F11', {}));
+      executeSoon(() => EventUtils.synthesizeKey("VK_F11", {}));
       // The keypress should cause one resumed event and one paused event
       yield waitForThreadEvents(gPanel, "resumed");
       yield waitForThreadEvents(gPanel, "paused");
       // Here's the state we're actually interested in checking..
       checkVariablePopupClosed(bubble);
       yield resumeDebuggerThenCloseAndFinish(gPanel);
     });
-    waitForSourceShown(gPanel, ".html").then(testPopupHiding)
+    waitForSourceShown(gPanel, ".html").then(testPopupHiding);
   });
 }
 
 function addBreakpoint() {
   return actions.addBreakpoint({ actor: gSources.selectedValue, line: 21 });
 }
 
 function pauseDebuggee() {
@@ -52,25 +52,25 @@ function pauseDebuggee() {
   // The first 'with' scope should be expanded by default, but the
   // variables haven't been fetched yet. This is how 'with' scopes work.
   return promise.all([
     waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES),
     waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_VARIABLES)
   ]);
 }
 
-function checkVariablePopupClosed(bubble){
+function checkVariablePopupClosed(bubble) {
   ok(!bubble.contentsShown(),
     "When stepping, popup should close and be hidden.");
   ok(bubble._tooltip.isEmpty(),
     "The variable inspection popup should now be empty.");
   ok(!bubble._markedText,
     "The marked text in the editor was removed.");
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   actions = null;
   gSources = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-01.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-01.js
@@ -14,17 +14,17 @@ function test() {
   requestLongerTimeout(4);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const gVariables = gDebugger.DebuggerView.Variables;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const getState = gDebugger.DebuggerController.getState;
     const actions = bindActionCreators(gPanel);
 
     // Always expand all items between pauses except 'window' variables.
     gVariables.commitHierarchyIgnoredItems = Object.create(null, { window: { value: true } });
 
     function addBreakpoint() {
       return actions.addBreakpoint({
@@ -189,20 +189,20 @@ function test() {
       withScope.expand();
       functionScope.expand();
       globalLexicalScope.expand();
       globalScope.expand();
 
       return deferred.promise;
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, ".html");
       yield addBreakpoint();
       yield ensureThreadClientState(gPanel, "resumed");
       yield pauseDebuggee();
       yield prepareVariablesAndProperties();
       yield stepInDebuggee();
       yield testVariablesExpand();
       resumeDebuggerThenCloseAndFinish(gPanel);
-    })
+    });
   });
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-02.js
@@ -15,17 +15,17 @@ function test() {
   requestLongerTimeout(4);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const gVariables = gDebugger.DebuggerView.Variables;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const getState = gDebugger.DebuggerController.getState;
     const actions = bindActionCreators(gPanel);
 
     // Always expand all items between pauses.
     gVariables.commitHierarchyIgnoredItems = Object.create(null);
 
     function addBreakpoint() {
       return actions.addBreakpoint({
@@ -204,20 +204,20 @@ function test() {
       withScope.expand();
       functionScope.expand();
       globalLexicalScope.expand();
       globalScope.expand();
 
       return deferred.promise;
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, ".html");
 
-      yield addBreakpoint()
+      yield addBreakpoint();
       yield ensureThreadClientState(gPanel, "resumed");
       yield pauseDebuggee();
       yield prepareVariablesAndProperties();
       yield stepInDebuggee();
       yield testVariablesExpand();
       resumeDebuggerThenCloseAndFinish(gPanel);
     });
   });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-03.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-reexpand-03.js
@@ -14,17 +14,17 @@ function test() {
   requestLongerTimeout(4);
 
   initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
     const gTab = aTab;
     const gPanel = aPanel;
     const gDebugger = gPanel.panelWin;
     const gSources = gDebugger.DebuggerView.Sources;
     const gVariables = gDebugger.DebuggerView.Variables;
-    const queries = gDebugger.require('./content/queries');
+    const queries = gDebugger.require("./content/queries");
     const getState = gDebugger.DebuggerController.getState;
     const actions = bindActionCreators(gPanel);
 
     // Always expand all items between pauses.
     gVariables.commitHierarchyIgnoredItems = Object.create(null);
 
     function addBreakpoint() {
       return actions.addBreakpoint({
@@ -98,17 +98,17 @@ function test() {
       is(localScope.expanded, false,
          "The localScope should not be expanded anymore.");
       is(functionScope.expanded, true,
          "The functionScope should now be expanded.");
       is(globalScope.expanded, false,
          "The globalScope should still not be expanded.");
     }
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForSourceShown(gPanel, ".html");
       yield addBreakpoint();
       yield ensureThreadClientState(gPanel, "resumed");
       yield pauseDebuggee();
       yield prepareScopes();
       yield resumeDebuggee();
       yield testVariablesExpand();
       resumeDebuggerThenCloseAndFinish(gPanel);
--- a/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-webidl.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_variables-view-webidl.js
@@ -203,17 +203,17 @@ function performTest() {
       ok(buttonAsProtoProtoProtoVar.target.querySelector(".value").className.includes("token-other"),
         "Should have the right token class for '__proto__'.");
 
       is(documentProtoProtoVar.target.querySelector(".name").getAttribute("value"), "__proto__",
         "Should have the right property name for '__proto__'.");
       is(documentProtoProtoVar.target.querySelector(".value").getAttribute("value"), "DocumentPrototype",
         "Should have the right property value for '__proto__'.");
       ok(documentProtoProtoVar.target.querySelector(".value").className.includes("token-other"),
-        "Should have the right token class for '__proto__'.")
+        "Should have the right token class for '__proto__'.");
 
       is(buttonAsProtoProtoProtoVar.expanded, false,
         "The buttonAsProtoProtoProtoVar should not be expanded at this point.");
       is(buttonAsProtoProtoProtoVar.expanded, false,
         "The buttonAsProtoProtoProtoVar should not be expanded at this point.");
       is(documentProtoProtoVar.expanded, false,
         "The documentProtoProtoVar should not be expanded at this point.");
 
@@ -245,14 +245,14 @@ function performTest() {
   is(buttonAsProtoVar.expanded, true,
     "The buttonAsProtoVar should be immediately marked as expanded.");
   is(documentVar.expanded, true,
     "The documentVar should be immediately marked as expanded.");
 
   return deferred.promise;
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gTab = null;
   gPanel = null;
   gDebugger = null;
   gVariables = null;
 });
--- a/devtools/client/debugger/test/mochitest/browser_dbg_watch-expressions-02.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_watch-expressions-02.js
@@ -72,25 +72,25 @@ function test() {
   function performTest() {
     let deferred = promise.defer();
 
     is(gDebugger.document.querySelectorAll(".dbg-expression[hidden=true]").length, 0,
       "There should be 0 hidden nodes in the watch expressions container");
     is(gDebugger.document.querySelectorAll(".dbg-expression:not([hidden=true])").length, 28,
       "There should be 28 visible nodes in the watch expressions container");
 
-    test1(function() {
-      test2(function() {
-        test3(function() {
-          test4(function() {
-            test5(function() {
-              test6(function() {
-                test7(function() {
-                  test8(function() {
-                    test9(function() {
+    test1(function () {
+      test2(function () {
+        test3(function () {
+          test4(function () {
+            test5(function () {
+              test6(function () {
+                test7(function () {
+                  test8(function () {
+                    test9(function () {
                       deferred.resolve();
                     });
                   });
                 });
               });
             });
           });
         });
@@ -187,17 +187,17 @@ function test() {
     gDebugger.once(gDebugger.EVENTS.FETCHED_WATCH_EXPRESSIONS, () => {
       checkWatchExpressions(28, {
         a: 5,
         this: { type: "object", class: "Window" },
         prop: { type: "undefined" },
         args: "sensational"
       });
       aCallback();
-    })
+    });
 
     gWatch.addExpression("decodeURI(\"\\\")");
     EventUtils.sendKey("RETURN", gDebugger);
   }
 
   function test7(aCallback) {
     gDebugger.once(gDebugger.EVENTS.FETCHED_WATCH_EXPRESSIONS, () => {
       checkWatchExpressions(28, {
@@ -370,11 +370,11 @@ function test() {
 
     is(w20.value, "SyntaxError: expected expression, got '.'", "The 20th value is correct.");
     is(w21.value, "SyntaxError: expected expression, got '.'", "The 21th value is correct.");
     is(w22.value, "TypeError: (intermediate value).foo is not a function", "The 22th value is correct.");
     is(w23.value, "RangeError: invalid array length", "The 23th value is correct.");
     is(w24.value, "RangeError: precision -4 out of range", "The 24th value is correct.");
     is(w25.value, "Error: bazinga", "The 25th value is correct.");
     is(w26.value, "Error: bazinga", "The 26th value is correct.");
-    is(w28.value, 'foo$$', "The 28th value is correct.");
+    is(w28.value, "foo$$", "The 28th value is correct.");
   }
 }
--- a/devtools/client/debugger/test/mochitest/browser_dbg_worker-console.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg_worker-console.js
@@ -25,37 +25,37 @@ function* initWorkerDebugger(TAB_URL, WO
 
   let toolbox = yield gDevTools.showToolbox(TargetFactory.forWorker(workerClient),
                                             "jsdebugger",
                                             Toolbox.HostType.WINDOW);
 
   let debuggerPanel = toolbox.getCurrentPanel();
   let gDebugger = debuggerPanel.panelWin;
 
-  return {client,tab,tabClient,workerClient,toolbox,gDebugger};
+  return {client, tab, tabClient, workerClient, toolbox, gDebugger};
 }
 
 add_task(function* testNormalExecution() {
-  let {client,tab,tabClient,workerClient,toolbox,gDebugger} =
+  let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     yield initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let jsterm = yield getSplitConsole(toolbox);
   let executed = yield jsterm.execute("this.location.toString()");
   ok(executed.textContent.includes(WORKER_URL),
       "Evaluating the global's location works");
 
   yield gDevTools.closeToolbox(TargetFactory.forWorker(workerClient));
   terminateWorkerInTab(tab, WORKER_URL);
   yield waitForWorkerClose(workerClient);
   yield close(client);
   yield removeTab(tab);
 });
 
 add_task(function* testWhilePaused() {
-  let {client,tab,tabClient,workerClient,toolbox,gDebugger} =
+  let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     yield initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let gTarget = gDebugger.gTarget;
   let gResumeButton = gDebugger.document.getElementById("resume");
   let gResumeKey = gDebugger.document.getElementById("resumeKey");
 
   // Execute some basic math to make sure evaluations are working.
   let jsterm = yield getSplitConsole(toolbox);
@@ -71,27 +71,27 @@ add_task(function* testWhilePaused() {
     postMessageToWorkerInTab(tab, WORKER_URL, "ping");
   });
   yield oncePaused;
 
   let command1 = jsterm.execute("10000+2");
   let command2 = jsterm.execute("10000+3");
   let command3 = jsterm.execute("foobar"); // throw an error
 
-  info ("Trying to get the result of command1");
+  info("Trying to get the result of command1");
   executed = yield command1;
   ok(executed.textContent.includes("10002"),
       "command1 executed successfully");
 
-  info ("Trying to get the result of command2");
+  info("Trying to get the result of command2");
   executed = yield command2;
   ok(executed.textContent.includes("10003"),
       "command2 executed successfully");
 
-  info ("Trying to get the result of command3")
+  info("Trying to get the result of command3");
   executed = yield command3;
   // XXXworkers This is failing until Bug 1215120 is resolved.
   todo(executed.textContent.includes("ReferenceError: foobar is not defined"),
       "command3 executed successfully");
 
   let onceResumed = gTarget.once("thread-resumed");
   EventUtils.sendMouseEvent({ type: "mousedown" }, gResumeButton, gDebugger);
   yield onceResumed;
@@ -100,17 +100,17 @@ add_task(function* testWhilePaused() {
   terminateWorkerInTab(tab, WORKER_URL);
   yield waitForWorkerClose(workerClient);
   yield close(client);
   yield removeTab(tab);
 });
 
 // Test to see if creating the pause from the console works.
 add_task(function* testPausedByConsole() {
-  let {client,tab,tabClient,workerClient,toolbox,gDebugger} =
+  let {client, tab, tabClient, workerClient, toolbox, gDebugger} =
     yield initWorkerDebugger(TAB_URL, WORKER_URL);
 
   let gTarget = gDebugger.gTarget;
   let gResumeButton = gDebugger.document.getElementById("resume");
   let gResumeKey = gDebugger.document.getElementById("resumeKey");
 
   let jsterm = yield getSplitConsole(toolbox);
   let executed = yield jsterm.execute("10000+1");
--- a/devtools/client/debugger/test/mochitest/code_WorkerActor.attachThread-worker.js
+++ b/devtools/client/debugger/test/mochitest/code_WorkerActor.attachThread-worker.js
@@ -3,14 +3,14 @@
 function f() {
   var a = 1;
   var b = 2;
   var c = 3;
 }
 
 self.onmessage = function (event) {
   if (event.data == "ping") {
-    f()
+    f();
     postMessage("pong");
   }
 };
 
 postMessage("load");
--- a/devtools/client/debugger/test/mochitest/code_blackboxing_unblackbox.min.js
+++ b/devtools/client/debugger/test/mochitest/code_blackboxing_unblackbox.min.js
@@ -1,1 +1,1 @@
-function blackboxme(){one()};function one(){};
\ No newline at end of file
+function blackboxme() {one();} function one() {}
--- a/devtools/client/debugger/test/mochitest/code_breakpoints-break-on-last-line-of-script-on-reload.js
+++ b/devtools/client/debugger/test/mochitest/code_breakpoints-break-on-last-line-of-script-on-reload.js
@@ -1,6 +1,6 @@
 debugger;
-var a = (function(){
+var a = (function () {
   var b = 9;
   console.log("x", b);
   return b;
 })();
--- a/devtools/client/debugger/test/mochitest/code_bug-896139.js
+++ b/devtools/client/debugger/test/mochitest/code_bug-896139.js
@@ -1,8 +1,8 @@
 <!-- Any copyright is dedicated to the Public Domain.
-     http://creativecommons.org/publicdomain/zero/1.0/ -->
+     http:// creativecommons.org/publicdomain/zero/1.0/ -->
 
 function f() {
   var a = 1;
   var b = 2;
   var c = 3;
 }
--- a/devtools/client/debugger/test/mochitest/code_frame-script.js
+++ b/devtools/client/debugger/test/mochitest/code_frame-script.js
@@ -1,29 +1,29 @@
 "use strict";
 
 var { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-const { loadSubScript } = Cc['@mozilla.org/moz/jssubscript-loader;1'].
+const { loadSubScript } = Cc["@mozilla.org/moz/jssubscript-loader;1"].
                           getService(Ci.mozIJSSubScriptLoader);
 
 // Set up a dummy environment so that EventUtils works. We need to be careful to
 // pass a window object into each EventUtils method we call rather than having
 // it rely on the |window| global.
 let EventUtils = {};
 EventUtils.window = content;
 EventUtils.parent = EventUtils.window;
 EventUtils._EU_Ci = Components.interfaces;
 EventUtils._EU_Cc = Components.classes;
 EventUtils.navigator = content.navigator;
 EventUtils.KeyboardEvent = content.KeyboardEvent;
 loadSubScript("chrome://mochikit/content/tests/SimpleTest/EventUtils.js", EventUtils);
 
 dump("Frame script loaded.\n");
 
-var workers = {}
+var workers = {};
 
 this.call = function (name, args) {
   dump("Calling function with name " + name + ".\n");
 
   dump("args " + JSON.stringify(args) + "\n");
   return XPCNativeWrapper.unwrap(content)[name].apply(undefined, args);
 };
 
--- a/devtools/client/debugger/test/mochitest/code_function-jump-01.js
+++ b/devtools/client/debugger/test/mochitest/code_function-jump-01.js
@@ -1,6 +1,6 @@
 
 function foo() {
-    //some function
+    // some function
 }
 
 foo();
--- a/devtools/client/debugger/test/mochitest/code_function-search-01.js
+++ b/devtools/client/debugger/test/mochitest/code_function-search-01.js
@@ -1,40 +1,40 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function test() {
   // Blah! First source!
 }
 
 test.prototype = {
-  anonymousExpression: function() {
+  anonymousExpression: function () {
   },
   namedExpression: function NAME() {
   },
   sub: {
     sub: {
       sub: {
       }
     }
   }
 };
 
 var foo = {
-  a_test: function() {
+  a_test: function () {
   },
   n_test: function x() {
   },
   sub: {
-    a_test: function() {
+    a_test: function () {
     },
     n_test: function y() {
     },
     sub: {
-      a_test: function() {
+      a_test: function () {
       },
       n_test: function z() {
       },
       sub: {
         test_SAME_NAME: function test_SAME_NAME() {
         }
       }
     }
--- a/devtools/client/debugger/test/mochitest/code_function-search-02.js
+++ b/devtools/client/debugger/test/mochitest/code_function-search-02.js
@@ -1,21 +1,21 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-var test2 = function() {
+var test2 = function () {
   // Blah! Second source!
-}
+};
 
 var test3 = function test3_NAME() {
-}
+};
 
 var test4_SAME_NAME = function test4_SAME_NAME() {
-}
+};
 
 test.prototype.x = function X() {
 };
 test.prototype.sub.y = function Y() {
 };
 test.prototype.sub.sub.z = function Z() {
 };
-test.prototype.sub.sub.sub.t = this.x = this.y = this.z = function() {
+test.prototype.sub.sub.sub.t = this.x = this.y = this.z = function () {
 };
--- a/devtools/client/debugger/test/mochitest/code_same-line-functions.js
+++ b/devtools/client/debugger/test/mochitest/code_same-line-functions.js
@@ -1,1 +1,1 @@
-function first() { var a = "first"; second(); function second() { var a = "second"; } }
\ No newline at end of file
+function first() { var a = "first"; second(); function second() { var a = "second"; } }
--- a/devtools/client/debugger/test/mochitest/code_script-eval.js
+++ b/devtools/client/debugger/test/mochitest/code_script-eval.js
@@ -1,14 +1,14 @@
 
 var bar;
 
 function evalSource() {
-  eval('bar = function() {\nvar x = 5;\n}');
+  eval("bar = function() {\nvar x = 5;\n}");
 }
 
 function evalSourceWithSourceURL() {
-  eval('bar = function() {\nvar x = 6;\n} //# sourceURL=bar.js');
+  eval("bar = function() {\nvar x = 6;\n} //# sourceURL=bar.js");
 }
 
 function evalSourceWithDebugger() {
-  eval('bar = function() {\nvar x = 7;\ndebugger; }\n bar();');
+  eval("bar = function() {\nvar x = 7;\ndebugger; }\n bar();");
 }
--- a/devtools/client/debugger/test/mochitest/head.js
+++ b/devtools/client/debugger/test/mochitest/head.js
@@ -14,17 +14,17 @@ Services.scriptloader.loadSubScript("chr
 var gEnableLogging = Services.prefs.getBoolPref("devtools.debugger.log");
 Services.prefs.setBoolPref("devtools.debugger.log", false);
 
 var { BrowserToolboxProcess } = Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm", {});
 var { DebuggerServer } = require("devtools/server/main");
 var { DebuggerClient, ObjectClient } = require("devtools/shared/client/main");
 var { AddonManager } = Cu.import("resource://gre/modules/AddonManager.jsm", {});
 var EventEmitter = require("devtools/shared/event-emitter");
-var { Toolbox } = require("devtools/client/framework/toolbox")
+var { Toolbox } = require("devtools/client/framework/toolbox");
 
 // Override promise with deprecated-sync-thenables
 promise = Cu.import("resource://devtools/shared/deprecated-sync-thenables.js", {}).Promise;
 
 const EXAMPLE_URL = "http://example.com/browser/devtools/client/debugger/test/mochitest/";
 const FRAME_SCRIPT_URL = getRootDirectory(gTestPath) + "code_frame-script.js";
 
 registerCleanupFunction(function* () {
@@ -45,17 +45,17 @@ registerCleanupFunction(function* () {
 
   // Debugger tests use a lot of memory, so force a GC to help fragmentation.
   info("Forcing GC after debugger test.");
   Cu.forceGC();
 });
 
 // Import the GCLI test helper
 var testDir = gTestPath.substr(0, gTestPath.lastIndexOf("/"));
-testDir = testDir.replace(/\/\//g, '/');
+testDir = testDir.replace(/\/\//g, "/");
 testDir = testDir.replace("chrome:/mochitest", "chrome://mochitest");
 var helpersjs = testDir + "/../../../commandline/test/helpers.js";
 Services.scriptloader.loadSubScript(helpersjs, this);
 
 function addWindow(aUrl) {
   info("Adding window: " + aUrl);
   return promise.resolve(getChromeWindow(window.open(aUrl)));
 }
@@ -85,17 +85,17 @@ this.addTab = function addTab(aUrl, aWin
 
   linkedBrowser.addEventListener("load", function onLoad() {
     linkedBrowser.removeEventListener("load", onLoad, true);
     info("Tab added and finished loading: " + aUrl);
     deferred.resolve(tab);
   }, true);
 
   return deferred.promise;
-}
+};
 
 this.removeTab = function removeTab(aTab, aWindow) {
   info("Removing tab.");
 
   let deferred = promise.defer();
   let targetWindow = aWindow || window;
   let targetBrowser = targetWindow.gBrowser;
   let tabContainer = targetBrowser.tabContainer;
@@ -103,48 +103,48 @@ this.removeTab = function removeTab(aTab
   tabContainer.addEventListener("TabClose", function onClose(aEvent) {
     tabContainer.removeEventListener("TabClose", onClose, false);
     info("Tab removed and finished closing.");
     deferred.resolve();
   }, false);
 
   targetBrowser.removeTab(aTab);
   return deferred.promise;
-}
+};
 
 function addAddon(aUrl) {
   info("Installing addon: " + aUrl);
 
   let deferred = promise.defer();
 
   AddonManager.getInstallForURL(aUrl, aInstaller => {
     aInstaller.install();
     let listener = {
-      onInstallEnded: function(aAddon, aAddonInstall) {
+      onInstallEnded: function (aAddon, aAddonInstall) {
         aInstaller.removeListener(listener);
 
         // Wait for add-on's startup scripts to execute. See bug 997408
-        executeSoon(function() {
+        executeSoon(function () {
           deferred.resolve(aAddonInstall);
         });
       }
     };
     aInstaller.addListener(listener);
   }, "application/x-xpinstall");
 
   return deferred.promise;
 }
 
 function removeAddon(aAddon) {
   info("Removing addon.");
 
   let deferred = promise.defer();
 
   let listener = {
-    onUninstalled: function(aUninstalledAddon) {
+    onUninstalled: function (aUninstalledAddon) {
       if (aUninstalledAddon != aAddon) {
         return;
       }
       AddonManager.removeAddonListener(listener);
       deferred.resolve();
     }
   };
   AddonManager.addAddonListener(listener);
@@ -545,17 +545,17 @@ function initAddonDebugger(aUrl) {
 
 function AddonDebugger() {
   this._onMessage = this._onMessage.bind(this);
   this._onConsoleAPICall = this._onConsoleAPICall.bind(this);
   EventEmitter.decorate(this);
 }
 
 AddonDebugger.prototype = {
-  init: Task.async(function*(aUrl) {
+  init: Task.async(function* (aUrl) {
     info("Initializing an addon debugger panel.");
 
     if (!DebuggerServer.initialized) {
       DebuggerServer.init();
       DebuggerServer.addBrowserActors();
     }
     DebuggerServer.allowChromeProcess = true;
 
@@ -583,59 +583,59 @@ AddonDebugger.prototype = {
     };
 
     this.target = TargetFactory.forTab(targetOptions);
     let toolbox = yield gDevTools.showToolbox(this.target, "jsdebugger", Toolbox.HostType.CUSTOM, toolboxOptions);
 
     info("Addon debugger panel shown successfully.");
 
     this.debuggerPanel = toolbox.getCurrentPanel();
-    yield waitForSourceShown(this.debuggerPanel, '');
+    yield waitForSourceShown(this.debuggerPanel, "");
 
     prepareDebugger(this.debuggerPanel);
     yield this._attachConsole();
   }),
 
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     let deferred = promise.defer();
     this.client.close(deferred.resolve);
     yield deferred.promise;
     yield this.debuggerPanel._toolbox.destroy();
     this.frame.remove();
     window.removeEventListener("message", this._onMessage);
   }),
 
-  _attachConsole: function() {
+  _attachConsole: function () {
     let deferred = promise.defer();
     this.client.attachConsole(this.target.form.consoleActor, ["ConsoleAPI"], (aResponse, aWebConsoleClient) => {
       if (aResponse.error) {
         deferred.reject(aResponse);
       }
       else {
         this.webConsole = aWebConsoleClient;
         this.client.addListener("consoleAPICall", this._onConsoleAPICall);
         deferred.resolve();
       }
     });
     return deferred.promise;
   },
 
-  _onConsoleAPICall: function(aType, aPacket) {
+  _onConsoleAPICall: function (aType, aPacket) {
     if (aPacket.from != this.webConsole.actor)
       return;
     this.emit("console", aPacket.message);
   },
 
   /**
    * Returns a list of the groups and sources in the UI. The returned array
    * contains objects for each group with properties name and sources. The
    * sources property contains an array with objects for each source for that
    * group with properties label and url.
    */
-  getSourceGroups: Task.async(function*() {
+  getSourceGroups: Task.async(function* () {
     let debuggerWin = this.debuggerPanel.panelWin;
     let sources = yield getSources(debuggerWin.gThreadClient);
     ok(sources.length, "retrieved sources");
 
     // groups will be the return value, groupmap and the maps we put in it will
     // be used as quick lookups to add the url information in below
     let groups = [];
     let groupmap = new Map();
@@ -676,25 +676,25 @@ AddonDebugger.prototype = {
       }
 
       groupmap.get(group).get(label).url = source.url.split(" -> ").pop();
     }
 
     return groups;
   }),
 
-  _onMessage: function(event) {
+  _onMessage: function (event) {
     let json = JSON.parse(event.data);
     switch (json.name) {
       case "toolbox-title":
         this.title = json.data.value;
         break;
     }
   }
-}
+};
 
 function initChromeDebugger(aOnClose) {
   info("Initializing a chrome debugger process.");
 
   let deferred = promise.defer();
 
   // Wait for the toolbox process to start...
   BrowserToolboxProcess.init(aOnClose, (aEvent, aProcess) => {
@@ -756,31 +756,31 @@ function resumeDebuggerThenCloseAndFinis
 function getBlackBoxButton(aPanel) {
   return aPanel.panelWin.document.getElementById("black-box");
 }
 
 /**
  * Returns the node that has the black-boxed class applied to it.
  */
 function getSelectedSourceElement(aPanel) {
-    return aPanel.panelWin.DebuggerView.Sources.selectedItem.prebuiltNode;
+  return aPanel.panelWin.DebuggerView.Sources.selectedItem.prebuiltNode;
 }
 
 function toggleBlackBoxing(aPanel, aSourceActor = null) {
   function clickBlackBoxButton() {
     getBlackBoxButton(aPanel).click();
   }
 
   const blackBoxChanged = waitForDispatch(
     aPanel,
     aPanel.panelWin.constants.BLACKBOX
   ).then(() => {
     return aSourceActor ?
       getSource(aPanel, aSourceActor) :
-      getSelectedSource(aPanel)
+      getSelectedSource(aPanel);
   });
 
   if (aSourceActor) {
     aPanel.panelWin.DebuggerView.Sources.selectedValue = aSourceActor;
     ensureSourceIs(aPanel, aSourceActor, true).then(clickBlackBoxButton);
   } else {
     clickBlackBoxButton();
   }
@@ -834,18 +834,18 @@ function intendOpenVarPopup(aPanel, aPos
     clientY: top,
     buttons: aButtonPushed
   };
 
   bubble._onMouseMove(eventDescriptor);
 
   const deferred = promise.defer();
   window.setTimeout(
-    function() {
-      if(tooltip.isEmpty()) {
+    function () {
+      if (tooltip.isEmpty()) {
         deferred.resolve(false);
       } else {
         deferred.resolve(true);
       }
     },
     bubble.TOOLTIP_SHOW_DELAY + 1000
   );
 
@@ -955,17 +955,17 @@ function jsonrpc(tab, method, params) {
     messageManager.addMessageListener("jsonrpc", function listener(res) {
       const { data: { result, error, id } } = res;
       if (id !== currentId) {
         return;
       }
 
       messageManager.removeMessageListener("jsonrpc", listener);
       if (error != null) {
-         reject(error);
+        reject(error);
       }
 
       resolve(result);
     });
   });
 }
 
 function callInTab(tab, name) {
@@ -1058,17 +1058,17 @@ function findWorker(workers, url) {
       return worker;
     }
   }
   return null;
 }
 
 function attachWorker(tabClient, worker) {
   info("Attaching to worker with url '" + worker.url + "'.");
-  return new Promise(function(resolve, reject) {
+  return new Promise(function (resolve, reject) {
     tabClient.attachWorker(worker.actor, function (response, workerClient) {
       resolve([response, workerClient]);
     });
   });
 }
 
 function waitForWorkerListChanged(tabClient) {
   info("Waiting for worker list to change.");
@@ -1077,17 +1077,17 @@ function waitForWorkerListChanged(tabCli
       tabClient.removeListener("workerListChanged", listener);
       resolve();
     });
   });
 }
 
 function attachThread(workerClient, options) {
   info("Attaching to thread.");
-  return new Promise(function(resolve, reject) {
+  return new Promise(function (resolve, reject) {
     workerClient.attachThread(options, function (response, threadClient) {
       resolve([response, threadClient]);
     });
   });
 }
 
 function waitForWorkerClose(workerClient) {
   info("Waiting for worker to close.");
@@ -1174,29 +1174,29 @@ function getSplitConsole(toolbox, win) {
   });
 }
 
 // navigation
 
 function waitForNavigation(gPanel) {
   const target = gPanel.panelWin.gTarget;
   const deferred = promise.defer();
-  target.once('navigate', () => {
+  target.once("navigate", () => {
     deferred.resolve();
   });
   info("Waiting for navigation...");
   return deferred.promise;
 }
 
 // actions
 
 function bindActionCreators(panel) {
   const win = panel.panelWin;
   const dispatch = win.DebuggerController.dispatch;
-  const { bindActionCreators } = win.require('devtools/client/shared/vendor/redux');
+  const { bindActionCreators } = win.require("devtools/client/shared/vendor/redux");
   return bindActionCreators(win.actions, dispatch);
 }
 
 // Wait until an action of `type` is dispatched. This is different
 // then `_afterDispatchDone` because it doesn't wait for async actions
 // to be done/errored. Use this if you want to listen for the "start"
 // action of an async operation (somewhat rare).
 function waitForNextDispatch(store, type) {
@@ -1222,32 +1222,32 @@ function _afterDispatchDone(store, type)
       // Normally we would use `services.WAIT_UNTIL`, but use the
       // internal name here so tests aren't forced to always pass it
       // in
       type: "@@service/waitUntil",
       predicate: action => {
         if (action.type === type) {
           return action.status ?
             (action.status === "done" || action.status === "error") :
-            true
+            true;
         }
       },
       run: (dispatch, getState, action) => {
         resolve(action);
       }
     });
   });
 }
 
 function waitForDispatch(panel, type, eventRepeat = 1) {
   const controller = panel.panelWin.DebuggerController;
   const actionType = panel.panelWin.constants[type];
   let count = 0;
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     info("Waiting for " + type + " to dispatch " + eventRepeat + " time(s)");
-    while(count < eventRepeat) {
+    while (count < eventRepeat) {
       yield _afterDispatchDone(controller, actionType);
       count++;
       info(type + " dispatched " + count + " time(s)");
     }
   });
 }
--- a/devtools/client/debugger/utils.js
+++ b/devtools/client/debugger/utils.js
@@ -21,24 +21,24 @@ var XULUtils = {
    * bound to the `command` event
    *
    * @param commandset HTML Element
    *        A <commandset> element
    * @param commands Object
    *        An object where keys specify <command> ids and values
    *        specify event handlers to be bound on the `command` event
    */
-  addCommands: function(commandset, commands) {
+  addCommands: function (commandset, commands) {
     Object.keys(commands).forEach(name => {
-      let node = document.createElement('command');
+      let node = document.createElement("command");
       node.id = name;
       // XXX bug 371900: the command element must have an oncommand
       // attribute as a string set by `setAttribute` for keys to use it
-      node.setAttribute('oncommand', ' ');
-      node.addEventListener('command', commands[name]);
+      node.setAttribute("oncommand", " ");
+      node.addEventListener("command", commands[name]);
       commandset.appendChild(node);
     });
   }
 };
 
 // Used to detect minification for automatic pretty printing
 const SAMPLE_SIZE = 50; // no of lines
 const INDENT_COUNT_THRESHOLD = 5; // percentage
@@ -54,29 +54,29 @@ var SourceUtils = {
 
   /**
    * Returns true if the specified url and/or content type are specific to
    * javascript files.
    *
    * @return boolean
    *         True if the source is likely javascript.
    */
-  isJavaScript: function(aUrl, aContentType = "") {
+  isJavaScript: function (aUrl, aContentType = "") {
     return (aUrl && /\.jsm?$/.test(this.trimUrlQuery(aUrl))) ||
            aContentType.includes("javascript");
   },
 
   /**
    * Determines if the source text is minified by using
    * the percentage indented of a subset of lines
    *
    * @return object
    *         A promise that resolves to true if source text is minified.
    */
-  isMinified: function(key, text) {
+  isMinified: function (key, text) {
     if (this._minifiedCache.has(key)) {
       return this._minifiedCache.get(key);
     }
 
     let isMinified;
     let lineEndIndex = 0;
     let lineStartIndex = 0;
     let lines = 0;
@@ -84,17 +84,17 @@ var SourceUtils = {
     let overCharLimit = false;
 
     // Strip comments.
     text = text.replace(/\/\*[\S\s]*?\*\/|\/\/(.+|\n)/g, "");
 
     while (lines++ < SAMPLE_SIZE) {
       lineEndIndex = text.indexOf("\n", lineStartIndex);
       if (lineEndIndex == -1) {
-         break;
+        break;
       }
       if (/^\s+/.test(text.slice(lineStartIndex, lineEndIndex))) {
         indentCount++;
       }
       // For files with no indents but are not minified.
       if ((lineEndIndex - lineStartIndex) > CHARACTER_LIMIT) {
         overCharLimit = true;
         break;
@@ -109,31 +109,31 @@ var SourceUtils = {
     return isMinified;
   },
 
   /**
    * Clears the labels, groups and minify cache, populated by methods like
    * SourceUtils.getSourceLabel or Source Utils.getSourceGroup.
    * This should be done every time the content location changes.
    */
-  clearCache: function() {
+  clearCache: function () {
     this._labelsCache.clear();
     this._groupsCache.clear();
     this._minifiedCache.clear();
   },
 
   /**
    * Gets a unique, simplified label from a source url.
    *
    * @param string aUrl
    *        The source url.
    * @return string
    *         The simplified label.
    */
-  getSourceLabel: function(aUrl) {
+  getSourceLabel: function (aUrl) {
     let cachedLabel = this._labelsCache.get(aUrl);
     if (cachedLabel) {
       return cachedLabel;
     }
 
     let sourceLabel = null;
 
     for (let name of Object.keys(KNOWN_SOURCE_GROUPS)) {
@@ -155,17 +155,17 @@ var SourceUtils = {
    * Gets as much information as possible about the hostname and directory paths
    * of an url to create a short url group identifier.
    *
    * @param string aUrl
    *        The source url.
    * @return string
    *         The simplified group.
    */
-  getSourceGroup: function(aUrl) {
+  getSourceGroup: function (aUrl) {
     let cachedGroup = this._groupsCache.get(aUrl);
     if (cachedGroup) {
       return cachedGroup;
     }
 
     try {
       // Use an nsIURL to parse all the url path parts.
       var uri = Services.io.newURI(aUrl, null, null).QueryInterface(Ci.nsIURL);
@@ -178,34 +178,34 @@ var SourceUtils = {
 
     for (let name of Object.keys(KNOWN_SOURCE_GROUPS)) {
       if (aUrl.startsWith(KNOWN_SOURCE_GROUPS[name])) {
         groupLabel = name;
       }
     }
 
     let unicodeLabel = NetworkHelper.convertToUnicode(unescape(groupLabel));
-    this._groupsCache.set(aUrl, unicodeLabel)
+    this._groupsCache.set(aUrl, unicodeLabel);
     return unicodeLabel;
   },
 
   /**
    * Trims the url by shortening it if it exceeds a certain length, adding an
    * ellipsis at the end.
    *
    * @param string aUrl
    *        The source url.
    * @param number aLength [optional]
    *        The expected source url length.
    * @param number aSection [optional]
    *        The section to trim. Supported values: "start", "center", "end"
    * @return string
    *         The shortened url.
    */
-  trimUrlLength: function(aUrl, aLength, aSection) {
+  trimUrlLength: function (aUrl, aLength, aSection) {
     aLength = aLength || SOURCE_URL_DEFAULT_MAX_LENGTH;
     aSection = aSection || "end";
 
     if (aUrl.length > aLength) {
       switch (aSection) {
         case "start":
           return L10N.ellipsis + aUrl.slice(-aLength);
           break;
@@ -223,21 +223,21 @@ var SourceUtils = {
   /**
    * Trims the query part or reference identifier of a url string, if necessary.
    *
    * @param string aUrl
    *        The source url.
    * @return string
    *         The shortened url.
    */
-  trimUrlQuery: function(aUrl) {
+  trimUrlQuery: function (aUrl) {
     let length = aUrl.length;
-    let q1 = aUrl.indexOf('?');
-    let q2 = aUrl.indexOf('&');
-    let q3 = aUrl.indexOf('#');
+    let q1 = aUrl.indexOf("?");
+    let q2 = aUrl.indexOf("&");
+    let q3 = aUrl.indexOf("#");
     let q = Math.min(q1 != -1 ? q1 : length,
                      q2 != -1 ? q2 : length,
                      q3 != -1 ? q3 : length);
 
     return aUrl.slice(0, q);
   },
 
   /**
@@ -248,17 +248,17 @@ var SourceUtils = {
    *        The source url.
    * @param string aLabel [optional]
    *        The resulting label at each step.
    * @param number aSeq [optional]
    *        The current iteration step.
    * @return string
    *         The resulting label at the final step.
    */
-  trimUrl: function(aUrl, aLabel, aSeq) {
+  trimUrl: function (aUrl, aLabel, aSeq) {
     if (!(aUrl instanceof Ci.nsIURL)) {
       try {
         // Use an nsIURL to parse all the url path parts.
         aUrl = Services.io.newURI(aUrl, null, null).QueryInterface(Ci.nsIURL);
       } catch (e) {
         // This doesn't look like a url, or nsIURL can't handle it.
         return aUrl;
       }
@@ -314,41 +314,41 @@ var SourceUtils = {
       aSeq++;
     }
     // Prepend the hostname and port number.
     if (aSeq == 4) {
       let host;
       try {
         // Bug 1261860: jar: URLs throw when accessing `hostPost`
         host = aUrl.hostPort;
-      } catch(e) {}
+      } catch (e) {}
       if (host) {
         return this.trimUrl(aUrl, host + "/" + aLabel, aSeq + 1);
       }
       aSeq++;
     }
     // Use the whole url spec but ignoring the reference.
     if (aSeq == 5) {
       return this.trimUrl(aUrl, aUrl.specIgnoringRef, aSeq + 1);
     }
     // Give up.
     return aUrl.spec;
   },
 
-  parseSource: function(aDebuggerView, aParser) {
+  parseSource: function (aDebuggerView, aParser) {
     let editor = aDebuggerView.editor;
 
     let contents = editor.getText();
     let location = aDebuggerView.Sources.selectedValue;
     let parsedSource = aParser.get(contents, location);
 
     return parsedSource;
   },
 
-  findIdentifier: function(aEditor, parsedSource, x, y) {
+  findIdentifier: function (aEditor, parsedSource, x, y) {
     let editor = aEditor;
 
     // Calculate the editor's line and column at the current x and y coords.
     let hoveredPos = editor.getPositionFromCoords({ left: x, top: y });
     let hoveredOffset = editor.getOffset(hoveredPos);
     let hoveredLine = hoveredPos.line;
     let hoveredColumn = hoveredPos.ch;
 
--- a/devtools/client/debugger/views/filter-view.js
+++ b/devtools/client/debugger/views/filter-view.js
@@ -29,17 +29,17 @@ function FilterView(DebuggerController, 
   this._onKeyPress = this._onKeyPress.bind(this);
   this._onBlur = this._onBlur.bind(this);
 }
 
 FilterView.prototype = {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the FilterView");
 
     this._searchbox = document.getElementById("searchbox");
     this._searchboxHelpPanel = document.getElementById("searchbox-help-panel");
     this._filterLabel = document.getElementById("filter-label");
     this._globalOperatorButton = document.getElementById("global-operator-button");
     this._globalOperatorLabel = document.getElementById("global-operator-label");
     this._functionOperatorButton = document.getElementById("function-operator-button");
@@ -90,34 +90,34 @@ FilterView.prototype = {
     this.FilteredFunctions.initialize();
 
     this._addCommands();
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the FilterView");
 
     this._searchbox.removeEventListener("click", this._onClick, false);
     this._searchbox.removeEventListener("select", this._onInput, false);
     this._searchbox.removeEventListener("input", this._onInput, false);
     this._searchbox.removeEventListener("keypress", this._onKeyPress, false);
     this._searchbox.removeEventListener("blur", this._onBlur, false);
 
     this.FilteredSources.destroy();
     this.FilteredFunctions.destroy();
   },
 
   /**
    * Add commands that XUL can fire.
    */
-  _addCommands: function() {
-    XULUtils.addCommands(document.getElementById('debuggerCommands'), {
+  _addCommands: function () {
+    XULUtils.addCommands(document.getElementById("debuggerCommands"), {
       fileSearchCommand: () => this._doFileSearch(),
       globalSearchCommand: () => this._doGlobalSearch(),
       functionSearchCommand: () => this._doFunctionSearch(),
       tokenSearchCommand: () => this._doTokenSearch(),
       lineSearchCommand: () => this._doLineSearch(),
       variableSearchCommand: () => this._doVariableSearch(),
       variablesFocusCommand: () => this._doVariablesFocus()
     });
@@ -186,78 +186,78 @@ FilterView.prototype = {
    */
   get searchArguments() {
     return this.searchData[1];
   },
 
   /**
    * Clears the text from the searchbox and any changed views.
    */
-  clearSearch: function() {
+  clearSearch: function () {
     this._searchbox.value = "";
     this.clearViews();
 
     this.FilteredSources.clearView();
     this.FilteredFunctions.clearView();
   },
 
   /**
    * Clears all the views that may pop up when searching.
    */
-  clearViews: function() {
+  clearViews: function () {
     this.DebuggerView.GlobalSearch.clearView();
     this.FilteredSources.clearView();
     this.FilteredFunctions.clearView();
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Performs a line search if necessary.
    * (Jump to lines in the currently visible source).
    *
    * @param number aLine
    *        The source line number to jump to.
    */
-  _performLineSearch: function(aLine) {
+  _performLineSearch: function (aLine) {
     // Make sure we're actually searching for a valid line.
     if (aLine) {
       this.DebuggerView.editor.setCursor({ line: aLine - 1, ch: 0 }, "center");
     }
   },
 
   /**
    * Performs a token search if necessary.
    * (Search for tokens in the currently visible source).
    *
    * @param string aToken
    *        The source token to find.
    */
-  _performTokenSearch: function(aToken) {
+  _performTokenSearch: function (aToken) {
     // Make sure we're actually searching for a valid token.
     if (!aToken) {
       return;
     }
     this.DebuggerView.editor.find(aToken);
   },
 
   /**
    * The click listener for the search container.
    */
-  _onClick: function() {
+  _onClick: function () {
     // If there's some text in the searchbox, displaying a panel would
     // interfere with double/triple click default behaviors.
     if (!this._searchbox.value) {
       this._searchboxHelpPanel.openPopup(this._searchbox);
     }
   },
 
   /**
    * The input listener for the search container.
    */
-  _onInput: function() {
+  _onInput: function () {
     this.clearViews();
 
     // Make sure we're actually searching for something.
     if (!this._searchbox.value) {
       return;
     }
 
     // Perform the required search based on the specified operator.
@@ -289,17 +289,17 @@ FilterView.prototype = {
         this.FilteredSources.scheduleSearch(this.searchArguments[0]);
         break;
     }
   },
 
   /**
    * The key press listener for the search container.
    */
-  _onKeyPress: function(e) {
+  _onKeyPress: function (e) {
     // This attribute is not implemented in Gecko at this time, see bug 680830.
     e.char = String.fromCharCode(e.charCode);
 
     // Perform the required action based on the specified operator.
     let [operator, args] = this.searchData;
     let isGlobalSearch = operator == SEARCH_GLOBAL_FLAG;
     let isFunctionSearch = operator == SEARCH_FUNCTION_FLAG;
     let isVariableSearch = operator == SEARCH_VARIABLE_FLAG;
@@ -418,27 +418,27 @@ FilterView.prototype = {
       this._doSearch(SEARCH_LINE_FLAG, lineTarget);
       return;
     }
   },
 
   /**
    * The blur listener for the search container.
    */
-  _onBlur: function() {
+  _onBlur: function () {
     this.clearViews();
   },
 
   /**
    * Called when a filtering key sequence was pressed.
    *
    * @param string aOperator
    *        The operator to use for filtering.
    */
-  _doSearch: function(aOperator = "", aText = "") {
+  _doSearch: function (aOperator = "", aText = "") {
     this._searchbox.focus();
     this._searchbox.value = ""; // Need to clear value beforehand. Bug 779738.
 
     if (aText) {
       this._searchbox.value = aOperator + aText;
       return;
     }
     if (this.DebuggerView.editor.somethingSelected()) {
@@ -447,80 +447,80 @@ FilterView.prototype = {
     }
 
     let content = this.DebuggerView.editor.getText();
     if (content.length < this.DebuggerView.LARGE_FILE_SIZE &&
         SEARCH_AUTOFILL.indexOf(aOperator) != -1) {
       let cursor = this.DebuggerView.editor.getCursor();
       let location = this.DebuggerView.Sources.selectedItem.attachment.source.url;
       let source = this.Parser.get(content, location);
-      let identifier = source.getIdentifierAt({ line: cursor.line+1, column: cursor.ch });
+      let identifier = source.getIdentifierAt({ line: cursor.line + 1, column: cursor.ch });
 
       if (identifier && identifier.name) {
         this._searchbox.value = aOperator + identifier.name;
         this._searchbox.select();
         this._searchbox.selectionStart += aOperator.length;
         return;
       }
     }
     this._searchbox.value = aOperator;
   },
 
   /**
    * Called when the source location filter key sequence was pressed.
    */
-  _doFileSearch: function() {
+  _doFileSearch: function () {
     this._doSearch();
     this._searchboxHelpPanel.openPopup(this._searchbox);
   },
 
   /**
    * Called when the global search filter key sequence was pressed.
    */
-  _doGlobalSearch: function() {
+  _doGlobalSearch: function () {
     this._doSearch(SEARCH_GLOBAL_FLAG);
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Called when the source function filter key sequence was pressed.
    */
-  _doFunctionSearch: function() {
+  _doFunctionSearch: function () {
     this._doSearch(SEARCH_FUNCTION_FLAG);
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Called when the source token filter key sequence was pressed.
    */
-  _doTokenSearch: function() {
+  _doTokenSearch: function () {
     this._doSearch(SEARCH_TOKEN_FLAG);
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Called when the source line filter key sequence was pressed.
    */
-  _doLineSearch: function() {
+  _doLineSearch: function () {
     this._doSearch(SEARCH_LINE_FLAG);
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Called when the variable search filter key sequence was pressed.
    */
-  _doVariableSearch: function() {
+  _doVariableSearch: function () {
     this._doSearch(SEARCH_VARIABLE_FLAG);
     this._searchboxHelpPanel.hidePopup();
   },
 
   /**
    * Called when the variables focus key sequence was pressed.
    */
-  _doVariablesFocus: function() {
+  _doVariablesFocus: function () {
     this.DebuggerView.showInstrumentsPane();
     this.DebuggerView.Variables.focusFirstVisibleItem();
   },
 
   _searchbox: null,
   _searchboxHelpPanel: null,
   _globalOperatorButton: null,
   _globalOperatorLabel: null,
@@ -551,59 +551,59 @@ function FilteredSourcesView(DebuggerVie
   this._onClick = this._onClick.bind(this);
   this._onSelect = this._onSelect.bind(this);
 }
 
 FilteredSourcesView.prototype = Heritage.extend(ResultsPanelContainer.prototype, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the FilteredSourcesView");
 
     this.anchor = document.getElementById("searchbox");
     this.widget.addEventListener("select", this._onSelect, false);
     this.widget.addEventListener("click", this._onClick, false);
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the FilteredSourcesView");
 
     this.widget.removeEventListener("select", this._onSelect, false);
     this.widget.removeEventListener("click", this._onClick, false);
     this.anchor = null;
   },
 
   /**
    * Schedules searching for a source.
    *
    * @param string aToken
    *        The function to search for.
    * @param number aWait
    *        The amount of milliseconds to wait until draining.
    */
-  scheduleSearch: function(aToken, aWait) {
+  scheduleSearch: function (aToken, aWait) {
     // The amount of time to wait for the requests to settle.
     let maxDelay = FILE_SEARCH_ACTION_MAX_DELAY;
     let delay = aWait === undefined ? maxDelay / aToken.length : aWait;
 
     // Allow requests to settle down first.
     setNamedTimeout("sources-search", delay, () => this._doSearch(aToken));
   },
 
   /**
    * Finds file matches in all the displayed sources.
    *
    * @param string aToken
    *        The string to search for.
    */
-  _doSearch: function(aToken, aStore = []) {
+  _doSearch: function (aToken, aStore = []) {
     // Don't continue filtering if the searched token is an empty string.
     // In contrast with function searching, in this case we don't want to
     // show a list of all the files when no search token was supplied.
     if (!aToken) {
       return;
     }
 
     for (let item of this.DebuggerView.Sources.items) {
@@ -627,17 +627,17 @@ FilteredSourcesView.prototype = Heritage
   },
 
   /**
    * Updates the list of sources displayed in this container.
    *
    * @param array aSearchResults
    *        The results array, containing search details for each source.
    */
-  _syncView: function(aSearchResults) {
+  _syncView: function (aSearchResults) {
     // If there are no matches found, keep the popup hidden and avoid
     // creating the view.
     if (!aSearchResults.length) {
       window.emit(EVENTS.FILE_SEARCH_MATCH_NOT_FOUND);
       return;
     }
 
     for (let item of aSearchResults) {
@@ -670,31 +670,31 @@ FilteredSourcesView.prototype = Heritage
 
     // Signal that file search matches were found and displayed.
     window.emit(EVENTS.FILE_SEARCH_MATCH_FOUND);
   },
 
   /**
    * The click listener for this container.
    */
-  _onClick: function(e) {
+  _onClick: function (e) {
     let locationItem = this.getItemForElement(e.target);
     if (locationItem) {
       this.selectedItem = locationItem;
       this.DebuggerView.Filtering.clearSearch();
     }
   },
 
   /**
    * The select listener for this container.
    *
    * @param object aItem
    *        The item associated with the element to select.
    */
-  _onSelect: function({ detail: locationItem }) {
+  _onSelect: function ({ detail: locationItem }) {
     if (locationItem) {
       let source = queries.getSourceByURL(DebuggerController.getState(),
                                           locationItem.attachment.url);
       this.DebuggerView.setEditorLocation(source.actor, undefined, {
         noCaret: true,
         noDebug: true
       });
     }
@@ -714,44 +714,44 @@ function FilteredFunctionsView(SourceScr
   this._onClick = this._onClick.bind(this);
   this._onSelect = this._onSelect.bind(this);
 }
 
 FilteredFunctionsView.prototype = Heritage.extend(ResultsPanelContainer.prototype, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the FilteredFunctionsView");
 
     this.anchor = document.getElementById("searchbox");
     this.widget.addEventListener("select", this._onSelect, false);
     this.widget.addEventListener("click", this._onClick, false);
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the FilteredFunctionsView");
 
     this.widget.removeEventListener("select", this._onSelect, false);
     this.widget.removeEventListener("click", this._onClick, false);
     this.anchor = null;
   },
 
   /**
    * Schedules searching for a function in all of the sources.
    *
    * @param string aToken
    *        The function to search for.
    * @param number aWait
    *        The amount of milliseconds to wait until draining.
    */
-  scheduleSearch: function(aToken, aWait) {
+  scheduleSearch: function (aToken, aWait) {
     // The amount of time to wait for the requests to settle.
     let maxDelay = FUNCTION_SEARCH_ACTION_MAX_DELAY;
     let delay = aWait === undefined ? maxDelay / aToken.length : aWait;
 
     // Allow requests to settle down first.
     setNamedTimeout("function-search", delay, () => {
       // Start fetching as many sources as possible, then perform the search.
       let actors = this.DebuggerView.Sources.values;
@@ -764,17 +764,17 @@ FilteredFunctionsView.prototype = Herita
    * Finds function matches in all the sources stored in the cache, and groups
    * them by location and line number.
    *
    * @param string aToken
    *        The string to search for.
    * @param array aSources
    *        An array of [url, text] tuples for each source.
    */
-  _doSearch: function(aToken, aSources, aStore = []) {
+  _doSearch: function (aToken, aSources, aStore = []) {
     // Continue parsing even if the searched token is an empty string, to
     // cache the syntax tree nodes generated by the reflection API.
 
     // Make sure the currently displayed source is parsed first. Once the
     // maximum allowed number of results are found, parsing will be halted.
     let currentActor = this.DebuggerView.Sources.selectedValue;
     let currentSource = aSources.filter(([actor]) => actor == currentActor)[0];
     aSources.splice(aSources.indexOf(currentSource), 1);
@@ -824,17 +824,17 @@ FilteredFunctionsView.prototype = Herita
   },
 
   /**
    * Updates the list of functions displayed in this container.
    *
    * @param array aSearchResults
    *        The results array, containing search details for each source.
    */
-  _syncView: function(aSearchResults) {
+  _syncView: function (aSearchResults) {
     // If there are no matches found, keep the popup hidden and avoid
     // creating the view.
     if (!aSearchResults.length) {
       window.emit(EVENTS.FUNCTION_SEARCH_MATCH_NOT_FOUND);
       return;
     }
 
     for (let item of aSearchResults) {
@@ -886,28 +886,28 @@ FilteredFunctionsView.prototype = Herita
 
     // Signal that function search matches were found and displayed.
     window.emit(EVENTS.FUNCTION_SEARCH_MATCH_FOUND);
   },
 
   /**
    * The click listener for this container.
    */
-  _onClick: function(e) {
+  _onClick: function (e) {
     let functionItem = this.getItemForElement(e.target);
     if (functionItem) {
       this.selectedItem = functionItem;
       this.DebuggerView.Filtering.clearSearch();
     }
   },
 
   /**
    * The select listener for this container.
    */
-  _onSelect: function({ detail: functionItem }) {
+  _onSelect: function ({ detail: functionItem }) {
     if (functionItem) {
       let sourceUrl = functionItem.attachment.sourceUrl;
       let actor = queries.getSourceByURL(DebuggerController.getState(), sourceUrl).actor;
       let scriptOffset = functionItem.attachment.scriptOffset;
       let actualLocation = functionItem.attachment.actualLocation;
 
       this.DebuggerView.setEditorLocation(actor, actualLocation.start.line, {
         charOffset: scriptOffset,
--- a/devtools/client/debugger/views/global-search-view.js
+++ b/devtools/client/debugger/views/global-search-view.js
@@ -22,29 +22,29 @@ function GlobalSearchView(DebuggerContro
   this._onLineClick = this._onLineClick.bind(this);
   this._onMatchClick = this._onMatchClick.bind(this);
 }
 
 GlobalSearchView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the GlobalSearchView");
 
     this.widget = new SimpleListWidget(document.getElementById("globalsearch"));
     this._splitter = document.querySelector("#globalsearch + .devtools-horizontal-splitter");
 
     this.emptyText = L10N.getStr("noMatchingStringsText");
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the GlobalSearchView");
   },
 
   /**
    * Sets the results container hidden or visible. It's hidden by default.
    * @param boolean aFlag
    */
   set hidden(aFlag) {
@@ -59,43 +59,43 @@ GlobalSearchView.prototype = Heritage.ex
   get hidden() {
     return this.widget.getAttribute("hidden") == "true" ||
            this._splitter.getAttribute("hidden") == "true";
   },
 
   /**
    * Hides and removes all items from this search container.
    */
-  clearView: function() {
+  clearView: function () {
     this.hidden = true;
     this.empty();
   },
 
   /**
    * Selects the next found item in this container.
    * Does not change the currently focused node.
    */
-  selectNext: function() {
+  selectNext: function () {
     let totalLineResults = LineResults.size();
     if (!totalLineResults) {
       return;
     }
     if (++this._currentlyFocusedMatch >= totalLineResults) {
       this._currentlyFocusedMatch = 0;
     }
     this._onMatchClick({
       target: LineResults.getElementAtIndex(this._currentlyFocusedMatch)
     });
   },
 
   /**
    * Selects the previously found item in this container.
    * Does not change the currently focused node.
    */
-  selectPrev: function() {
+  selectPrev: function () {
     let totalLineResults = LineResults.size();
     if (!totalLineResults) {
       return;
     }
     if (--this._currentlyFocusedMatch < 0) {
       this._currentlyFocusedMatch = totalLineResults - 1;
     }
     this._onMatchClick({
@@ -106,17 +106,17 @@ GlobalSearchView.prototype = Heritage.ex
   /**
    * Schedules searching for a string in all of the sources.
    *
    * @param string aToken
    *        The string to search for.
    * @param number aWait
    *        The amount of milliseconds to wait until draining.
    */
-  scheduleSearch: function(aToken, aWait) {
+  scheduleSearch: function (aToken, aWait) {
     // The amount of time to wait for the requests to settle.
     let maxDelay = GLOBAL_SEARCH_ACTION_MAX_DELAY;
     let delay = aWait === undefined ? maxDelay / aToken.length : aWait;
 
     // Allow requests to settle down first.
     setNamedTimeout("global-search", delay, () => {
       // Start fetching as many sources as possible, then perform the search.
       let actors = this.DebuggerView.Sources.values;
@@ -129,17 +129,17 @@ GlobalSearchView.prototype = Heritage.ex
    * Finds string matches in all the sources stored in the controller's cache,
    * and groups them by url and line number.
    *
    * @param string aToken
    *        The string to search for.
    * @param array aSources
    *        An array of [url, text] tuples for each source.
    */
-  _doSearch: function(aToken, aSources) {
+  _doSearch: function (aToken, aSources) {
     // Don't continue filtering if the searched token is an empty string.
     if (!aToken) {
       this.clearView();
       return;
     }
 
     // Search is not case sensitive, prepare the actual searched token.
     let lowerCaseToken = aToken.toLowerCase();
@@ -220,17 +220,17 @@ GlobalSearchView.prototype = Heritage.ex
   },
 
   /**
    * Creates global search results entries and adds them to this container.
    *
    * @param GlobalResults aGlobalResults
    *        An object containing all source results, grouped by source location.
    */
-  _createGlobalResultsUI: function(aGlobalResults) {
+  _createGlobalResultsUI: function (aGlobalResults) {
     let i = 0;
 
     for (let sourceResults of aGlobalResults) {
       if (i++ == 0) {
         this._createSourceResultsUI(sourceResults);
       } else {
         // Dispatch subsequent document manipulation operations, to avoid
         // blocking the main thread when a large number of search results
@@ -243,17 +243,17 @@ GlobalSearchView.prototype = Heritage.ex
   },
 
   /**
    * Creates source search results entries and adds them to this container.
    *
    * @param SourceResults aSourceResults
    *        An object containing all the matched lines for a specific source.
    */
-  _createSourceResultsUI: function(aSourceResults) {
+  _createSourceResultsUI: function (aSourceResults) {
     // Create the element node for the source results item.
     let container = document.createElement("hbox");
     aSourceResults.createView(container, {
       onHeaderClick: this._onHeaderClick,
       onLineClick: this._onLineClick,
       onMatchClick: this._onMatchClick
     });
 
@@ -264,33 +264,33 @@ GlobalSearchView.prototype = Heritage.ex
         sourceResults: aSourceResults
       }
     });
   },
 
   /**
    * The click listener for a results header.
    */
-  _onHeaderClick: function(e) {
+  _onHeaderClick: function (e) {
     let sourceResultsItem = SourceResults.getItemForElement(e.target);
     sourceResultsItem.instance.toggle(e);
   },
 
   /**
    * The click listener for a results line.
    */
-  _onLineClick: function(e) {
+  _onLineClick: function (e) {
     let lineResultsItem = LineResults.getItemForElement(e.target);
     this._onMatchClick({ target: lineResultsItem.firstMatch });
   },
 
   /**
    * The click listener for a result match.
    */
-  _onMatchClick: function(e) {
+  _onMatchClick: function (e) {
     if (e instanceof Event) {
       e.preventDefault();
       e.stopPropagation();
     }
 
     let target = e.target;
     let sourceResultsItem = SourceResults.getItemForElement(target);
     let lineResultsItem = LineResults.getItemForElement(target);
@@ -316,27 +316,27 @@ GlobalSearchView.prototype = Heritage.ex
   },
 
   /**
    * Scrolls a match into view if not already visible.
    *
    * @param nsIDOMNode aMatch
    *        The match to scroll into view.
    */
-  _scrollMatchIntoViewIfNeeded: function(aMatch) {
+  _scrollMatchIntoViewIfNeeded: function (aMatch) {
     this.widget.ensureElementIsVisible(aMatch);
   },
 
   /**
    * Starts a bounce animation for a match.
    *
    * @param nsIDOMNode aMatch
    *        The match to start a bounce animation for.
    */
-  _bounceMatch: function(aMatch) {
+  _bounceMatch: function (aMatch) {
     Services.tm.currentThread.dispatch({ run: () => {
       aMatch.addEventListener("transitionend", function onEvent() {
         aMatch.removeEventListener("transitionend", onEvent);
         aMatch.removeAttribute("focused");
       });
       aMatch.setAttribute("focused", "");
     }}, 0);
     aMatch.setAttribute("focusing", "");
@@ -361,17 +361,17 @@ function GlobalResults() {
 
 GlobalResults.prototype = {
   /**
    * Adds source results to this store.
    *
    * @param SourceResults aSourceResults
    *        An object containing search results for a specific source.
    */
-  add: function(aSourceResults) {
+  add: function (aSourceResults) {
     this._store.push(aSourceResults);
   },
 
   /**
    * Gets the number of source results in this store.
    */
   get matchCount() {
     return this._store.length;
@@ -397,47 +397,47 @@ function SourceResults(aActor, aGlobalRe
 
 SourceResults.prototype = {
   /**
    * Adds line results to this store.
    *
    * @param LineResults aLineResults
    *        An object containing search results for a specific line.
    */
-  add: function(aLineResults) {
+  add: function (aLineResults) {
     this._store.push(aLineResults);
   },
 
   /**
    * Gets the number of line results in this store.
    */
   get matchCount() {
     return this._store.length;
   },
 
   /**
    * Expands the element, showing all the added details.
    */
-  expand: function() {
+  expand: function () {
     this._resultsContainer.removeAttribute("hidden");
     this._arrow.setAttribute("open", "");
   },
 
   /**
    * Collapses the element, hiding all the added details.
    */
-  collapse: function() {
+  collapse: function () {
     this._resultsContainer.setAttribute("hidden", "true");
     this._arrow.removeAttribute("open");
   },
 
   /**
    * Toggles between the element collapse/expand state.
    */
-  toggle: function(e) {
+  toggle: function (e) {
     this.expanded ^= 1;
   },
 
   /**
    * Gets this element's expanded state.
    * @return boolean
    */
   get expanded() {
@@ -466,33 +466,33 @@ SourceResults.prototype = {
    *
    * @param nsIDOMNode aElementNode
    *        The element associated with the displayed item.
    * @param object aCallbacks
    *        An object containing all the necessary callback functions:
    *          - onHeaderClick
    *          - onMatchClick
    */
-  createView: function(aElementNode, aCallbacks) {
+  createView: function (aElementNode, aCallbacks) {
     this._target = aElementNode;
 
     let arrow = this._arrow = document.createElement("box");
     arrow.className = "arrow";
 
     let locationNode = document.createElement("label");
     locationNode.className = "plain dbg-results-header-location";
     locationNode.setAttribute("value", this.label);
 
     let matchCountNode = document.createElement("label");
     matchCountNode.className = "plain dbg-results-header-match-count";
     matchCountNode.setAttribute("value", "(" + this.matchCount + ")");
 
     let resultsHeader = this._resultsHeader = document.createElement("hbox");
     resultsHeader.className = "dbg-results-header";
-    resultsHeader.setAttribute("align", "center")
+    resultsHeader.setAttribute("align", "center");
     resultsHeader.appendChild(arrow);
     resultsHeader.appendChild(locationNode);
     resultsHeader.appendChild(matchCountNode);
     resultsHeader.addEventListener("click", aCallbacks.onHeaderClick, false);
 
     let resultsContainer = this._resultsContainer = document.createElement("vbox");
     resultsContainer.className = "dbg-results-container";
     resultsContainer.setAttribute("hidden", "true");
@@ -550,17 +550,17 @@ LineResults.prototype = {
    *
    * @param string aString
    *        The text contents chunk in the line.
    * @param object aRange
    *        An object containing the { start, length } of the chunk.
    * @param boolean aMatchFlag
    *        True if the chunk is a matched string, false if just text content.
    */
-  add: function(aString, aRange, aMatchFlag) {
+  add: function (aString, aRange, aMatchFlag) {
     this._store.push({ string: aString, range: aRange, match: !!aMatchFlag });
     this._matchCount += aMatchFlag ? 1 : 0;
   },
 
   /**
    * Gets the number of word results in this store.
    */
   get matchCount() {
@@ -580,17 +580,17 @@ LineResults.prototype = {
    *
    * @param nsIDOMNode aElementNode
    *        The element associated with the displayed item.
    * @param object aCallbacks
    *        An object containing all the necessary callback functions:
    *          - onMatchClick
    *          - onLineClick
    */
-  createView: function(aElementNode, aCallbacks) {
+  createView: function (aElementNode, aCallbacks) {
     this._target = aElementNode;
 
     let lineNumberNode = document.createElement("label");
     lineNumberNode.className = "plain dbg-results-line-number";
     lineNumberNode.classList.add("devtools-monospace");
     lineNumberNode.setAttribute("value", this.line + 1);
 
     let lineContentsNode = document.createElement("hbox");
@@ -635,40 +635,40 @@ LineResults.prototype = {
     aElementNode.appendChild(searchResult);
   },
 
   /**
    * Handles a match while creating the view.
    * @param nsIDOMNode aNode
    * @param object aMatchChunk
    */
-  _entangleMatch: function(aNode, aMatchChunk) {
+  _entangleMatch: function (aNode, aMatchChunk) {
     LineResults._itemsByElement.set(aNode, {
       instance: this,
       lineData: aMatchChunk
     });
   },
 
   /**
    * Handles a line while creating the view.
    * @param nsIDOMNode aNode
    * @param nsIDOMNode aFirstMatch
    */
-  _entangleLine: function(aNode, aFirstMatch) {
+  _entangleLine: function (aNode, aFirstMatch) {
     LineResults._itemsByElement.set(aNode, {
       instance: this,
       firstMatch: aFirstMatch,
       ignored: true
     });
   },
 
   /**
    * An nsIDOMNode label with an ellipsis value.
    */
-  _ellipsis: (function() {
+  _ellipsis: (function () {
     let label = document.createElement("label");
     label.className = "plain dbg-results-line-contents-string";
     label.setAttribute("value", L10N.ellipsis);
     return label;
   })(),
 
   line: 0,
   _sourceResults: null,
@@ -676,43 +676,43 @@ LineResults.prototype = {
   _target: null
 };
 
 /**
  * A generator-iterator over the global, source or line results.
  */
 GlobalResults.prototype[Symbol.iterator] =
 SourceResults.prototype[Symbol.iterator] =
-LineResults.prototype[Symbol.iterator] = function*() {
+LineResults.prototype[Symbol.iterator] = function* () {
   yield* this._store;
 };
 
 /**
  * Gets the item associated with the specified element.
  *
  * @param nsIDOMNode aElement
  *        The element used to identify the item.
  * @return object
  *         The matched item, or null if nothing is found.
  */
 SourceResults.getItemForElement =
-LineResults.getItemForElement = function(aElement) {
+LineResults.getItemForElement = function (aElement) {
   return WidgetMethods.getItemForElement.call(this, aElement, { noSiblings: true });
 };
 
 /**
  * Gets the element associated with a particular item at a specified index.
  *
  * @param number aIndex
  *        The index used to identify the item.
  * @return nsIDOMNode
  *         The matched element, or null if nothing is found.
  */
 SourceResults.getElementAtIndex =
-LineResults.getElementAtIndex = function(aIndex) {
+LineResults.getElementAtIndex = function (aIndex) {
   for (let [element, item] of this._itemsByElement) {
     if (!item.ignored && !aIndex--) {
       return element;
     }
   }
   return null;
 };
 
@@ -720,17 +720,17 @@ LineResults.getElementAtIndex = function
  * Gets the index of an item associated with the specified element.
  *
  * @param nsIDOMNode aElement
  *        The element to get the index for.
  * @return number
  *         The index of the matched element, or -1 if nothing is found.
  */
 SourceResults.indexOfElement =
-LineResults.indexOfElement = function(aElement) {
+LineResults.indexOfElement = function (aElement) {
   let count = 0;
   for (let [element, item] of this._itemsByElement) {
     if (element == aElement) {
       return count;
     }
     if (!item.ignored) {
       count++;
     }
@@ -740,17 +740,17 @@ LineResults.indexOfElement = function(aE
 
 /**
  * Gets the number of cached items associated with a specified element.
  *
  * @return number
  *         The number of key/value pairs in the corresponding map.
  */
 SourceResults.size =
-LineResults.size = function() {
+LineResults.size = function () {
   let count = 0;
   for (let [, item] of this._itemsByElement) {
     if (!item.ignored) {
       count++;
     }
   }
   return count;
 };
--- a/devtools/client/debugger/views/options-view.js
+++ b/devtools/client/debugger/views/options-view.js
@@ -31,17 +31,17 @@ function OptionsView(DebuggerController,
   this._toggleShowOriginalSource = this._toggleShowOriginalSource.bind(this);
   this._toggleAutoBlackBox = this._toggleAutoBlackBox.bind(this);
 }
 
 OptionsView.prototype = {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the OptionsView");
 
     this._button = document.getElementById("debugger-options");
     this._autoPrettyPrint = document.getElementById("auto-pretty-print");
     this._pauseOnExceptionsItem = document.getElementById("pause-on-exceptions");
     this._ignoreCaughtExceptionsItem = document.getElementById("ignore-caught-exceptions");
     this._showPanesOnStartupItem = document.getElementById("show-panes-on-startup");
     this._showVariablesOnlyEnumItem = document.getElementById("show-vars-only-enum");
@@ -59,120 +59,120 @@ OptionsView.prototype = {
     this._autoBlackBoxItem.setAttribute("checked", Prefs.autoBlackBox);
 
     this._addCommands();
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the OptionsView");
     // Nothing to do here yet.
   },
 
   /**
    * Add commands that XUL can fire.
    */
-  _addCommands: function() {
-    XULUtils.addCommands(document.getElementById('debuggerCommands'), {
+  _addCommands: function () {
+    XULUtils.addCommands(document.getElementById("debuggerCommands"), {
       toggleAutoPrettyPrint: () => this._toggleAutoPrettyPrint(),
       togglePauseOnExceptions: () => this._togglePauseOnExceptions(),
       toggleIgnoreCaughtExceptions: () => this._toggleIgnoreCaughtExceptions(),
       toggleShowPanesOnStartup: () => this._toggleShowPanesOnStartup(),
       toggleShowOnlyEnum: () => this._toggleShowVariablesOnlyEnum(),
       toggleShowVariablesFilterBox: () => this._toggleShowVariablesFilterBox(),
       toggleShowOriginalSource: () => this._toggleShowOriginalSource(),
-      toggleAutoBlackBox: () =>  this._toggleAutoBlackBox()
+      toggleAutoBlackBox: () => this._toggleAutoBlackBox()
     });
   },
 
   /**
    * Listener handling the 'gear menu' popup showing event.
    */
-  _onPopupShowing: function() {
+  _onPopupShowing: function () {
     this._button.setAttribute("open", "true");
     window.emit(EVENTS.OPTIONS_POPUP_SHOWING);
   },
 
   /**
    * Listener handling the 'gear menu' popup hiding event.
    */
-  _onPopupHiding: function() {
+  _onPopupHiding: function () {
     this._button.removeAttribute("open");
   },
 
   /**
    * Listener handling the 'gear menu' popup hidden event.
    */
-  _onPopupHidden: function() {
+  _onPopupHidden: function () {
     window.emit(EVENTS.OPTIONS_POPUP_HIDDEN);
   },
 
   /**
    * Listener handling the 'auto pretty print' menuitem command.
    */
-  _toggleAutoPrettyPrint: function(){
+  _toggleAutoPrettyPrint: function () {
     Prefs.autoPrettyPrint =
       this._autoPrettyPrint.getAttribute("checked") == "true";
   },
 
   /**
    * Listener handling the 'pause on exceptions' menuitem command.
    */
-  _togglePauseOnExceptions: function() {
+  _togglePauseOnExceptions: function () {
     Prefs.pauseOnExceptions =
       this._pauseOnExceptionsItem.getAttribute("checked") == "true";
 
     this.DebuggerController.activeThread.pauseOnExceptions(
       Prefs.pauseOnExceptions,
       Prefs.ignoreCaughtExceptions);
   },
 
-  _toggleIgnoreCaughtExceptions: function() {
+  _toggleIgnoreCaughtExceptions: function () {
     Prefs.ignoreCaughtExceptions =
       this._ignoreCaughtExceptionsItem.getAttribute("checked") == "true";
 
     this.DebuggerController.activeThread.pauseOnExceptions(
       Prefs.pauseOnExceptions,
       Prefs.ignoreCaughtExceptions);
   },
 
   /**
    * Listener handling the 'show panes on startup' menuitem command.
    */
-  _toggleShowPanesOnStartup: function() {
+  _toggleShowPanesOnStartup: function () {
     Prefs.panesVisibleOnStartup =
       this._showPanesOnStartupItem.getAttribute("checked") == "true";
   },
 
   /**
    * Listener handling the 'show non-enumerables' menuitem command.
    */
-  _toggleShowVariablesOnlyEnum: function() {
+  _toggleShowVariablesOnlyEnum: function () {
     let pref = Prefs.variablesOnlyEnumVisible =
       this._showVariablesOnlyEnumItem.getAttribute("checked") == "true";
 
     this.DebuggerView.Variables.onlyEnumVisible = pref;
   },
 
   /**
    * Listener handling the 'show variables searchbox' menuitem command.
    */
-  _toggleShowVariablesFilterBox: function() {
+  _toggleShowVariablesFilterBox: function () {
     let pref = Prefs.variablesSearchboxVisible =
       this._showVariablesFilterBoxItem.getAttribute("checked") == "true";
 
     this.DebuggerView.Variables.searchEnabled = pref;
   },
 
   /**
    * Listener handling the 'show original source' menuitem command.
    */
-  _toggleShowOriginalSource: function() {
+  _toggleShowOriginalSource: function () {
     let pref = Prefs.sourceMapsEnabled =
       this._showOriginalSourceItem.getAttribute("checked") == "true";
 
     // Don't block the UI while reconfiguring the server.
     window.once(EVENTS.OPTIONS_POPUP_HIDDEN, () => {
       // The popup panel needs more time to hide after triggering onpopuphidden.
       window.setTimeout(() => {
         this.DebuggerController.reconfigureThread({
@@ -182,17 +182,17 @@ OptionsView.prototype = {
       }, POPUP_HIDDEN_DELAY);
     });
   },
 
   /**
    * Listener handling the 'automatically black box minified sources' menuitem
    * command.
    */
-  _toggleAutoBlackBox: function() {
+  _toggleAutoBlackBox: function () {
     let pref = Prefs.autoBlackBox =
       this._autoBlackBoxItem.getAttribute("checked") == "true";
 
     // Don't block the UI while reconfiguring the server.
     window.once(EVENTS.OPTIONS_POPUP_HIDDEN, () => {
       // The popup panel needs more time to hide after triggering onpopuphidden.
       window.setTimeout(() => {
         this.DebuggerController.reconfigureThread({
--- a/devtools/client/debugger/views/stack-frames-classic-view.js
+++ b/devtools/client/debugger/views/stack-frames-classic-view.js
@@ -19,34 +19,34 @@ function StackFramesClassicListView(Debu
   this.DebuggerView = DebuggerView;
   this._onSelect = this._onSelect.bind(this);
 }
 
 StackFramesClassicListView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the StackFramesClassicListView");
 
     this.widget = new SideMenuWidget(document.getElementById("callstack-list"));
     this.widget.addEventListener("select", this._onSelect, false);
 
     this.emptyText = L10N.getStr("noStackFramesText");
     this.autoFocusOnFirstItem = false;
     this.autoFocusOnSelection = false;
 
     // This view's contents are also mirrored in a different container.
     this._mirror = this.DebuggerView.StackFrames;
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the StackFramesClassicListView");
 
     this.widget.removeEventListener("select", this._onSelect, false);
   },
 
   /**
    * Adds a frame in this stackframes container.
    *
@@ -54,17 +54,17 @@ StackFramesClassicListView.prototype = H
    *        The frame title (function name).
    * @param string aUrl
    *        The frame source url.
    * @param string aLine
    *        The frame line number.
    * @param number aDepth
    *        The frame depth in the stack.
    */
-  addFrame: function(aTitle, aUrl, aLine, aDepth) {
+  addFrame: function (aTitle, aUrl, aLine, aDepth) {
     // Create the element node for the stack frame item.
     let frameView = this._createFrameView.apply(this, arguments);
 
     // Append a stack frame item to this container.
     this.push([frameView], {
       attachment: {
         depth: aDepth
       }
@@ -80,17 +80,17 @@ StackFramesClassicListView.prototype = H
    *        The frame source url.
    * @param string aLine
    *        The frame line number.
    * @param number aDepth
    *        The frame depth in the stack.
    * @return nsIDOMNode
    *         The stack frame view.
    */
-  _createFrameView: function(aTitle, aUrl, aLine, aDepth) {
+  _createFrameView: function (aTitle, aUrl, aLine, aDepth) {
     let container = document.createElement("hbox");
     container.id = "classic-stackframe-" + aDepth;
     container.className = "dbg-classic-stackframe";
     container.setAttribute("flex", "1");
 
     let frameTitleNode = document.createElement("label");
     frameTitleNode.className = "plain dbg-classic-stackframe-title";
     frameTitleNode.setAttribute("value", aTitle);
@@ -119,17 +119,17 @@ StackFramesClassicListView.prototype = H
     container.appendChild(frameDetailsNode);
 
     return container;
   },
 
   /**
    * The select listener for the stackframes container.
    */
-  _onSelect: function(e) {
+  _onSelect: function (e) {
     let stackframeItem = this.selectedItem;
     if (stackframeItem) {
       // The container is not empty and an actual item was selected.
       // Mirror the selected item in the breadcrumbs list.
       let depth = stackframeItem.attachment.depth;
       this._mirror.selectedItem = e => e.attachment.depth == depth;
     }
   },
--- a/devtools/client/debugger/views/stack-frames-view.js
+++ b/devtools/client/debugger/views/stack-frames-view.js
@@ -24,17 +24,17 @@ function StackFramesView(DebuggerControl
   this._afterScroll = this._afterScroll.bind(this);
   this._getStackAsString = this._getStackAsString.bind(this);
 }
 
 StackFramesView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the StackFramesView");
 
     this._popupset = document.getElementById("debuggerPopupset");
 
     this.widget = new BreadcrumbsWidget(document.getElementById("stackframes"));
     this.widget.addEventListener("select", this._onSelect, false);
     this.widget.addEventListener("scroll", this._onScroll, true);
     this.widget.setAttribute("context", "stackFramesContextMenu");
@@ -45,17 +45,17 @@ StackFramesView.prototype = Heritage.ext
 
     // This view's contents are also mirrored in a different container.
     this._mirror = this.DebuggerView.StackFramesClassicList;
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the StackFramesView");
 
     this.widget.removeEventListener("select", this._onSelect, false);
     this.widget.removeEventListener("scroll", this._onScroll, true);
     window.removeEventListener("resize", this._onScroll, true);
   },
 
   /**
@@ -67,22 +67,22 @@ StackFramesView.prototype = Heritage.ext
    *        The frame source url.
    * @param string aLine
    *        The frame line number.
    * @param number aDepth
    *        The frame depth in the stack.
    * @param boolean aIsBlackBoxed
    *        Whether or not the frame is black boxed.
    */
-  addFrame: function(aFrame, aLine, aColumn, aDepth, aIsBlackBoxed) {
+  addFrame: function (aFrame, aLine, aColumn, aDepth, aIsBlackBoxed) {
     let { source } = aFrame;
 
     // The source may not exist in the source listing yet because it's
     // an unnamed eval source, which we hide, so we need to add it
-    if(!DebuggerView.Sources.getItemByValue(source.actor)) {
+    if (!DebuggerView.Sources.getItemByValue(source.actor)) {
       DebuggerView.Sources.addSource(source, { force: true });
     }
 
     let location = DebuggerView.Sources.getDisplayURL(source);
     let title = StackFrameUtils.getFrameTitle(aFrame);
 
     // Blackboxed stack frames are collapsed into a single entry in
     // the view. By convention, only the first frame is displayed.
@@ -114,24 +114,24 @@ StackFramesView.prototype = Heritage.ext
       // mirrored item in the classic list is also removed.
       finalize: this._onStackframeRemoved
     });
 
     // Mirror this newly inserted item inside the "Call Stack" tab.
     this._mirror.addFrame(title, location, aLine, aDepth);
   },
 
-  _getStackAsString: function() {
+  _getStackAsString: function () {
     return [...this].map(frameItem => {
       const { attachment: { title, url, line, column }} = frameItem;
       return title + "@" + url + ":" + line + ":" + column;
-    }).join("\n")
+    }).join("\n");
   },
 
-  addCopyContextMenu: function() {
+  addCopyContextMenu: function () {
     let menupopup = document.createElement("menupopup");
     let menuitem = document.createElement("menuitem");
 
     menupopup.id = "stackFramesContextMenu";
     menuitem.id = "copyStackMenuItem";
 
     menuitem.setAttribute("label", "Copy");
     menuitem.addEventListener("command", () => {
@@ -177,17 +177,17 @@ StackFramesView.prototype = Heritage.ext
    *        The frame line number.
    * @param number aDepth
    *        The frame depth in the stack.
    * @param boolean aIsBlackBoxed
    *        Whether or not the frame is black boxed.
    * @return nsIDOMNode
    *         The stack frame view.
    */
-  _createFrameView: function(aTitle, aUrl, aLine, aDepth, aIsBlackBoxed) {
+  _createFrameView: function (aTitle, aUrl, aLine, aDepth, aIsBlackBoxed) {
     let container = document.createElement("hbox");
     container.id = "stackframe-" + aDepth;
     container.className = "dbg-stackframe";
 
     let frameDetails = SourceUtils.trimUrlLength(
       SourceUtils.getSourceLabel(aUrl),
       STACK_FRAMES_SOURCE_URL_MAX_LENGTH,
       STACK_FRAMES_SOURCE_URL_TRIM_SECTION);
@@ -212,31 +212,31 @@ StackFramesView.prototype = Heritage.ext
   },
 
   /**
    * Function called each time a stack frame item is removed.
    *
    * @param object aItem
    *        The corresponding item.
    */
-  _onStackframeRemoved: function(aItem) {
+  _onStackframeRemoved: function (aItem) {
     dumpn("Finalizing stackframe item: " + aItem.stringify());
 
     // Remove the mirrored item in the classic list.
     let depth = aItem.attachment.depth;
     this._mirror.remove(this._mirror.getItemForAttachment(e => e.depth == depth));
 
     // Forget the previously blackboxed stack frame url.
     this._prevBlackBoxedUrl = null;
   },
 
   /**
    * The select listener for the stackframes container.
    */
-  _onSelect: function(e) {
+  _onSelect: function (e) {
     let stackframeItem = this.selectedItem;
     if (stackframeItem) {
       // The container is not empty and an actual item was selected.
       let depth = stackframeItem.attachment.depth;
 
       // Mirror the selected item in the classic list.
       this.suppressSelectionEvents = true;
       this._mirror.selectedItem = e => e.attachment.depth == depth;
@@ -244,29 +244,29 @@ StackFramesView.prototype = Heritage.ext
 
       DebuggerController.StackFrames.selectFrame(depth);
     }
   },
 
   /**
    * The scroll listener for the stackframes container.
    */
-  _onScroll: function() {
+  _onScroll: function () {
     // Update the stackframes container only if we have to.
     if (!this.dirty) {
       return;
     }
     // Allow requests to settle down first.
     setNamedTimeout("stack-scroll", STACK_FRAMES_SCROLL_DELAY, this._afterScroll);
   },
 
   /**
    * Requests the addition of more frames from the controller.
    */
-  _afterScroll: function() {
+  _afterScroll: function () {
     let scrollPosition = this.widget.getAttribute("scrollPosition");
     let scrollWidth = this.widget.getAttribute("scrollWidth");
 
     // If the stackframes container scrolled almost to the end, with only
     // 1/10 of a breadcrumb remaining, load more content.
     if (scrollPosition - scrollWidth / 10 < 1) {
       this.ensureIndexIsVisible(CALL_STACK_PAGE_SIZE - 1);
       this.dirty = false;
--- a/devtools/client/debugger/views/toolbar-view.js
+++ b/devtools/client/debugger/views/toolbar-view.js
@@ -35,17 +35,17 @@ ToolbarView.prototype = {
 
   get resumptionWarnFunc() {
     return this.DebuggerController._ensureResumptionOrder;
   },
 
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the ToolbarView");
 
     this._instrumentsPaneToggleButton = document.getElementById("instruments-pane-toggle");
     this._resumeButton = document.getElementById("resume");
     this._stepOverButton = document.getElementById("step-over");
     this._stepInButton = document.getElementById("step-in");
     this._stepOutButton = document.getElementById("step-out");
     this._resumeOrderTooltip = new Tooltip(document);
@@ -74,61 +74,61 @@ ToolbarView.prototype = {
     this._toggleButtonsState({ enabled: false });
 
     this._addCommands();
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the ToolbarView");
 
     this._instrumentsPaneToggleButton.removeEventListener("mousedown", this._onTogglePanesPressed, false);
     this._resumeButton.removeEventListener("mousedown", this._onResumePressed, false);
     this._stepOverButton.removeEventListener("mousedown", this._onStepOverPressed, false);
     this._stepInButton.removeEventListener("mousedown", this._onStepInPressed, false);
     this._stepOutButton.removeEventListener("mousedown", this._onStepOutPressed, false);
   },
 
   /**
    * Add commands that XUL can fire.
    */
-  _addCommands: function() {
-    XULUtils.addCommands(document.getElementById('debuggerCommands'), {
+  _addCommands: function () {
+    XULUtils.addCommands(document.getElementById("debuggerCommands"), {
       resumeCommand: () => this._onResumePressed(),
       stepOverCommand: () => this._onStepOverPressed(),
       stepInCommand: () => this._onStepInPressed(),
       stepOutCommand: () => this._onStepOutPressed()
     });
   },
 
   /**
    * Display a warning when trying to resume a debuggee while another is paused.
    * Debuggees must be unpaused in a Last-In-First-Out order.
    *
    * @param string aPausedUrl
    *        The URL of the last paused debuggee.
    */
-  showResumeWarning: function(aPausedUrl) {
+  showResumeWarning: function (aPausedUrl) {
     let label = L10N.getFormatStr("resumptionOrderPanelTitle", aPausedUrl);
     let defaultStyle = "default-tooltip-simple-text-colors";
     this._resumeOrderTooltip.setTextContent({ messages: [label], isAlertTooltip: true });
     this._resumeOrderTooltip.show(this._resumeButton);
   },
 
   /**
    * Sets the resume button state based on the debugger active thread.
    *
    * @param string aState
    *        Either "paused", "attached", or "breakOnNext".
    * @param boolean hasLocation
    *        True if we are paused at a specific JS location
    */
-  toggleResumeButtonState: function(aState, hasLocation) {
+  toggleResumeButtonState: function (aState, hasLocation) {
     // Intermidiate state after pressing the pause button and waiting
     // for the next script execution to happen.
     if (aState == "breakOnNext") {
       this._resumeButton.setAttribute("break-on-next", "true");
       this._resumeButton.disabled = true;
       this._resumeButton.setAttribute("tooltiptext", this._pausePendingTooltip);
       return;
     }
@@ -152,42 +152,42 @@ ToolbarView.prototype = {
     // If we're attached, do the opposite.
     else if (aState == "attached") {
       this._resumeButton.removeAttribute("checked");
       this._resumeButton.setAttribute("tooltiptext", this._pauseTooltip);
       this._toggleButtonsState({ enabled: false });
     }
   },
 
-  _toggleButtonsState: function({ enabled }) {
+  _toggleButtonsState: function ({ enabled }) {
     const buttons = [
       this._stepOutButton,
       this._stepInButton,
       this._stepOverButton
     ];
     for (let button of buttons) {
       button.disabled = !enabled;
     }
   },
 
   /**
    * Listener handling the toggle button click event.
    */
-  _onTogglePanesPressed: function() {
+  _onTogglePanesPressed: function () {
     DebuggerView.toggleInstrumentsPane({
       visible: DebuggerView.instrumentsPaneHidden,
       animated: true,
       delayed: true
     });
   },
 
   /**
    * Listener handling the pause/resume button click event.
    */
-  _onResumePressed: function() {
+  _onResumePressed: function () {
     if (this.StackFrames._currentFrameDescription != FRAME_TYPE.NORMAL ||
         this._resumeButton.disabled) {
       return;
     }
 
     if (this.activeThread.paused) {
       this.StackFrames.currentFrameDepth = -1;
       this.activeThread.resume(this.resumptionWarnFunc);
@@ -196,42 +196,42 @@ ToolbarView.prototype = {
       this.toggleResumeButtonState("breakOnNext");
       this.activeThread.breakOnNext();
     }
   },
 
   /**
    * Listener handling the step over button click event.
    */
-  _onStepOverPressed: function() {
+  _onStepOverPressed: function () {
     if (this.activeThread.paused && !this._stepOverButton.disabled) {
       this.StackFrames.currentFrameDepth = -1;
       this.activeThread.stepOver(this.resumptionWarnFunc);
     }
   },
 
   /**
    * Listener handling the step in button click event.
    */
-  _onStepInPressed: function() {
+  _onStepInPressed: function () {
     if (this.StackFrames._currentFrameDescription != FRAME_TYPE.NORMAL ||
        this._stepInButton.disabled) {
       return;
     }
 
     if (this.activeThread.paused) {
       this.StackFrames.currentFrameDepth = -1;
       this.activeThread.stepIn(this.resumptionWarnFunc);
     }
   },
 
   /**
    * Listener handling the step out button click event.
    */
-  _onStepOutPressed: function() {
+  _onStepOutPressed: function () {
     if (this.activeThread.paused && !this._stepOutButton.disabled) {
       this.StackFrames.currentFrameDepth = -1;
       this.activeThread.stepOut(this.resumptionWarnFunc);
     }
   },
 
   _instrumentsPaneToggleButton: null,
   _resumeButton: null,
--- a/devtools/client/debugger/views/variable-bubble-view.js
+++ b/devtools/client/debugger/views/variable-bubble-view.js
@@ -34,17 +34,17 @@ VariableBubbleView.prototype = {
   /**
    * Tooltip position for the variables bubble tooltip.
    */
   TOOLTIP_POSITION: "topcenter bottomleft",
 
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the VariableBubbleView");
 
     this._toolbox = DebuggerController._toolbox;
     this._editorContainer = document.getElementById("editor");
     this._editorContainer.addEventListener("mousemove", this._onMouseMove, false);
     this._editorContainer.addEventListener("mouseout", this._onMouseOut, false);
 
     this._tooltip = new Tooltip(document, {
@@ -62,17 +62,17 @@ VariableBubbleView.prototype = {
     });
     this._tooltip.defaultPosition = this.TOOLTIP_POSITION;
     this._tooltip.panel.addEventListener("popuphiding", this._onPopupHiding);
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the VariableBubbleView");
 
     this._tooltip.panel.removeEventListener("popuphiding", this._onPopupHiding);
     this._editorContainer.removeEventListener("mousemove", this._onMouseMove, false);
     this._editorContainer.removeEventListener("mouseout", this._onMouseOut, false);
   },
 
   /**
@@ -83,17 +83,17 @@ VariableBubbleView.prototype = {
 
   /**
    * Searches for an identifier underneath the specified position in the
    * source editor, and if found, opens a VariablesView inspection popup.
    *
    * @param number x, y
    *        The left/top coordinates where to look for an identifier.
    */
-  _findIdentifier: function(x, y) {
+  _findIdentifier: function (x, y) {
     let editor = this.DebuggerView.editor;
 
     // Calculate the editor's line and column at the current x and y coords.
     let hoveredPos = editor.getPositionFromCoords({ left: x, top: y });
     let hoveredOffset = editor.getOffset(hoveredPos);
     let hoveredLine = hoveredPos.line;
     let hoveredColumn = hoveredPos.ch;
 
@@ -166,17 +166,17 @@ VariableBubbleView.prototype = {
    *
    * @param string object
    *        An object containing the following properties:
    *          - coords: the inspected identifier coordinates in the editor,
    *                    containing the { line, column, length } properties.
    *          - evalPrefix: a prefix for the variables view evaluation macros.
    *          - objectActor: the value grip for the object actor.
    */
-  showContents: function({ coords, evalPrefix, objectActor }) {
+  showContents: function ({ coords, evalPrefix, objectActor }) {
     let editor = this.DebuggerView.editor;
     let { line, column, length } = coords;
 
     // Highlight the function found at the mouse position.
     this._markedText = editor.markText(
       { line: line - 1, ch: column },
       { line: line - 1, ch: column + length });
 
@@ -185,17 +185,17 @@ VariableBubbleView.prototype = {
     if (VariablesView.isPrimitive({ value: objectActor })) {
       let className = VariablesView.getClass(objectActor);
       let textContent = VariablesView.getString(objectActor);
       this._tooltip.setTextContent({
         messages: [textContent],
         messagesClass: className,
         containerClass: "plain"
       }, [{
-        label: L10N.getStr('addWatchExpressionButton'),
+        label: L10N.getStr("addWatchExpressionButton"),
         className: "dbg-expression-button",
         command: () => {
           this.DebuggerView.VariableBubble.hideContents();
           this.DebuggerView.WatchExpressions.addExpression(evalPrefix, true);
         }
       }]);
     } else {
       this._tooltip.setVariableContent(objectActor, {
@@ -229,54 +229,54 @@ VariableBubbleView.prototype = {
     }
 
     this._tooltip.show(this._markedText.anchor);
   },
 
   /**
    * Hides the inspection popup.
    */
-  hideContents: function() {
+  hideContents: function () {
     clearNamedTimeout("editor-mouse-move");
     this._tooltip.hide();
   },
 
   /**
    * Checks whether the inspection popup is shown.
    *
    * @return boolean
    *         True if the panel is shown or showing, false otherwise.
    */
-  contentsShown: function() {
+  contentsShown: function () {
     return this._tooltip.isShown();
   },
 
   /**
    * Functions for getting customized variables view evaluation macros.
    *
    * @param string aPrefix
    *        See the corresponding VariablesView.* functions.
    */
-  _getSimpleValueEvalMacro: function(aPrefix) {
+  _getSimpleValueEvalMacro: function (aPrefix) {
     return (item, string) =>
       VariablesView.simpleValueEvalMacro(item, string, aPrefix);
   },
-  _getGetterOrSetterEvalMacro: function(aPrefix) {
+  _getGetterOrSetterEvalMacro: function (aPrefix) {
     return (item, string) =>
       VariablesView.getterOrSetterEvalMacro(item, string, aPrefix);
   },
-  _getOverrideValueEvalMacro: function(aPrefix) {
+  _getOverrideValueEvalMacro: function (aPrefix) {
     return (item, string) =>
       VariablesView.overrideValueEvalMacro(item, string, aPrefix);
   },
 
   /**
    * The mousemove listener for the source editor.
    */
-  _onMouseMove: function(e) {
+  _onMouseMove: function (e) {
     // Prevent the variable inspection popup from showing when the thread client
     // is not paused, or while a popup is already visible, or when the user tries
     // to select text in the editor.
     let isResumed = gThreadClient && gThreadClient.state != "paused";
     let isSelecting = this.DebuggerView.editor.somethingSelected() && e.buttons > 0;
     let isPopupVisible = !this._tooltip.isHidden();
     if (isResumed || isSelecting || isPopupVisible) {
       clearNamedTimeout("editor-mouse-move");
@@ -286,24 +286,24 @@ VariableBubbleView.prototype = {
     // a certain point in the editor long enough, try showing a variable bubble.
     setNamedTimeout("editor-mouse-move",
       this.TOOLTIP_SHOW_DELAY, () => this._findIdentifier(e.clientX, e.clientY));
   },
 
   /**
    * The mouseout listener for the source editor container node.
    */
-  _onMouseOut: function() {
+  _onMouseOut: function () {
     clearNamedTimeout("editor-mouse-move");
   },
 
   /**
    * Listener handling the popup hiding event.
    */
-  _onPopupHiding: function({ target }) {
+  _onPopupHiding: function ({ target }) {
     if (this._tooltip.panel != target) {
       return;
     }
     if (this._markedText) {
       this._markedText.clear();
       this._markedText = null;
     }
     if (!this._tooltip.isEmpty()) {
--- a/devtools/client/debugger/views/watch-expressions-view.js
+++ b/devtools/client/debugger/views/watch-expressions-view.js
@@ -26,56 +26,56 @@ function WatchExpressionsView(DebuggerCo
   this._onBlur = this._onBlur.bind(this);
   this._onKeyPress = this._onKeyPress.bind(this);
 }
 
 WatchExpressionsView.prototype = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the debugger is started.
    */
-  initialize: function() {
+  initialize: function () {
     dumpn("Initializing the WatchExpressionsView");
 
     this.widget = new SimpleListWidget(document.getElementById("expressions"));
     this.widget.setAttribute("context", "debuggerWatchExpressionsContextMenu");
     this.widget.addEventListener("click", this._onClick, false);
 
     this.headerText = L10N.getStr("addWatchExpressionText");
     this._addCommands();
   },
 
   /**
    * Destruction function, called when the debugger is closed.
    */
-  destroy: function() {
+  destroy: function () {
     dumpn("Destroying the WatchExpressionsView");
 
     this.widget.removeEventListener("click", this._onClick, false);
   },
 
   /**
    * Add commands that XUL can fire.
    */
-  _addCommands: function() {
-    XULUtils.addCommands(document.getElementById('debuggerCommands'), {
+  _addCommands: function () {
+    XULUtils.addCommands(document.getElementById("debuggerCommands"), {
       addWatchExpressionCommand: () => this._onCmdAddExpression(),
       removeAllWatchExpressionsCommand: () => this._onCmdRemoveAllExpressions()
     });
   },
 
   /**
    * Adds a watch expression in this container.
    *
    * @param string aExpression [optional]
    *        An optional initial watch expression text.
    * @param boolean aSkipUserInput [optional]
    *        Pass true to avoid waiting for additional user input
    *        on the watch expression.
    */
-  addExpression: function(aExpression = "", aSkipUserInput = false) {
+  addExpression: function (aExpression = "", aSkipUserInput = false) {
     // Watch expressions are UI elements which benefit from visible panes.
     this.DebuggerView.showInstrumentsPane();
 
     // Create the element node for the watch expression item.
     let itemView = this._createItemView(aExpression);
 
     // Append a watch expression item to this container.
     let expressionItem = this.push([itemView.container], {
@@ -106,17 +106,17 @@ WatchExpressionsView.prototype = Heritag
    * This function is called whenever a watch expression's code is edited in
    * the variables view container.
    *
    * @param Variable aVar
    *        The variable representing the watch expression evaluation.
    * @param string aExpression
    *        The new watch expression text.
    */
-  switchExpression: function(aVar, aExpression) {
+  switchExpression: function (aVar, aExpression) {
     let expressionItem =
       [...this].filter(i => i.attachment.currentExpression == aVar.name)[0];
 
     // Remove the watch expression if it's going to be empty or a duplicate.
     if (!aExpression || this.getAllStrings().indexOf(aExpression) != -1) {
       this.deleteExpression(aVar);
       return;
     }
@@ -132,17 +132,17 @@ WatchExpressionsView.prototype = Heritag
   /**
    * Removes the watch expression corresponding to the specified variable item.
    * This function is called whenever a watch expression's value is edited in
    * the variables view container.
    *
    * @param Variable aVar
    *        The variable representing the watch expression evaluation.
    */
-  deleteExpression: function(aVar) {
+  deleteExpression: function (aVar) {
     let expressionItem =
       [...this].filter(i => i.attachment.currentExpression == aVar.name)[0];
 
     // Remove the watch expression.
     this.remove(expressionItem);
 
     // Synchronize with the controller's watch expressions store.
     this.StackFrames.syncWatchExpressions();
@@ -151,37 +151,37 @@ WatchExpressionsView.prototype = Heritag
   /**
    * Gets the watch expression code string for an item in this container.
    *
    * @param number aIndex
    *        The index used to identify the watch expression.
    * @return string
    *         The watch expression code string.
    */
-  getString: function(aIndex) {
+  getString: function (aIndex) {
     return this.getItemAtIndex(aIndex).attachment.currentExpression;
   },
 
   /**
    * Gets the watch expressions code strings for all items in this container.
    *
    * @return array
    *         The watch expressions code strings.
    */
-  getAllStrings: function() {
+  getAllStrings: function () {
     return this.items.map(e => e.attachment.currentExpression);
   },
 
   /**
    * Customization function for creating an item's UI.
    *
    * @param string aExpression
    *        The watch expression string.
    */
-  _createItemView: function(aExpression) {
+  _createItemView: function (aExpression) {
     let container = document.createElement("hbox");
     container.className = "list-widget-item dbg-expression";
     container.setAttribute("align", "center");
 
     let arrowNode = document.createElement("hbox");
     arrowNode.className = "dbg-expression-arrow";
 
     let inputNode = document.createElement("textbox");
@@ -206,68 +206,68 @@ WatchExpressionsView.prototype = Heritag
       inputNode: inputNode,
       closeNode: closeNode
     };
   },
 
   /**
    * Called when the add watch expression key sequence was pressed.
    */
-  _onCmdAddExpression: function(aText) {
+  _onCmdAddExpression: function (aText) {
     // Only add a new expression if there's no pending input.
     if (this.getAllStrings().indexOf("") == -1) {
       this.addExpression(aText || this.DebuggerView.editor.getSelection());
     }
   },
 
   /**
    * Called when the remove all watch expressions key sequence was pressed.
    */
-  _onCmdRemoveAllExpressions: function() {
+  _onCmdRemoveAllExpressions: function () {
     // Empty the view of all the watch expressions and clear the cache.
     this.empty();
 
     // Synchronize with the controller's watch expressions store.
     this.StackFrames.syncWatchExpressions();
   },
 
   /**
    * The click listener for this container.
    */
-  _onClick: function(e) {
+  _onClick: function (e) {
     if (e.button != 0) {
       // Only allow left-click to trigger this event.
       return;
     }
     let expressionItem = this.getItemForElement(e.target);
     if (!expressionItem) {
       // The container is empty or we didn't click on an actual item.
       this.addExpression();
     }
   },
 
   /**
    * The click listener for a watch expression's close button.
    */
-  _onClose: function(e) {
+  _onClose: function (e) {
     // Remove the watch expression.
     this.remove(this.getItemForElement(e.target));
 
     // Synchronize with the controller's watch expressions store.
     this.StackFrames.syncWatchExpressions();
 
     // Prevent clicking the expression element itself.
     e.preventDefault();
     e.stopPropagation();
   },
 
   /**
    * The blur listener for a watch expression's textbox.
    */
-  _onBlur: function({ target: textbox }) {
+  _onBlur: function ({ target: textbox }) {
     let expressionItem = this.getItemForElement(textbox);
     let oldExpression = expressionItem.attachment.currentExpression;
     let newExpression = textbox.value.trim();
 
     // Remove the watch expression if it's empty.
     if (!newExpression) {
       this.remove(expressionItem);
     }
@@ -282,17 +282,17 @@ WatchExpressionsView.prototype = Heritag
 
     // Synchronize with the controller's watch expressions store.
     this.StackFrames.syncWatchExpressions();
   },
 
   /**
    * The keypress listener for a watch expression's textbox.
    */
-  _onKeyPress: function(e) {
+  _onKeyPress: function (e) {
     switch (e.keyCode) {
       case e.DOM_VK_RETURN:
       case e.DOM_VK_ESCAPE:
         e.stopPropagation();
         this.DebuggerView.editor.focus();
     }
   }
 });
--- a/devtools/client/eyedropper/commands.js
+++ b/devtools/client/eyedropper/commands.js
@@ -16,35 +16,35 @@ exports.items = [{
   runAt: "client",
   name: "eyedropper",
   description: l10n.lookup("eyedropperDesc"),
   manual: l10n.lookup("eyedropperManual"),
   buttonId: "command-button-eyedropper",
   buttonClass: "command-button command-button-invertable",
   tooltipText: l10n.lookup("eyedropperTooltip"),
   state: {
-    isChecked: function(target) {
+    isChecked: function (target) {
       if (!target.tab) {
         return false;
       }
       let chromeWindow = target.tab.ownerDocument.defaultView;
       let dropper = EyedropperManager.getInstance(chromeWindow);
       if (dropper) {
         return true;
       }
       return false;
     },
-    onChange: function(target, changeHandler) {
+    onChange: function (target, changeHandler) {
       eventEmitter.on("changed", changeHandler);
     },
-    offChange: function(target, changeHandler) {
+    offChange: function (target, changeHandler) {
       eventEmitter.off("changed", changeHandler);
     },
   },
-  exec: function(args, context) {
+  exec: function (args, context) {
     let chromeWindow = context.environment.chromeWindow;
     let target = context.environment.target;
 
     let dropper = EyedropperManager.createInstance(chromeWindow,
                                                    { context: "command",
                                                      copyOnSelect: true });
     dropper.open();
 
--- a/devtools/client/eyedropper/eyedropper.js
+++ b/devtools/client/eyedropper/eyedropper.js
@@ -5,36 +5,36 @@
 const {Cc, Ci, Cu} = require("chrome");
 const {rgbToHsl, rgbToColorName} =
       require("devtools/client/shared/css-color").colorUtils;
 const Telemetry = require("devtools/client/shared/telemetry");
 const {EventEmitter} = Cu.import("resource://devtools/shared/event-emitter.js");
 const promise = require("promise");
 const Services = require("Services");
 
-loader.lazyGetter(this, "clipboardHelper", function() {
+loader.lazyGetter(this, "clipboardHelper", function () {
   return Cc["@mozilla.org/widget/clipboardhelper;1"]
     .getService(Ci.nsIClipboardHelper);
 });
 
-loader.lazyGetter(this, "ssService", function() {
+loader.lazyGetter(this, "ssService", function () {
   return Cc["@mozilla.org/content/style-sheet-service;1"]
     .getService(Ci.nsIStyleSheetService);
 });
 
-loader.lazyGetter(this, "ioService", function() {
+loader.lazyGetter(this, "ioService", function () {
   return Cc["@mozilla.org/network/io-service;1"]
     .getService(Ci.nsIIOService);
 });
 
 loader.lazyGetter(this, "DOMUtils", function () {
   return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
 });
 
-loader.lazyGetter(this, "XULRuntime", function() {
+loader.lazyGetter(this, "XULRuntime", function () {
   return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
 });
 
 loader.lazyGetter(this, "l10n", () => Services.strings
   .createBundle("chrome://devtools/locale/eyedropper.properties"));
 
 const EYEDROPPER_URL = "chrome://devtools/content/eyedropper/eyedropper.xul";
 const CROSSHAIRS_URL = "chrome://devtools/content/eyedropper/crosshairs.css";
@@ -52,40 +52,40 @@ const HSL_BOX_WIDTH = 158;
 
 /**
  * Manage instances of eyedroppers for windows. Registering here isn't
  * necessary for creating an eyedropper, but can be used for testing.
  */
 var EyedropperManager = {
   _instances: new WeakMap(),
 
-  getInstance: function(chromeWindow) {
+  getInstance: function (chromeWindow) {
     return this._instances.get(chromeWindow);
   },
 
-  createInstance: function(chromeWindow, options) {
+  createInstance: function (chromeWindow, options) {
     let dropper = this.getInstance(chromeWindow);
     if (dropper) {
       return dropper;
     }
 
     dropper = new Eyedropper(chromeWindow, options);
     this._instances.set(chromeWindow, dropper);
 
     dropper.on("destroy", () => {
       this.deleteInstance(chromeWindow);
     });
 
     return dropper;
   },
 
-  deleteInstance: function(chromeWindow) {
+  deleteInstance: function (chromeWindow) {
     this._instances.delete(chromeWindow);
   }
-}
+};
 
 exports.EyedropperManager = EyedropperManager;
 
 /**
  * Eyedropper widget. Once opened, shows zoomed area above current pixel and
  * displays the color value of the center pixel. Clicking on the window will
  * close the widget and fire a 'select' event. If 'copyOnSelect' is true, the color
  * will also be copied to the clipboard.
@@ -192,17 +192,17 @@ Eyedropper.prototype = {
   },
 
   /**
    * Fetch a screenshot of the content.
    *
    * @return {promise}
    *         Promise that resolves with the screenshot as a dataURL
    */
-  getContentScreenshot: function() {
+  getContentScreenshot: function () {
     let deferred = promise.defer();
 
     let mm = this._contentTab.linkedBrowser.messageManager;
     function onScreenshot(message) {
       mm.removeMessageListener("Eyedropper:Screenshot", onScreenshot);
       deferred.resolve(message.data);
     }
     mm.addMessageListener("Eyedropper:Screenshot", onScreenshot);
@@ -210,17 +210,17 @@ Eyedropper.prototype = {
 
     return deferred.promise;
   },
 
   /**
    * Start the eyedropper. Add listeners for a mouse move in the window to
    * show the eyedropper.
    */
-  open: function() {
+  open: function () {
     if (this.isOpen) {
       // the eyedropper is aready open, don't create another panel.
       return promise.resolve();
     }
     let deferred = promise.defer();
 
     this.isOpen = true;
 
@@ -234,27 +234,27 @@ Eyedropper.prototype = {
       // Wait for screenshot to load
       this._contentImage.onload = () => {
         // Then start showing the eyedropper UI
         this._chromeDocument.addEventListener("mousemove", this._onFirstMouseMove);
         deferred.resolve();
 
         this.isStarted = true;
         this.emit("started");
-      }
+      };
     });
 
     return deferred.promise;
   },
 
   /**
    * Called on the first mouse move over the window. Opens the eyedropper
    * panel where the mouse is.
    */
-  _onFirstMouseMove: function(event) {
+  _onFirstMouseMove: function (event) {
     this._chromeDocument.removeEventListener("mousemove", this._onFirstMouseMove);
 
     this._panel = this._buildPanel();
 
     let popupSet = this._chromeDocument.querySelector("#mainPopupSet");
     popupSet.appendChild(this._panel);
 
     let { panelX, panelY } = this._getPanelCoordinates(event);
@@ -272,34 +272,34 @@ Eyedropper.prototype = {
   /**
    * Whether the coordinates are over the content or chrome.
    *
    * @param {number} clientX
    *        x-coordinate of mouse relative to browser window.
    * @param {number} clientY
    *        y-coordinate of mouse relative to browser window.
    */
-  _isInContent: function(clientX, clientY) {
+  _isInContent: function (clientX, clientY) {
     let box = this._contentTab.linkedBrowser.getBoundingClientRect();
     if (clientX > box.left &&
         clientX < box.right &&
         clientY > box.top &&
         clientY < box.bottom) {
       return true;
     }
     return false;
   },
 
   /**
    * Set the current coordinates to inspect from where a mousemove originated.
    *
    * @param {MouseEvent} event
    *        Event for the mouse move.
    */
-  _setCoordinates: function(event) {
+  _setCoordinates: function (event) {
     let inContent = this._isInContent(event.clientX, event.clientY);
     let win = this._chromeWindow;
 
     // offset of mouse from browser window
     let x = event.clientX;
     let y = event.clientY;
 
     if (inContent) {
@@ -322,17 +322,17 @@ Eyedropper.prototype = {
   },
 
   /**
    * Build and add a new eyedropper panel to the window.
    *
    * @return {Panel}
    *         The XUL panel holding the eyedropper UI.
    */
-  _buildPanel: function() {
+  _buildPanel: function () {
     let panel = this._chromeDocument.createElement("panel");
     panel.setAttribute("noautofocus", true);
     panel.setAttribute("noautohide", true);
     panel.setAttribute("level", "floating");
     panel.setAttribute("class", "devtools-eyedropper-panel");
 
     let iframe = this._iframe = this._chromeDocument.createElement("iframe");
     iframe.addEventListener("load", this._onFrameLoaded, true);
@@ -348,17 +348,17 @@ Eyedropper.prototype = {
 
     return panel;
   },
 
   /**
    * Event handler for the panel's iframe's load event. Emits
    * a "load" event from this eyedropper object.
    */
-  _onFrameLoaded: function() {
+  _onFrameLoaded: function () {
     this._iframe.removeEventListener("load", this._onFrameLoaded, true);
 
     this._iframeDocument = this._iframe.contentDocument;
     this._colorPreview = this._iframeDocument.querySelector("#color-preview");
     this._colorValue = this._iframeDocument.querySelector("#color-value");
 
     // value box will be too long for hex values and too short for hsl
     let valueBox = this._iframeDocument.querySelector("#color-value-box");
@@ -382,86 +382,86 @@ Eyedropper.prototype = {
 
     this.loaded = true;
     this.emit("load");
   },
 
   /**
    * Add key listeners to the panel.
    */
-  _addPanelListeners: function() {
+  _addPanelListeners: function () {
     this._iframeDocument.addEventListener("keydown", this._onKeyDown);
 
     let closeCmd = this._iframeDocument.getElementById("eyedropper-cmd-close");
     closeCmd.addEventListener("command", this.destroy.bind(this), true);
 
     let copyCmd = this._iframeDocument.getElementById("eyedropper-cmd-copy");
     copyCmd.addEventListener("command", this.selectColor.bind(this), true);
   },
 
   /**
    * Remove listeners from the panel.
    */
-  _removePanelListeners: function() {
+  _removePanelListeners: function () {
     this._iframeDocument.removeEventListener("keydown", this._onKeyDown);
   },
 
   /**
    * Add mouse event listeners to the document we're inspecting.
    */
-  _addListeners: function() {
+  _addListeners: function () {
     this._chromeDocument.addEventListener("mousemove", this._onMouseMove);
     this._chromeDocument.addEventListener("mousedown", this._onMouseDown);
   },
 
   /**
    * Remove mouse event listeners from the document we're inspecting.
    */
-  _removeListeners: function() {
+  _removeListeners: function () {
     this._chromeDocument.removeEventListener("mousemove", this._onFirstMouseMove);
     this._chromeDocument.removeEventListener("mousemove", this._onMouseMove);
     this._chromeDocument.removeEventListener("mousedown", this._onMouseDown);
   },
 
   /**
    * Hide the cursor.
    */
-  _hideCursor: function() {
+  _hideCursor: function () {
     registerStyleSheet(NOCURSOR_URL);
   },
 
   /**
    * Reset the cursor back to default.
    */
-  _resetCursor: function() {
+  _resetCursor: function () {
     unregisterStyleSheet(NOCURSOR_URL);
   },
 
   /**
    * Show a crosshairs as the mouse cursor
    */
-  _showCrosshairs: function() {
+  _showCrosshairs: function () {
     registerStyleSheet(CROSSHAIRS_URL);
   },
 
   /**
    * Reset cursor.
    */
-  _hideCrosshairs: function() {
+  _hideCrosshairs: function () {
     unregisterStyleSheet(CROSSHAIRS_URL);
   },
 
   /**
    * Event handler for a mouse move over the page we're inspecting.
    * Preview the area under the cursor, and move panel to be under the cursor.
    *
    * @param  {DOMEvent} event
    *         MouseEvent for the mouse moving
    */
-  _onMouseMove: function(event) {
+  _onMouseMove: function (event) {
     if (!this._dragging || !this._panel || !this._canvas) {
       return;
     }
 
     if (this._OS == "Linux" && ++this._mouseMoveCounter % 2 == 0) {
       // skip every other mousemove to preserve performance.
       return;
     }
@@ -478,17 +478,17 @@ Eyedropper.prototype = {
    * the current coordinates of the mouse cursor.
    *
    * @param {MouseEvent} event
    *        object with properties 'screenX' and 'screenY'
    *
    * @return {object}
   *          object with properties 'panelX', 'panelY'
    */
-  _getPanelCoordinates: function({screenX, screenY}) {
+  _getPanelCoordinates: function ({screenX, screenY}) {
     let win = this._chromeWindow;
     let offset = CANVAS_WIDTH / 2 + CANVAS_OFFSET;
 
     let panelX = screenX - offset;
     let windowX = win.screenX + (win.outerWidth - win.innerWidth);
     let maxX = win.screenX + win.outerWidth - offset - 1;
 
     let panelY = screenY - offset;
@@ -505,42 +505,42 @@ Eyedropper.prototype = {
   /**
    * Move the eyedropper panel to the given coordinates.
    *
    * @param  {number} screenX
    *         left coordinate on the screen
    * @param  {number} screenY
    *         top coordinate
    */
-  _movePanel: function(screenX, screenY) {
+  _movePanel: function (screenX, screenY) {
     this._panelX = screenX;
     this._panelY = screenY;
 
     this._panel.moveTo(screenX, screenY);
   },
 
   /**
    * Handler for the mouse down event on the inspected page. This means a
    * click, so we'll select the color that's currently hovered.
    *
    * @param  {Event} event
    *         DOM MouseEvent object
    */
-  _onMouseDown: function(event) {
+  _onMouseDown: function (event) {
     event.preventDefault();
     event.stopPropagation();
 
     this.selectColor();
   },
 
   /**
    * Select the current color that's being previewed. Fire a
    * "select" event with the color as an rgb string.
    */
-  selectColor: function() {
+  selectColor: function () {
     if (this._isSelecting) {
       return;
     }
     this._isSelecting = true;
     this._dragging = false;
 
     this.emit("select", this._colorValue.value);
 
@@ -553,17 +553,17 @@ Eyedropper.prototype = {
   },
 
   /**
    * Copy the currently inspected color to the clipboard.
    *
    * @param  {Function} callback
    *         Callback to be called when the color is in the clipboard.
    */
-  copyColor: function(callback) {
+  copyColor: function (callback) {
     clearTimeout(this._copyTimeout);
 
     let color = this._colorValue.value;
     clipboardHelper.copyString(color);
 
     this._colorValue.classList.add("highlight");
     this._colorValue.value = "✓ " + l10n.GetStringFromName("colorValue.copied");
 
@@ -579,17 +579,17 @@ Eyedropper.prototype = {
 
   /**
    * Handler for the keydown event on the panel. Either copy the color
    * or move the panel in a direction depending on the key pressed.
    *
    * @param  {Event} event
    *         DOM KeyboardEvent object
    */
-  _onKeyDown: function(event) {
+  _onKeyDown: function (event) {
     if (event.metaKey && event.keyCode === event.DOM_VK_C) {
       this.copyColor();
       return;
     }
 
     let offsetX = 0;
     let offsetY = 0;
     let modifier = 1;
@@ -623,17 +623,17 @@ Eyedropper.prototype = {
 
       event.preventDefault();
     }
   },
 
   /**
    * Draw the inspected area onto the canvas using the zoom level.
    */
-  _drawWindow: function() {
+  _drawWindow: function () {
     let { width, height, x, y, inContent,
           contentWidth, contentHeight } = this._zoomArea;
 
     let zoomedWidth = width / this.zoom;
     let zoomedHeight = height / this.zoom;
 
     let leftX = x - (zoomedWidth / 2);
     let topY = y - (zoomedHeight / 2);
@@ -699,17 +699,17 @@ Eyedropper.prototype = {
       this._drawGrid();
     }
     this._drawCrosshair();
   },
 
   /**
    * Draw a grid on the canvas representing pixel boundaries.
    */
-  _drawGrid: function() {
+  _drawGrid: function () {
     let { width, height } = this._zoomArea;
 
     this._ctx.lineWidth = 1;
     this._ctx.strokeStyle = "rgba(143, 143, 143, 0.2)";
 
     for (let i = 0; i < width; i += this.cellSize) {
       this._ctx.beginPath();
       this._ctx.moveTo(i - .5, 0);
@@ -721,32 +721,32 @@ Eyedropper.prototype = {
       this._ctx.lineTo(width, i - .5);
       this._ctx.stroke();
     }
   },
 
   /**
    * Draw a box on the canvas to highlight the center cell.
    */
-  _drawCrosshair: function() {
+  _drawCrosshair: function () {
     let x = y = this.centerCell * this.cellSize;
 
     this._ctx.lineWidth = 1;
-    this._ctx.lineJoin = 'miter';
+    this._ctx.lineJoin = "miter";
     this._ctx.strokeStyle = "rgba(0, 0, 0, 1)";
     this._ctx.strokeRect(x - 1.5, y - 1.5, this.cellSize + 2, this.cellSize + 2);
 
     this._ctx.strokeStyle = "rgba(255, 255, 255, 1)";
     this._ctx.strokeRect(x - 0.5, y - 0.5, this.cellSize, this.cellSize);
   },
 
   /**
    * Destroy the eyedropper and clean up. Emits a "destroy" event.
    */
-  destroy: function() {
+  destroy: function () {
     this._resetCursor();
     this._hideCrosshairs();
 
     if (this._panel) {
       this._panel.hidePopup();
       this._panel.remove();
       this._panel = null;
     }
@@ -754,17 +754,17 @@ Eyedropper.prototype = {
     this._removeListeners();
 
     this.isStarted = false;
     this.isOpen = false;
     this._isSelecting = false;
 
     this.emit("destroy");
   }
-}
+};
 
 /**
  * Add a user style sheet that applies to all documents.
  */
 function registerStyleSheet(url) {
   var uri = ioService.newURI(url, null, null);
   if (!ssService.sheetRegistered(uri, ssService.AGENT_SHEET)) {
     ssService.loadAndRegisterSheet(uri, ssService.AGENT_SHEET);
@@ -788,31 +788,31 @@ function unregisterStyleSheet(url) {
  *        Rgb values of a color to format
  * @param {string} format
  *        Format of string. One of "hex", "rgb", "hsl", "name"
  *
  * @return {string}
  *        Formatted color value, e.g. "#FFF" or "hsl(20, 10%, 10%)"
  */
 function toColorString(rgb, format) {
-  let [r,g,b] = rgb;
+  let [r, g, b] = rgb;
 
-  switch(format) {
+  switch (format) {
     case "hex":
       return hexString(rgb);
     case "rgb":
       return "rgb(" + r + ", " + g + ", " + b + ")";
     case "hsl":
-      let [h,s,l] = rgbToHsl(rgb);
+      let [h, s, l] = rgbToHsl(rgb);
       return "hsl(" + h + ", " + s + "%, " + l + "%)";
     case "name":
       let str;
       try {
         str = rgbToColorName(r, g, b);
-      } catch(e) {
+      } catch (e) {
         str = hexString(rgb);
       }
       return str;
     default:
       return hexString(rgb);
   }
 }
 
@@ -820,12 +820,12 @@ function toColorString(rgb, format) {
  * Produce a hex-formatted color string from rgb values.
  *
  * @param {array} rgb
  *        Rgb values of color to stringify
  *
  * @return {string}
  *        Hex formatted string for color, e.g. "#FFEE00"
  */
-function hexString([r,g,b]) {
+function hexString([r, g, b]) {
   let val = (1 << 24) + (r << 16) + (g << 8) + (b << 0);
   return "#" + val.toString(16).substr(-6).toUpperCase();
 }
--- a/devtools/client/eyedropper/test/browser_eyedropper_basic.js
+++ b/devtools/client/eyedropper/test/browser_eyedropper_basic.js
@@ -5,17 +5,17 @@
 const TESTCASE_URI = CHROME_URL_ROOT + "color-block.html";
 const DIV_COLOR = "#0000FF";
 
 /**
  * Test basic eyedropper widget functionality:
  *  - Opening eyedropper and pressing ESC closes the eyedropper
  *  - Opening eyedropper and clicking copies the center color
  */
-add_task(function*() {
+add_task(function* () {
   yield addTab(TESTCASE_URI);
 
   info("added tab");
 
   yield testEscape();
 
   info("testing selecting a color");
 
@@ -46,17 +46,17 @@ function* testSelect() {
   is(color, DIV_COLOR, "correct color selected");
 
   // wait for DIV_COLOR to be copied to the clipboard
   yield copied;
 }
 
 /* Helpers */
 
-function* inspectPage(dropper, click=true) {
+function* inspectPage(dropper, click = true) {
   yield dropper.open();
 
   info("dropper opened");
 
   let target = document.documentElement;
   let win = window;
 
   // get location of the <div> in the content, offset from browser window
--- a/devtools/client/eyedropper/test/browser_eyedropper_cmd.js
+++ b/devtools/client/eyedropper/test/browser_eyedropper_cmd.js
@@ -52,10 +52,10 @@ function inspectPage() {
     EventUtils.synthesizeMouse(target, x, y, { type: "mousemove" }, win);
 
     return dropperLoaded(dropper).then(() => {
       EventUtils.synthesizeMouse(target, x + 10, y + 10, { type: "mousemove" }, win);
 
       EventUtils.synthesizeMouse(target, x + 10, y + 10, {}, win);
       return dropper.once("destroy");
     });
-  })
+  });
 }
--- a/devtools/client/framework/ToolboxProcess.jsm
+++ b/devtools/client/framework/ToolboxProcess.jsm
@@ -6,17 +6,17 @@
 
 "use strict";
 
 const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
 
 const DBG_XUL = "chrome://devtools/content/framework/toolbox-process-window.xul";
 const CHROME_DEBUGGER_PROFILE_NAME = "chrome_debugger_profile";
 
-Cu.import("resource://gre/modules/XPCOMUtils.jsm")
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 const { require, DevToolsLoader } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 
 XPCOMUtils.defineLazyGetter(this, "Telemetry", function () {
   return require("devtools/client/shared/telemetry");
 });
 XPCOMUtils.defineLazyGetter(this, "EventEmitter", function () {
   return require("devtools/shared/event-emitter");
 });
@@ -38,20 +38,20 @@ var processes = new Set();
  *        An object with properties for configuring BrowserToolboxProcess.
  */
 this.BrowserToolboxProcess = function BrowserToolboxProcess(aOnClose, aOnRun, aOptions) {
   let emitter = new EventEmitter();
   this.on = emitter.on.bind(emitter);
   this.off = emitter.off.bind(emitter);
   this.once = emitter.once.bind(emitter);
   // Forward any events to the shared emitter.
-  this.emit = function(...args) {
+  this.emit = function (...args) {
     emitter.emit(...args);
     BrowserToolboxProcess.emit(...args);
-  }
+  };
 
   // If first argument is an object, use those properties instead of
   // all three arguments
   if (typeof aOnClose === "object") {
     if (aOnClose.onClose) {
       this.on("close", aOnClose.onClose);
     }
     if (aOnClose.onRun) {
@@ -80,17 +80,17 @@ this.BrowserToolboxProcess = function Br
 };
 
 EventEmitter.decorate(BrowserToolboxProcess);
 
 /**
  * Initializes and starts a chrome toolbox process.
  * @return object
  */
-BrowserToolboxProcess.init = function(aOnClose, aOnRun, aOptions) {
+BrowserToolboxProcess.init = function (aOnClose, aOnRun, aOptions) {
   return new BrowserToolboxProcess(aOnClose, aOnRun, aOptions);
 };
 
 /**
  * Passes a set of options to the BrowserAddonActors for the given ID.
  *
  * @param aId string
  *        The ID of the add-on to pass the options to
@@ -107,17 +107,17 @@ BrowserToolboxProcess.setAddonOptions = 
 
   return promise.all(promises);
 };
 
 BrowserToolboxProcess.prototype = {
   /**
    * Initializes the debugger server.
    */
-  _initServer: function() {
+  _initServer: function () {
     if (this.debuggerServer) {
       dumpn("The chrome toolbox server is already running.");
       return;
     }
 
     dumpn("Initializing the chrome toolbox server.");
 
     // Create a separate loader instance, so that we can be sure to receive a
@@ -147,17 +147,17 @@ BrowserToolboxProcess.prototype = {
 
     dumpn("Finished initializing the chrome toolbox server.");
     dumpn("Started listening on port: " + chromeDebuggingPort);
   },
 
   /**
    * Initializes a profile for the remote debugger process.
    */
-  _initProfile: function() {
+  _initProfile: function () {
     dumpn("Initializing the chrome toolbox user profile.");
 
     let debuggingProfileDir = Services.dirsvc.get("ProfLD", Ci.nsIFile);
     debuggingProfileDir.append(CHROME_DEBUGGER_PROFILE_NAME);
     try {
       debuggingProfileDir.create(Ci.nsIFile.DIRECTORY_TYPE, 0o755);
     } catch (ex) {
       // Don't re-copy over the prefs again if this profile already exists
@@ -185,17 +185,17 @@ BrowserToolboxProcess.prototype = {
     Services.prefs.savePrefFile(prefsFile);
 
     dumpn("Finished creating the chrome toolbox user profile at: " + this._dbgProfilePath);
   },
 
   /**
    * Creates and initializes the profile & process for the remote debugger.
    */
-  _create: function() {
+  _create: function () {
     dumpn("Initializing chrome debugging process.");
     let process = this._dbgProcess = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
     process.init(Services.dirsvc.get("XREExeF", Ci.nsIFile));
 
     let xulURI = DBG_XUL;
 
     if (this._options.addonID) {
       xulURI += "?addonID=" + this._options.addonID;
@@ -230,17 +230,17 @@ BrowserToolboxProcess.prototype = {
 
     dumpn("Chrome toolbox is now running...");
     this.emit("run", this);
   },
 
   /**
    * Closes the remote debugging server and kills the toolbox process.
    */
-  close: function() {
+  close: function () {
     if (this.closed) {
       return;
     }
 
     dumpn("Cleaning up the chrome debugging process.");
     Services.obs.removeObserver(this.close, "quit-application");
 
     if (this._dbgProcess.isRunning) {
--- a/devtools/client/framework/about-devtools-toolbox.js
+++ b/devtools/client/framework/about-devtools-toolbox.js
@@ -19,43 +19,43 @@ AboutURL.prototype = {
   uri: Services.io.newURI("chrome://devtools/content/framework/toolbox.xul",
                           null, null),
   classDescription: "about:devtools-toolbox",
   classID: components.ID("11342911-3135-45a8-8d71-737a2b0ad469"),
   contractID: "@mozilla.org/network/protocol/about;1?what=devtools-toolbox",
 
   QueryInterface: XPCOMUtils.generateQI([nsIAboutModule]),
 
-  newChannel: function(aURI, aLoadInfo) {
+  newChannel: function (aURI, aLoadInfo) {
     let chan = Services.io.newChannelFromURIWithLoadInfo(this.uri, aLoadInfo);
     chan.owner = Services.scriptSecurityManager.getSystemPrincipal();
     return chan;
   },
 
-  getURIFlags: function(aURI) {
+  getURIFlags: function (aURI) {
     return nsIAboutModule.ALLOW_SCRIPT || nsIAboutModule.ENABLE_INDEXED_DB;
   }
 };
 
-AboutURL.createInstance = function(outer, iid) {
+AboutURL.createInstance = function (outer, iid) {
   if (outer) {
     throw Cr.NS_ERROR_NO_AGGREGATION;
   }
   return new AboutURL();
 };
 
 exports.register = function () {
   if (registrar.isCIDRegistered(AboutURL.prototype.classID)) {
     console.error("Trying to register " + AboutURL.prototype.classDescription +
                   " more than once.");
   } else {
     registrar.registerFactory(AboutURL.prototype.classID,
                        AboutURL.prototype.classDescription,
                        AboutURL.prototype.contractID,
                        AboutURL);
   }
-}
+};
 
 exports.unregister = function () {
   if (registrar.isCIDRegistered(AboutURL.prototype.classID)) {
     registrar.unregisterFactory(AboutURL.prototype.classID, AboutURL);
   }
-}
+};
--- a/devtools/client/framework/attach-thread.js
+++ b/devtools/client/framework/attach-thread.js
@@ -25,19 +25,19 @@ function handleThreadState(toolbox, even
     // like we used to, but we should emit these only on the
     // threadClient now.
     toolbox.target.emit("thread-" + event);
   }
 
   if (event === "paused") {
     toolbox.highlightTool("jsdebugger");
 
-    if (packet.why.type === 'debuggerStatement' ||
-       packet.why.type === 'breakpoint' ||
-       packet.why.type === 'exception') {
+    if (packet.why.type === "debuggerStatement" ||
+       packet.why.type === "breakpoint" ||
+       packet.why.type === "exception") {
       toolbox.raise();
       toolbox.selectTool("jsdebugger");
     }
   } else if (event === "resumed") {
     toolbox.unhighlightTool("jsdebugger");
   }
 }
 
@@ -80,19 +80,19 @@ function attachThread(toolbox) {
         box.appendNotification(
           l10n("toolbox.resumeOrderWarning"),
           "wrong-resume-order",
           "",
           box.PRIORITY_WARNING_HIGH
         );
       }
 
-      deferred.resolve(threadClient)
+      deferred.resolve(threadClient);
     });
-  }
+  };
 
   if (target.isAddon) {
     // Attaching an addon
     target.client.attachAddon(actor, res => {
       target.client.attachThread(res.threadActor, handleResponse);
     });
   } else if (target.isTabActor) {
     // Attaching a normal thread
--- a/devtools/client/framework/browser-menus.js
+++ b/devtools/client/framework/browser-menus.js
@@ -322,20 +322,20 @@ function addTopLevelItems(doc) {
           keys.appendChild(node);
         }
       }
     }
   }
 
   // Cache all nodes before insertion to be able to remove them on unload
   let nodes = [];
-  for(let node of keys.children) {
+  for (let node of keys.children) {
     nodes.push(node);
   }
-  for(let node of menuItems.children) {
+  for (let node of menuItems.children) {
     nodes.push(node);
   }
   FragmentsCache.set(doc, nodes);
 
   attachKeybindingsToBrowser(doc, keys);
 
   let menu = doc.getElementById("menuWebDeveloperPopup");
   menu.appendChild(menuItems);
--- a/devtools/client/framework/connect/connect.js
+++ b/devtools/client/framework/connect/connect.js
@@ -2,31 +2,31 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 var Cu = Components.utils;
-Cu.import('resource://gre/modules/XPCOMUtils.jsm');
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Task.jsm");
 var {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
 var Services = require("Services");
 var {gDevTools} = require("devtools/client/framework/devtools");
 var {TargetFactory} = require("devtools/client/framework/target");
-var {Toolbox} = require("devtools/client/framework/toolbox")
+var {Toolbox} = require("devtools/client/framework/toolbox");
 var promise = require("promise");
 var {DebuggerClient} = require("devtools/shared/client/main");
 
 var gClient;
 var gConnectionTimeout;
 
-XPCOMUtils.defineLazyGetter(window, 'l10n', function () {
-  return Services.strings.createBundle('chrome://devtools/locale/connection-screen.properties');
+XPCOMUtils.defineLazyGetter(window, "l10n", function () {
+  return Services.strings.createBundle("chrome://devtools/locale/connection-screen.properties");
 });
 
 /**
  * Once DOM is ready, we prefil the host/port inputs with
  * pref-stored values.
  */
 window.addEventListener("DOMContentLoaded", function onDOMReady() {
   window.removeEventListener("DOMContentLoaded", onDOMReady, true);
@@ -37,61 +37,61 @@ window.addEventListener("DOMContentLoade
     document.getElementById("host").value = host;
   }
 
   if (port) {
     document.getElementById("port").value = port;
   }
 
   let form = document.querySelector("#connection-form form");
-  form.addEventListener("submit", function() {
+  form.addEventListener("submit", function () {
     window.submit().catch(e => {
       console.error(e);
       // Bug 921850: catch rare exception from DebuggerClient.socketConnect
       showError("unexpected");
     });
   });
 }, true);
 
 /**
  * Called when the "connect" button is clicked.
  */
-var submit = Task.async(function*() {
+var submit = Task.async(function* () {
   // Show the "connecting" screen
   document.body.classList.add("connecting");
 
   let host = document.getElementById("host").value;
   let port = document.getElementById("port").value;
 
   // Save the host/port values
   try {
     Services.prefs.setCharPref("devtools.debugger.remote-host", host);
     Services.prefs.setIntPref("devtools.debugger.remote-port", port);
-  } catch(e) {
+  } catch (e) {
     // Fails in e10s mode, but not a critical feature.
   }
 
   // Initiate the connection
   let transport = yield DebuggerClient.socketConnect({ host, port });
   gClient = new DebuggerClient(transport);
   let delay = Services.prefs.getIntPref("devtools.debugger.remote-timeout");
   gConnectionTimeout = setTimeout(handleConnectionTimeout, delay);
   let response = yield gClient.connect();
   yield onConnectionReady(...response);
 });
 
 /**
  * Connection is ready. List actors and build buttons.
  */
-var onConnectionReady = Task.async(function*([aType, aTraits]) {
+var onConnectionReady = Task.async(function* ([aType, aTraits]) {
   clearTimeout(gConnectionTimeout);
 
   let response = yield gClient.listAddons();
 
-  let parent = document.getElementById("addonActors")
+  let parent = document.getElementById("addonActors");
   if (!response.error && response.addons.length > 0) {
     // Add one entry for each add-on.
     for (let addon of response.addons) {
       if (!addon.debuggable) {
         continue;
       }
       buildAddonLink(addon, parent);
     }
@@ -120,26 +120,26 @@ var onConnectionReady = Task.async(funct
 
   let gParent = document.getElementById("globalActors");
 
   // Build the Remote Process button
   // If Fx<39, tab actors were used to be exposed on RootActor
   // but in Fx>=39, chrome is debuggable via getProcess() and ChromeActor
   if (globals.consoleActor || gClient.mainRoot.traits.allowChromeProcess) {
     let a = document.createElement("a");
-    a.onclick = function() {
+    a.onclick = function () {
       if (gClient.mainRoot.traits.allowChromeProcess) {
         gClient.getProcess()
                .then(aResponse => {
                  openToolbox(aResponse.form, true);
                });
       } else if (globals.consoleActor) {
         openToolbox(globals, true, "webconsole", false);
       }
-    }
+    };
     a.title = a.textContent = window.l10n.GetStringFromName("mainProcess");
     a.className = "remote-process";
     a.href = "#";
     gParent.appendChild(a);
   }
   // Move the selected tab on top
   let selectedLink = parent.querySelector("a.selected");
   if (selectedLink) {
@@ -156,35 +156,35 @@ var onConnectionReady = Task.async(funct
   }
 });
 
 /**
  * Build one button for an add-on actor.
  */
 function buildAddonLink(addon, parent) {
   let a = document.createElement("a");
-  a.onclick = function() {
+  a.onclick = function () {
     openToolbox(addon, true, "jsdebugger", false);
-  }
+  };
 
   a.textContent = addon.name;
   a.title = addon.id;
   a.href = "#";
 
   parent.appendChild(a);
 }
 
 /**
  * Build one button for a tab actor.
  */
 function buildTabLink(tab, parent, selected) {
   let a = document.createElement("a");
-  a.onclick = function() {
+  a.onclick = function () {
     openToolbox(tab);
-  }
+  };
 
   a.textContent = tab.title;
   a.title = tab.url;
   if (!a.textContent) {
     a.textContent = tab.url;
   }
   a.href = "#";
 
@@ -216,25 +216,25 @@ function showError(type) {
 function handleConnectionTimeout() {
   showError("timeout");
 }
 
 /**
  * The user clicked on one of the buttons.
  * Opens the toolbox.
  */
-function openToolbox(form, chrome=false, tool="webconsole", isTabActor) {
+function openToolbox(form, chrome = false, tool = "webconsole", isTabActor) {
   let options = {
     form: form,
     client: gClient,
     chrome: chrome,
     isTabActor: isTabActor
   };
   TargetFactory.forRemoteTab(options).then((target) => {
     let hostType = Toolbox.HostType.WINDOW;
     gDevTools.showToolbox(target, tool, hostType).then((toolbox) => {
-      toolbox.once("destroyed", function() {
+      toolbox.once("destroyed", function () {
         gClient.close();
       });
     }, console.error.bind(console));
     window.close();
   }, console.error.bind(console));
 }
--- a/devtools/client/framework/devtools-browser.js
+++ b/devtools/client/framework/devtools-browser.js
@@ -57,45 +57,45 @@ var gDevToolsBrowser = exports.gDevTools
   },
 
   /**
    * This function is for the benefit of Tools:DevToolbox in
    * browser/base/content/browser-sets.inc and should not be used outside
    * of there
    */
   // used by browser-sets.inc, command
-  toggleToolboxCommand: function(gBrowser) {
+  toggleToolboxCommand: function (gBrowser) {
     let target = TargetFactory.forTab(gBrowser.selectedTab);
     let toolbox = gDevTools.getToolbox(target);
 
     // If a toolbox exists, using toggle from the Main window :
     // - should close a docked toolbox
     // - should focus a windowed toolbox
     let isDocked = toolbox && toolbox.hostType != Toolbox.HostType.WINDOW;
     isDocked ? toolbox.destroy() : gDevTools.showToolbox(target);
   },
 
   /**
    * This function ensures the right commands are enabled in a window,
    * depending on their relevant prefs. It gets run when a window is registered,
    * or when any of the devtools prefs change.
    */
-  updateCommandAvailability: function(win) {
+  updateCommandAvailability: function (win) {
     let doc = win.document;
 
     function toggleMenuItem(id, isEnabled) {
       let cmd = doc.getElementById(id);
       if (isEnabled) {
         cmd.removeAttribute("disabled");
         cmd.removeAttribute("hidden");
       } else {
         cmd.setAttribute("disabled", "true");
         cmd.setAttribute("hidden", "true");
       }
-    };
+    }
 
     // Enable developer toolbar?
     let devToolbarEnabled = Services.prefs.getBoolPref("devtools.toolbar.enabled");
     toggleMenuItem("menu_devToolbar", devToolbarEnabled);
     let focusEl = doc.getElementById("menu_devToolbar");
     if (devToolbarEnabled) {
       focusEl.removeAttribute("disabled");
     } else {
@@ -122,34 +122,34 @@ var gDevToolsBrowser = exports.gDevTools
     let remoteEnabled = chromeEnabled && devtoolsRemoteEnabled;
     toggleMenuItem("menu_browserToolbox", remoteEnabled);
     toggleMenuItem("menu_browserContentToolbox", remoteEnabled && win.gMultiProcessBrowser);
 
     // Enable DevTools connection screen, if the preference allows this.
     toggleMenuItem("menu_devtools_connect", devtoolsRemoteEnabled);
   },
 
-  observe: function(subject, topic, prefName) {
+  observe: function (subject, topic, prefName) {
     switch (topic) {
       case "browser-delayed-startup-finished":
         this._registerBrowserWindow(subject);
         break;
       case "nsPref:changed":
         if (prefName.endsWith("enabled")) {
           for (let win of this._trackedBrowserWindows) {
             this.updateCommandAvailability(win);
           }
         }
         break;
     }
   },
 
   _prefObserverRegistered: false,
 
-  ensurePrefObserver: function() {
+  ensurePrefObserver: function () {
     if (!this._prefObserverRegistered) {
       this._prefObserverRegistered = true;
       Services.prefs.addObserver("devtools.", this, false);
     }
   },
 
   /**
    * This function is for the benefit of Tools:{toolId} commands,
@@ -162,17 +162,17 @@ var gDevToolsBrowser = exports.gDevTools
    *   we select it
    * - if the toolbox is open, and the targeted tool is selected,
    *   and the host is NOT a window, we close the toolbox
    * - if the toolbox is open, and the targeted tool is selected,
    *   and the host is a window, we raise the toolbox window
    */
   // Used when: - registering a new tool
   //            - new xul window, to add menu items
-  selectToolCommand: function(gBrowser, toolId) {
+  selectToolCommand: function (gBrowser, toolId) {
     let target = TargetFactory.forTab(gBrowser.selectedTab);
     let toolbox = gDevTools.getToolbox(target);
     let toolDefinition = gDevTools.getToolDefinition(toolId);
 
     if (toolbox &&
         (toolbox.currentToolId == toolId ||
           (toolId == "webconsole" && toolbox.splitConsole)))
     {
@@ -194,35 +194,35 @@ var gDevToolsBrowser = exports.gDevTools
       });
     }
   },
 
   /**
    * Open a tab on "about:debugging", optionally pre-select a given tab.
    */
    // Used by browser-sets.inc, command
-  openAboutDebugging: function(gBrowser, hash) {
+  openAboutDebugging: function (gBrowser, hash) {
     let url = "about:debugging" + (hash ? "#" + hash : "");
     gBrowser.selectedTab = gBrowser.addTab(url);
   },
 
   /**
    * Open a tab to allow connects to a remote browser
    */
    // Used by browser-sets.inc, command
-  openConnectScreen: function(gBrowser) {
+  openConnectScreen: function (gBrowser) {
     gBrowser.selectedTab = gBrowser.addTab("chrome://devtools/content/framework/connect/connect.xhtml");
   },
 
   /**
    * Open WebIDE
    */
    // Used by browser-sets.inc, command
    //         itself, webide widget
-  openWebIDE: function() {
+  openWebIDE: function () {
     let win = Services.wm.getMostRecentWindow("devtools:webide");
     if (win) {
       win.focus();
     } else {
       Services.ww.openWindow(null, "chrome://webide/content/", "webide", "chrome,centerscreen,resizable", null);
     }
   },
 
@@ -297,17 +297,17 @@ var gDevToolsBrowser = exports.gDevTools
       id: id,
       type: "view",
       viewId: "PanelUI-developer",
       shortcutId: "key_devToolboxMenuItem",
       tooltiptext: "developer-button.tooltiptext2",
       defaultArea: AppConstants.MOZ_DEV_EDITION ?
                      CustomizableUI.AREA_NAVBAR :
                      CustomizableUI.AREA_PANEL,
-      onViewShowing: function(aEvent) {
+      onViewShowing: function (aEvent) {
         // Populate the subview with whatever menuitems are in the developer
         // menu. We skip menu elements, because the menu panel has no way
         // of dealing with those right now.
         let doc = aEvent.target.ownerDocument;
         let win = doc.defaultView;
 
         let menu = doc.getElementById("menuWebDeveloperPopup");
 
@@ -318,17 +318,17 @@ var gDevToolsBrowser = exports.gDevTools
 
         let developerItems = doc.getElementById("PanelUI-developerItems");
         // Import private helpers from CustomizableWidgets
         let { clearSubview, fillSubviewFromMenuItems } =
           Cu.import("resource:///modules/CustomizableWidgets.jsm", {});
         clearSubview(developerItems);
         fillSubviewFromMenuItems(itemsToDisplay, developerItems);
       },
-      onBeforeCreated: function(doc) {
+      onBeforeCreated: function (doc) {
         // Bug 1223127, CUI should make this easier to do.
         if (doc.getElementById("PanelUI-developerItems")) {
           return;
         }
         let view = doc.createElement("panelview");
         view.id = "PanelUI-developerItems";
         let panel = doc.createElement("vbox");
         panel.setAttribute("class", "panel-subview-body");
@@ -337,17 +337,17 @@ var gDevToolsBrowser = exports.gDevTools
       }
     });
   },
 
   /**
    * Install WebIDE widget
    */
   // Used by itself
-  installWebIDEWidget: function() {
+  installWebIDEWidget: function () {
     if (this.isWebIDEWidgetInstalled()) {
       return;
     }
 
     let defaultArea;
     if (Services.prefs.getBoolPref("devtools.webide.widget.inNavbarByDefault")) {
       defaultArea = CustomizableUI.AREA_NAVBAR;
     } else {
@@ -355,70 +355,70 @@ var gDevToolsBrowser = exports.gDevTools
     }
 
     CustomizableUI.createWidget({
       id: "webide-button",
       shortcutId: "key_webide",
       label: "devtools-webide-button2.label",
       tooltiptext: "devtools-webide-button2.tooltiptext",
       defaultArea: defaultArea,
-      onCommand: function(aEvent) {
+      onCommand: function (aEvent) {
         gDevToolsBrowser.openWebIDE();
       }
     });
   },
 
-  isWebIDEWidgetInstalled: function() {
+  isWebIDEWidgetInstalled: function () {
     let widgetWrapper = CustomizableUI.getWidget("webide-button");
     return !!(widgetWrapper && widgetWrapper.provider == CustomizableUI.PROVIDER_API);
   },
 
   /**
    * The deferred promise will be resolved by WebIDE's UI.init()
    */
   isWebIDEInitialized: promise.defer(),
 
   /**
    * Uninstall WebIDE widget
    */
-  uninstallWebIDEWidget: function() {
+  uninstallWebIDEWidget: function () {
     if (this.isWebIDEWidgetInstalled()) {
       CustomizableUI.removeWidgetFromArea("webide-button");
     }
     CustomizableUI.destroyWidget("webide-button");
   },
 
   /**
    * Move WebIDE widget to the navbar
    */
    // Used by webide.js
-  moveWebIDEWidgetInNavbar: function() {
+  moveWebIDEWidgetInNavbar: function () {
     CustomizableUI.addWidgetToArea("webide-button", CustomizableUI.AREA_NAVBAR);
   },
 
   /**
    * Add this DevTools's presence to a browser window's document
    *
    * @param {XULDocument} doc
    *        The document to which devtools should be hooked to.
    */
-  _registerBrowserWindow: function(win) {
+  _registerBrowserWindow: function (win) {
     if (gDevToolsBrowser._trackedBrowserWindows.has(win)) {
       return;
     }
     gDevToolsBrowser._trackedBrowserWindows.add(win);
 
     BrowserMenus.addMenus(win.document);
 
     // Register the Developer widget in the Hamburger menu or navbar
     // only once menus are registered as it depends on it.
     gDevToolsBrowser.installDeveloperWidget();
 
     // Inject lazily DeveloperToolbar on the chrome window
-    loader.lazyGetter(win, "DeveloperToolbar", function() {
+    loader.lazyGetter(win, "DeveloperToolbar", function () {
       let { DeveloperToolbar } = require("devtools/client/shared/developer-toolbar");
       return new DeveloperToolbar(win);
     });
 
     this.updateCommandAvailability(win);
     this.ensurePrefObserver();
     win.addEventListener("unload", this);
 
@@ -467,21 +467,21 @@ var gDevToolsBrowser = exports.gDevTools
                 threadClient.resumeThenPause();
                 aCallback();
               });
             });
             break;
           default:
             throw Error("invalid thread client state in slow script debug handler: " +
                         threadClient.state);
-          }
+        }
       });
     }
 
-    debugService.activationHandler = function(aWindow) {
+    debugService.activationHandler = function (aWindow) {
       let chromeWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
                                 .getInterface(Ci.nsIWebNavigation)
                                 .QueryInterface(Ci.nsIDocShellTreeItem)
                                 .rootTreeItem
                                 .QueryInterface(Ci.nsIInterfaceRequestor)
                                 .getInterface(Ci.nsIDOMWindow)
                                 .QueryInterface(Ci.nsIDOMChromeWindow);
 
@@ -495,17 +495,17 @@ var gDevToolsBrowser = exports.gDevTools
                          .getInterface(Ci.nsIDOMWindowUtils);
       utils.enterModalState();
       while (!setupFinished) {
         tm.currentThread.processNextEvent(true);
       }
       utils.leaveModalState();
     };
 
-    debugService.remoteActivationHandler = function(aBrowser, aCallback) {
+    debugService.remoteActivationHandler = function (aBrowser, aCallback) {
       let chromeWindow = aBrowser.ownerDocument.defaultView;
       let tab = chromeWindow.gBrowser.getTabForBrowser(aBrowser);
       chromeWindow.gBrowser.selected = tab;
 
       function callback() {
         aCallback.finishDebuggerStartup();
       }
 
@@ -535,17 +535,17 @@ var gDevToolsBrowser = exports.gDevTools
     }
 
     // Skip if the tool is disabled.
     try {
       if (toolDefinition.visibilityswitch &&
          !Services.prefs.getBoolPref(toolDefinition.visibilityswitch)) {
         return;
       }
-    } catch(e) {}
+    } catch (e) {}
 
     // We need to insert the new tool in the right place, which means knowing
     // the tool that comes before the tool that we're trying to add
     let allDefs = gDevTools.getToolDefinitionArray();
     let prevDef;
     for (let def of allDefs) {
       if (!def.inMenu) {
         continue;
@@ -560,17 +560,17 @@ var gDevToolsBrowser = exports.gDevTools
       BrowserMenus.insertToolMenuElements(win.document, toolDefinition, prevDef);
     }
 
     if (toolDefinition.id === "jsdebugger") {
       gDevToolsBrowser.setSlowScriptDebugHandler();
     }
   },
 
-  hasToolboxOpened: function(win) {
+  hasToolboxOpened: function (win) {
     let tab = win.gBrowser.selectedTab;
     for (let [target, toolbox] of gDevTools._toolboxes) {
       if (target.tab == tab) {
         return true;
       }
     }
     return false;
   },
@@ -611,17 +611,17 @@ var gDevToolsBrowser = exports.gDevTools
 
   /**
    * Called on browser unload to remove menu entries, toolboxes and event
    * listeners from the closed browser window.
    *
    * @param  {XULWindow} win
    *         The window containing the menu entry
    */
-  _forgetBrowserWindow: function(win) {
+  _forgetBrowserWindow: function (win) {
     if (!gDevToolsBrowser._trackedBrowserWindows.has(win)) {
       return;
     }
     gDevToolsBrowser._trackedBrowserWindows.delete(win);
     win.removeEventListener("unload", this);
 
     BrowserMenus.removeMenus(win.document);
 
@@ -641,17 +641,17 @@ var gDevToolsBrowser = exports.gDevTools
     let tabContainer = win.gBrowser.tabContainer;
     tabContainer.removeEventListener("TabSelect", this, false);
     tabContainer.removeEventListener("TabOpen", this, false);
     tabContainer.removeEventListener("TabClose", this, false);
     tabContainer.removeEventListener("TabPinned", this, false);
     tabContainer.removeEventListener("TabUnpinned", this, false);
   },
 
-  handleEvent: function(event) {
+  handleEvent: function (event) {
     switch (event.type) {
       case "TabOpen":
       case "TabClose":
       case "TabPinned":
       case "TabUnpinned":
         let open = 0;
         let pinned = 0;
 
@@ -663,29 +663,29 @@ var gDevToolsBrowser = exports.gDevTools
           open += numTabs;
           pinned += numPinnedTabs;
         }
 
         this._tabStats.histOpen.push(open);
         this._tabStats.histPinned.push(pinned);
         this._tabStats.peakOpen = Math.max(open, this._tabStats.peakOpen);
         this._tabStats.peakPinned = Math.max(pinned, this._tabStats.peakPinned);
-      break;
+        break;
       case "TabSelect":
         gDevToolsBrowser._updateMenuCheckbox();
-      break;
+        break;
       case "unload":
         // top-level browser window unload
         gDevToolsBrowser._forgetBrowserWindow(event.target.defaultView);
-      break;
+        break;
     }
   },
 
-  _pingTelemetry: function() {
-    let mean = function(arr) {
+  _pingTelemetry: function () {
+    let mean = function (arr) {
       if (arr.length === 0) {
         return 0;
       }
 
       let total = arr.reduce((a, b) => a + b);
       return Math.ceil(total / arr.length);
     };
 
@@ -694,40 +694,40 @@ var gDevToolsBrowser = exports.gDevTools
     this._telemetry.log(TABS_OPEN_AVG_HISTOGRAM, mean(tabStats.histOpen));
     this._telemetry.log(TABS_PINNED_PEAK_HISTOGRAM, tabStats.peakPinned);
     this._telemetry.log(TABS_PINNED_AVG_HISTOGRAM, mean(tabStats.histPinned));
   },
 
   /**
    * All browser windows have been closed, tidy up remaining objects.
    */
-  destroy: function() {
+  destroy: function () {
     Services.prefs.removeObserver("devtools.", gDevToolsBrowser);
     Services.obs.removeObserver(gDevToolsBrowser, "browser-delayed-startup-finished");
     Services.obs.removeObserver(gDevToolsBrowser.destroy, "quit-application");
 
     gDevToolsBrowser._pingTelemetry();
     gDevToolsBrowser._telemetry = null;
 
     for (let win of gDevToolsBrowser._trackedBrowserWindows) {
       gDevToolsBrowser._forgetBrowserWindow(win);
     }
   },
-}
+};
 
 // Handle all already registered tools,
 gDevTools.getToolDefinitionArray()
          .forEach(def => gDevToolsBrowser._addToolToWindows(def));
 // and the new ones.
-gDevTools.on("tool-registered", function(ev, toolId) {
+gDevTools.on("tool-registered", function (ev, toolId) {
   let toolDefinition = gDevTools._tools.get(toolId);
   gDevToolsBrowser._addToolToWindows(toolDefinition);
 });
 
-gDevTools.on("tool-unregistered", function(ev, toolId) {
+gDevTools.on("tool-unregistered", function (ev, toolId) {
   if (typeof toolId != "string") {
     toolId = toolId.id;
   }
   gDevToolsBrowser._removeToolFromWindows(toolId);
 });
 
 gDevTools.on("toolbox-ready", gDevToolsBrowser._updateMenuCheckbox);
 gDevTools.on("toolbox-destroyed", gDevToolsBrowser._updateMenuCheckbox);
--- a/devtools/client/framework/devtools.js
+++ b/devtools/client/framework/devtools.js
@@ -387,33 +387,33 @@ DevTools.prototype = {
    * @param {Toolbox.HostType} hostType
    *        The type of host (bottom, window, side)
    * @param {object} hostOptions
    *        Options for host specifically
    *
    * @return {Toolbox} toolbox
    *        The toolbox that was opened
    */
-  showToolbox: function(target, toolId, hostType, hostOptions) {
+  showToolbox: function (target, toolId, hostType, hostOptions) {
     let deferred = promise.defer();
 
     let toolbox = this._toolboxes.get(target);
     if (toolbox) {
 
       let hostPromise = (hostType != null && toolbox.hostType != hostType) ?
           toolbox.switchHost(hostType) :
           promise.resolve(null);
 
       if (toolId != null && toolbox.currentToolId != toolId) {
-        hostPromise = hostPromise.then(function() {
+        hostPromise = hostPromise.then(function () {
           return toolbox.selectTool(toolId);
         });
       }
 
-      return hostPromise.then(function() {
+      return hostPromise.then(function () {
         toolbox.raise();
         return toolbox;
       });
     }
     else {
       // No toolbox for target, create one
       toolbox = new Toolbox(target, toolId, hostType, hostOptions);
 
@@ -478,17 +478,17 @@ DevTools.prototype = {
       toolbox.destroy();
     }
     AboutDevTools.unregister();
   },
 
   /**
    * All browser windows have been closed, tidy up remaining objects.
    */
-  destroy: function() {
+  destroy: function () {
     Services.obs.removeObserver(this.destroy, "quit-application");
 
     for (let [key, tool] of this.getToolDefinitionMap()) {
       this.unregisterTool(key, true);
     }
 
     JsonView.destroy();
 
@@ -497,17 +497,17 @@ DevTools.prototype = {
     // Cleaning down the toolboxes: i.e.
     //   for (let [target, toolbox] of this._toolboxes) toolbox.destroy();
     // Is taken care of by the gDevToolsBrowser.forgetBrowserWindow
   },
 
   /**
    * Iterator that yields each of the toolboxes.
    */
-  *[Symbol.iterator]() {
+  *[Symbol.iterator ]() {
     for (let toolbox of this._toolboxes) {
       yield toolbox;
     }
   }
 };
 
 const gDevTools = exports.gDevTools = new DevTools();
 
--- a/devtools/client/framework/gDevTools.jsm
+++ b/devtools/client/framework/gDevTools.jsm
@@ -91,17 +91,17 @@ let gDevToolsMethods = [
 this.gDevTools = {
   // Used by tests
   get _toolboxes() {
     return devtools._toolboxes;
   },
   get _tools() {
     return devtools._tools;
   },
-  *[Symbol.iterator]() {
+  *[Symbol.iterator ]() {
     for (let toolbox of this._toolboxes) {
       yield toolbox;
     }
   }
 };
 gDevToolsMethods.forEach(name => {
   this.gDevTools[name] = (...args) => {
     return devtools[name].apply(devtools, args);
--- a/devtools/client/framework/selection.js
+++ b/devtools/client/framework/selection.js
@@ -54,32 +54,32 @@ var EventEmitter = require("devtools/sha
  * Includes some helpers, fire some helpful events.
  *
  * @param node Inner node.
  *    Can be null. Can be (un)set in the future via the "node" property;
  * @param trackAttribute Tell if events should be fired when the attributes of
  *    the node change.
  *
  */
-function Selection(walker, node=null, track={attributes:true,detached:true}) {
+function Selection(walker, node = null, track = {attributes:true, detached:true}) {
   EventEmitter.decorate(this);
 
   this._onMutations = this._onMutations.bind(this);
   this.track = track;
   this.setWalker(walker);
   this.setNode(node);
 }
 
 exports.Selection = Selection;
 
 Selection.prototype = {
   _walker: null,
   _node: null,
 
-  _onMutations: function(mutations) {
+  _onMutations: function (mutations) {
     let attributeChange = false;
     let pseudoChange = false;
     let detached = false;
     let parentNode = null;
 
     for (let m of mutations) {
       if (!attributeChange && m.type == "attributes") {
         attributeChange = true;
@@ -110,33 +110,33 @@ Selection.prototype = {
         rawNode = parentNode.rawNode();
       }
 
       this.emit("detached", rawNode, null);
       this.emit("detached-front", parentNode);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.setNode(null);
     this.setWalker(null);
   },
 
-  setWalker: function(walker) {
+  setWalker: function (walker) {
     if (this._walker) {
       this._walker.off("mutations", this._onMutations);
     }
     this._walker = walker;
     if (this._walker) {
       this._walker.on("mutations", this._onMutations);
     }
   },
 
   // Not remote-safe
-  setNode: function(value, reason="unknown") {
+  setNode: function (value, reason = "unknown") {
     if (value) {
       value = this._walker.frontForRawNode(value);
     }
     this.setNodeFront(value, reason);
   },
 
   // Not remote-safe
   get node() {
@@ -154,17 +154,17 @@ Selection.prototype = {
   // Not remote-safe
   get document() {
     if (this.isNode()) {
       return this.node.ownerDocument;
     }
     return null;
   },
 
-  setNodeFront: function(value, reason="unknown") {
+  setNodeFront: function (value, reason = "unknown") {
     this.reason = reason;
 
     // If a singleTextChild text node is being set, then set it's parent instead.
     let parentNode = value && value.parentNode();
     if (value && parentNode && parentNode.singleTextChild === value) {
       value = parentNode;
     }
 
@@ -188,41 +188,41 @@ Selection.prototype = {
   get documentFront() {
     return this._walker.document(this._nodeFront);
   },
 
   get nodeFront() {
     return this._nodeFront;
   },
 
-  isRoot: function() {
+  isRoot: function () {
     return this.isNode() &&
            this.isConnected() &&
            this._nodeFront.isDocumentElement;
   },
 
-  isNode: function() {
+  isNode: function () {
     if (!this._nodeFront) {
       return false;
     }
 
     // As long as tools are still accessing node.rawNode(),
     // this needs to stay here.
     if (this._node && Cu.isDeadWrapper(this._node)) {
       return false;
     }
 
     return true;
   },
 
-  isLocal: function() {
+  isLocal: function () {
     return !!this._node;
   },
 
-  isConnected: function() {
+  isConnected: function () {
     let node = this._nodeFront;
     if (!node || !node.actorID) {
       return false;
     }
 
     // As long as there are still tools going around
     // accessing node.rawNode, this needs to stay.
     let rawNode = null;
@@ -241,98 +241,98 @@ Selection.prototype = {
           }
         }
       } catch (e) {
         // "can't access dead object" error
       }
       return false;
     }
 
-    while(node) {
+    while (node) {
       if (node === this._walker.rootNode) {
         return true;
       }
       node = node.parentNode();
-    };
+    }
     return false;
   },
 
-  isHTMLNode: function() {
+  isHTMLNode: function () {
     let xhtml_ns = "http://www.w3.org/1999/xhtml";
     return this.isNode() && this.nodeFront.namespaceURI == xhtml_ns;
   },
 
   // Node type
 
-  isElementNode: function() {
+  isElementNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.ELEMENT_NODE;
   },
 
-  isPseudoElementNode: function() {
+  isPseudoElementNode: function () {
     return this.isNode() && this.nodeFront.isPseudoElement;
   },
 
-  isAnonymousNode: function() {
+  isAnonymousNode: function () {
     return this.isNode() && this.nodeFront.isAnonymous;
   },
 
-  isAttributeNode: function() {
+  isAttributeNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.ATTRIBUTE_NODE;
   },
 
-  isTextNode: function() {
+  isTextNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.TEXT_NODE;
   },
 
-  isCDATANode: function() {
+  isCDATANode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.CDATA_SECTION_NODE;
   },
 
-  isEntityRefNode: function() {
+  isEntityRefNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.ENTITY_REFERENCE_NODE;
   },
 
-  isEntityNode: function() {
+  isEntityNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.ENTITY_NODE;
   },
 
-  isProcessingInstructionNode: function() {
+  isProcessingInstructionNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.PROCESSING_INSTRUCTION_NODE;
   },
 
-  isCommentNode: function() {
+  isCommentNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.PROCESSING_INSTRUCTION_NODE;
   },
 
-  isDocumentNode: function() {
+  isDocumentNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.DOCUMENT_NODE;
   },
 
   /**
    * @returns true if the selection is the <body> HTML element.
    */
-  isBodyNode: function() {
+  isBodyNode: function () {
     return this.isHTMLNode() &&
            this.isConnected() &&
            this.nodeFront.nodeName === "BODY";
   },
 
   /**
    * @returns true if the selection is the <head> HTML element.
    */
-  isHeadNode: function() {
+  isHeadNode: function () {
     return this.isHTMLNode() &&
            this.isConnected() &&
            this.nodeFront.nodeName === "HEAD";
   },
 
-  isDocumentTypeNode: function() {
+  isDocumentTypeNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.DOCUMENT_TYPE_NODE;
   },
 
-  isDocumentFragmentNode: function() {
+  isDocumentFragmentNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.DOCUMENT_FRAGMENT_NODE;
   },
 
-  isNotationNode: function() {
+  isNotationNode: function () {
     return this.isNode() && this.nodeFront.nodeType == Ci.nsIDOMNode.NOTATION_NODE;
   },
 };
--- a/devtools/client/framework/sidebar.js
+++ b/devtools/client/framework/sidebar.js
@@ -53,31 +53,31 @@ const XULNS = "http://www.mozilla.org/ke
  * - new-tab-registered : After a tab has been added via addTab. The tab ID
  *   is passed with the event. This however, is raised before the tab iframe
  *   is fully loaded.
  * - <tabid>-ready : After the tab iframe has been loaded
  * - <tabid>-selected : After tab <tabid> was selected
  * - select : Same as above, but for any tab, the ID is passed with the event
  * - <tabid>-unselected : After tab <tabid> is unselected
  */
-function ToolSidebar(tabbox, panel, uid, options={}) {
+function ToolSidebar(tabbox, panel, uid, options = {}) {
   EventEmitter.decorate(this);
 
   this._tabbox = tabbox;
   this._uid = uid;
   this._panelDoc = this._tabbox.ownerDocument;
   this._toolPanel = panel;
   this._options = options;
 
   this._onTabBoxOverflow = this._onTabBoxOverflow.bind(this);
   this._onTabBoxUnderflow = this._onTabBoxUnderflow.bind(this);
 
   try {
     this._width = Services.prefs.getIntPref("devtools.toolsidebar-width." + this._uid);
-  } catch(e) {}
+  } catch (e) {}
 
   if (!options.disableTelemetry) {
     this._telemetry = new Telemetry();
   }
 
   this._tabbox.tabpanels.addEventListener("select", this, true);
 
   this._tabs = new Map();
@@ -106,17 +106,17 @@ ToolSidebar.prototype = {
   /**
    * Add a "…" button at the end of the tabstripe that toggles a dropdown menu
    * containing the list of all tabs if any become hidden due to lack of room.
    *
    * If the ToolSidebar was created with the "showAllTabsMenu" option set to
    * true, this is already done automatically. If not, you may call this
    * function at any time to add the menu.
    */
-  addAllTabsMenu: function() {
+  addAllTabsMenu: function () {
     if (this._allTabsBtn) {
       return;
     }
 
     let tabs = this._tabbox.tabs;
 
     // Create a container and insert it first in the tabbox
     let allTabsContainer = this._panelDoc.createElementNS(XULNS, "stack");
@@ -148,45 +148,45 @@ ToolSidebar.prototype = {
     // sidebar
     for (let [id, tab] of this._tabs) {
       if (!tab.hidden) {
         this._addItemToAllTabsMenu(id, tab, tab.hasAttribute("selected"));
       }
     }
   },
 
-  removeAllTabsMenu: function() {
+  removeAllTabsMenu: function () {
     if (!this._allTabsBtn) {
       return;
     }
 
     let tabs = this._tabbox.tabs;
 
     tabs.removeEventListener("overflow", this._onTabBoxOverflow, false);
     tabs.removeEventListener("underflow", this._onTabBoxUnderflow, false);
 
     // Moving back the tabs as a first child of the tabbox
     this._tabbox.insertBefore(tabs, this._tabbox.tabpanels);
     this._tabbox.querySelector("stack").remove();
 
     this._allTabsBtn = null;
   },
 
-  _onTabBoxOverflow: function() {
+  _onTabBoxOverflow: function () {
     this._allTabsBtn.removeAttribute("hidden");
   },
 
-  _onTabBoxUnderflow: function() {
+  _onTabBoxUnderflow: function () {
     this._allTabsBtn.setAttribute("hidden", "true");
   },
 
   /**
    * Add an item in the allTabs menu for a given tab.
    */
-  _addItemToAllTabsMenu: function(id, tab, selected=false) {
+  _addItemToAllTabsMenu: function (id, tab, selected = false) {
     if (!this._allTabsBtn) {
       return;
     }
 
     let item = this._panelDoc.createElementNS(XULNS, "menuitem");
     item.setAttribute("id", "sidebar-alltabs-item-" + id);
     item.setAttribute("label", tab.getAttribute("label"));
     item.setAttribute("type", "checkbox");
@@ -210,17 +210,17 @@ ToolSidebar.prototype = {
 
   /**
    * Register a tab. A tab is a document.
    * The document must have a title, which will be used as the name of the tab.
    *
    * @param {string} tab uniq id
    * @param {string} url
    */
-  addTab: function(id, url, selected=false) {
+  addTab: function (id, url, selected = false) {
     let iframe = this._panelDoc.createElementNS(XULNS, "iframe");
     iframe.className = "iframe-" + id;
     iframe.setAttribute("flex", "1");
     iframe.setAttribute("src", url);
     iframe.tooltip = "aHTMLTooltip";
 
     // Creating the tab and adding it to the tabbox
     let tab = this._panelDoc.createElementNS(XULNS, "tab");
@@ -272,17 +272,17 @@ ToolSidebar.prototype = {
     this.emit("new-tab-registered", id);
   },
 
   untitledTabsIndex: 0,
 
   /**
    * Search for existing tabs in the markup that aren't know yet and add them.
    */
-  addExistingTabs: function() {
+  addExistingTabs: function () {
     let knownTabs = [...this._tabs.values()];
 
     for (let tab of this._tabbox.tabs.querySelectorAll("tab")) {
       if (knownTabs.indexOf(tab) !== -1) {
         continue;
       }
 
       // Find an ID for this unknown tab
@@ -302,17 +302,17 @@ ToolSidebar.prototype = {
 
   /**
    * Remove an existing tab.
    * @param {String} tabId The ID of the tab that was used to register it, or
    * the tab id attribute value if the tab existed before the sidebar got created.
    * @param {String} tabPanelId Optional. If provided, this ID will be used
    * instead of the tabId to retrieve and remove the corresponding <tabpanel>
    */
-  removeTab: Task.async(function*(tabId, tabPanelId) {
+  removeTab: Task.async(function* (tabId, tabPanelId) {
     // Remove the tab if it can be found
     let tab = this.getTab(tabId);
     if (!tab) {
       return;
     }
 
     let win = this.getWindowForTab(tabId);
     if (win && ("destroy" in win)) {
@@ -331,90 +331,90 @@ ToolSidebar.prototype = {
     this.emit("tab-unregistered", tabId);
   }),
 
   /**
    * Show or hide a specific tab.
    * @param {Boolean} isVisible True to show the tab/tabpanel, False to hide it.
    * @param {String} id The ID of the tab to be hidden.
    */
-  toggleTab: function(isVisible, id) {
+  toggleTab: function (isVisible, id) {
     // Toggle the tab.
     let tab = this.getTab(id);
     if (!tab) {
       return;
     }
     tab.hidden = !isVisible;
 
     // Toggle the item in the allTabs menu.
     if (this._allTabsBtn) {
       this._allTabsBtn.querySelector("#sidebar-alltabs-item-" + id).hidden = !isVisible;
     }
   },
 
   /**
    * Select a specific tab.
    */
-  select: function(id) {
+  select: function (id) {
     let tab = this.getTab(id);
     if (tab) {
       this._tabbox.selectedTab = tab;
     }
   },
 
   /**
    * Hack required to select a tab right after it was created.
    *
    * @param  {String} id
    *         The sidebar tab id to select.
    */
-  _selectTabSoon: function(id) {
+  _selectTabSoon: function (id) {
     this._panelDoc.defaultView.setTimeout(() => {
       this.select(id);
     }, 0);
   },
 
   /**
    * Return the id of the selected tab.
    */
-  getCurrentTabID: function() {
+  getCurrentTabID: function () {
     let currentID = null;
     for (let [id, tab] of this._tabs) {
       if (this._tabbox.tabs.selectedItem == tab) {
         currentID = id;
         break;
       }
     }
     return currentID;
   },
 
   /**
    * Returns the requested tab panel based on the id.
    * @param {String} id
    * @return {DOMNode}
    */
-  getTabPanel: function(id) {
+  getTabPanel: function (id) {
     // Search with and without the ID prefix as there might have been existing
     // tabpanels by the time the sidebar got created
     return this._tabbox.tabpanels.querySelector("#" + this.TABPANEL_ID_PREFIX + id + ", #" + id);
   },
 
   /**
    * Return the tab based on the provided id, if one was registered with this id.
    * @param {String} id
    * @return {DOMNode}
    */
-  getTab: function(id) {
+  getTab: function (id) {
     return this._tabs.get(id);
   },
 
   /**
    * Event handler.
    */
-  handleEvent: function(event) {
+  handleEvent: function (event) {
     if (event.type !== "select" || this._destroyed) {
       return;
     }
 
     if (this._currentTool == this.getCurrentTabID()) {
       // Tool hasn't changed.
       return;
     }
@@ -450,31 +450,31 @@ ToolSidebar.prototype = {
       }
       tab.allTabsMenuItem.setAttribute("checked", true);
     }
   },
 
   /**
    * Toggle sidebar's visibility state.
    */
-  toggle: function() {
+  toggle: function () {
     if (this._tabbox.hasAttribute("hidden")) {
       this.show();
     } else {
       this.hide();
     }
   },
 
   /**
    * Show the sidebar.
    *
    * @param  {String} id
    *         The sidebar tab id to select.
    */
-  show: function(id) {
+  show: function (id) {
     if (this._width) {
       this._tabbox.width = this._width;
     }
     this._tabbox.removeAttribute("hidden");
 
     // If an id is given, select the corresponding sidebar tab and record the
     // tool opened.
     if (id) {
@@ -488,44 +488,44 @@ ToolSidebar.prototype = {
     }
 
     this.emit("show");
   },
 
   /**
    * Show the sidebar.
    */
-  hide: function() {
+  hide: function () {
     Services.prefs.setIntPref("devtools.toolsidebar-width." + this._uid, this._tabbox.width);
     this._tabbox.setAttribute("hidden", "true");
     this._panelDoc.activeElement.blur();
 
     this.emit("hide");
   },
 
   /**
    * Return the window containing the tab content.
    */
-  getWindowForTab: function(id) {
+  getWindowForTab: function (id) {
     if (!this._tabs.has(id)) {
       return null;
     }
 
     // Get the tabpanel and make sure it contains an iframe
     let panel = this.getTabPanel(id);
     if (!panel || !panel.firstChild || !panel.firstChild.contentWindow) {
       return;
     }
     return panel.firstChild.contentWindow;
   },
 
   /**
    * Clean-up.
    */
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     if (this._destroyed) {
       return;
     }
     this._destroyed = true;
 
     Services.prefs.setIntPref("devtools.toolsidebar-width." + this._uid, this._tabbox.width);
 
     if (this._allTabsBtn) {
@@ -556,21 +556,21 @@ ToolSidebar.prototype = {
 
     this._toolPanel.emit("sidebar-destroyed", this);
 
     this._tabs = null;
     this._tabbox = null;
     this._panelDoc = null;
     this._toolPanel = null;
   })
-}
+};
 
-XPCOMUtils.defineLazyGetter(this, "l10n", function() {
+XPCOMUtils.defineLazyGetter(this, "l10n", function () {
   let bundle = Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
-  let l10n = function(aName, ...aArgs) {
+  let l10n = function (aName, ...aArgs) {
     try {
       if (aArgs.length == 0) {
         return bundle.GetStringFromName(aName);
       } else {
         return bundle.formatStringFromName(aName, aArgs, aArgs.length);
       }
     } catch (ex) {
       console.log("Error reading '" + aName + "'");
--- a/devtools/client/framework/source-location.js
+++ b/devtools/client/framework/source-location.js
@@ -23,21 +23,21 @@ function SourceLocationController(target
   this.destroy = this.destroy.bind(this);
 
   target.on("source-updated", this._onSourceUpdated);
   target.on("navigate", this.reset);
   target.on("will-navigate", this.reset);
   target.on("close", this.destroy);
 }
 
-SourceLocationController.prototype.reset = function() {
+SourceLocationController.prototype.reset = function () {
   this.locations.clear();
 };
 
-SourceLocationController.prototype.destroy = function() {
+SourceLocationController.prototype.destroy = function () {
   this.locations.clear();
   this.target.off("source-updated", this._onSourceUpdated);
   this.target.off("navigate", this.reset);
   this.target.off("will-navigate", this.reset);
   this.target.off("close", this.destroy);
   this.target = this.locations = null;
 };
 
@@ -45,47 +45,47 @@ SourceLocationController.prototype.destr
  * Add this `location` to be observed and register a callback
  * whenever the underlying source is updated.
  *
  * @param {Object} location
  *        An object with a {String} url, {Number} line, and optionally
  *        a {Number} column.
  * @param {Function} callback
  */
-SourceLocationController.prototype.bindLocation = function(location, callback) {
+SourceLocationController.prototype.bindLocation = function (location, callback) {
   assert(location.url, "Location must have a url.");
   assert(location.line, "Location must have a line.");
   this.locations.add({ location, callback });
 };
 
 /**
  * Called when a new source occurs (a normal source, source maps) or an updated
  * source (pretty print) occurs.
  *
  * @param {String} eventName
  * @param {Object} sourceEvent
  */
-SourceLocationController.prototype._onSourceUpdated = function(_, sourceEvent) {
+SourceLocationController.prototype._onSourceUpdated = function (_, sourceEvent) {
   let { type, source } = sourceEvent;
   // If we get a new source, and it's not a source map, abort;
   // we can ahve no actionable updates as this is just a new normal source.
   // Also abort if there's no `url`, which means it's unsourcemappable anyway,
   // like an eval script.
   if (!source.url || type === "newSource" && !source.isSourceMapped) {
     return;
   }
 
   for (let locationItem of this.locations) {
     if (isSourceRelated(locationItem.location, source)) {
       this._updateSource(locationItem);
     }
   }
 };
 
-SourceLocationController.prototype._updateSource = Task.async(function*(locationItem) {
+SourceLocationController.prototype._updateSource = Task.async(function* (locationItem) {
   let newLocation = yield resolveLocation(this.target, locationItem.location);
   if (newLocation) {
     let previousLocation = Object.assign({}, locationItem.location);
     Object.assign(locationItem.location, newLocation);
     locationItem.callback(previousLocation, newLocation);
   }
 });
 
@@ -94,17 +94,17 @@ SourceLocationController.prototype._upda
  * the location to the latest location (so a source mapped location, or if pretty print
  * status has been updated)
  *
  * @param {TabTarget} target
  * @param {Object} location
  * @return {Promise<Object>}
  */
 function resolveLocation(target, location) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let newLocation = yield target.resolveLocation({
       url: location.url,
       line: location.line,
       column: location.column || Infinity
     });
 
     // Source or mapping not found, so don't do anything
     if (newLocation.error) {
@@ -124,14 +124,14 @@ function resolveLocation(target, locatio
  * @param {Object} location
  * @param {Object} source
  * @return {Boolean}
  */
 function isSourceRelated(location, source) {
          // Mapping location to subsequently loaded source map
   return source.generatedUrl === location.url ||
          // Mapping source map loc to source map
-         source.url === location.url
+         source.url === location.url;
 }
 
 exports.SourceLocationController = SourceLocationController;
 exports.resolveLocation = resolveLocation;
 exports.isSourceRelated = isSourceRelated;
--- a/devtools/client/framework/target-from-url.js
+++ b/devtools/client/framework/target-from-url.js
@@ -29,17 +29,17 @@ const { Task } = require("resource://gre
  * id:
  *    {Number} the process id to debug. Default to 0, which is the parent process.
  *
  * @param {URL} url
  *        The url to fetch query params from.
  *
  * @return A target object
  */
-exports.targetFromURL = Task.async(function*(url) {
+exports.targetFromURL = Task.async(function* (url) {
   let params = url.searchParams;
   let type = params.get("type");
   if (!type) {
     throw new Error("targetFromURL, missing type parameter");
   }
   let id = params.get("id");
   // Allows to spawn a chrome enabled target for any context
   // (handy to debug chrome stuff in a child process)
@@ -54,21 +54,21 @@ exports.targetFromURL = Task.async(funct
   let form, isTabActor;
   if (type === "tab") {
     // Fetch target for a remote tab
     id = parseInt(id);
     if (isNaN(id)) {
       throw new Error("targetFromURL, wrong tab id:'" + id + "', should be a number");
     }
     try {
-      let response = yield client.getTab({ outerWindowID: id })
+      let response = yield client.getTab({ outerWindowID: id });
       form = response.tab;
-    } catch(ex) {
+    } catch (ex) {
       if (ex.error == "noTab") {
-        throw new Error("targetFromURL, tab with outerWindowID:'" + id+ "' doesn't exist");
+        throw new Error("targetFromURL, tab with outerWindowID:'" + id + "' doesn't exist");
       }
       throw ex;
     }
   } else if (type == "process") {
     // Fetch target for a remote chrome actor
     DebuggerServer.allowChromeProcess = true;
     try {
       id = parseInt(id);
@@ -77,19 +77,19 @@ exports.targetFromURL = Task.async(funct
       }
       let response = yield client.getProcess(id);
       form = response.form;
       chrome = true;
       if (id != 0) {
         // Child process are not exposing tab actors and only support debugger+console
         isTabActor = false;
       }
-    } catch(ex) {
+    } catch (ex) {
       if (ex.error == "noProcess") {
-        throw new Error("targetFromURL, process with id:'" + id+ "' doesn't exist");
+        throw new Error("targetFromURL, process with id:'" + id + "' doesn't exist");
       }
       throw ex;
     }
   } else {
     throw new Error("targetFromURL, unsupported type='" + type + "' parameter");
   }
 
   return TargetFactory.forRemoteTab({ client, form, chrome, isTabActor });
--- a/devtools/client/framework/target.js
+++ b/devtools/client/framework/target.js
@@ -25,17 +25,17 @@ const promiseTargets = new WeakMap();
 exports.TargetFactory = {
   /**
    * Construct a Target
    * @param {XULTab} tab
    *        The tab to use in creating a new target.
    *
    * @return A target object
    */
-  forTab: function(tab) {
+  forTab: function (tab) {
     let target = targets.get(tab);
     if (target == null) {
       target = new TabTarget(tab);
       targets.set(tab, target);
     }
     return target;
   },
 
@@ -47,43 +47,43 @@ exports.TargetFactory = {
    *          form: the remote protocol form of a tab,
    *          client: a DebuggerClient instance
    *                  (caller owns this and is responsible for closing),
    *          chrome: true if the remote target is the whole process
    *        }
    *
    * @return A promise of a target object
    */
-  forRemoteTab: function(options) {
+  forRemoteTab: function (options) {
     let targetPromise = promiseTargets.get(options);
     if (targetPromise == null) {
       let target = new TabTarget(options);
       targetPromise = target.makeRemote().then(() => target);
       promiseTargets.set(options, targetPromise);
     }
     return targetPromise;
   },
 
-  forWorker: function(workerClient) {
+  forWorker: function (workerClient) {
     let target = targets.get(workerClient);
     if (target == null) {
       target = new WorkerTarget(workerClient);
       targets.set(workerClient, target);
     }
     return target;
   },
 
   /**
    * Creating a target for a tab that is being closed is a problem because it
    * allows a leak as a result of coming after the close event which normally
    * clears things up. This function allows us to ask if there is a known
    * target for a tab without creating a target
    * @return true/false
    */
-  isKnownTab: function(tab) {
+  isKnownTab: function (tab) {
     return targets.has(tab);
   },
 };
 
 /**
  * A Target represents something that we can debug. Targets are generally
  * read-only. Any changes that you wish to make to a target should be done via
  * a Tool that attaches to the target. i.e. a Target is just a pointer saying
@@ -178,17 +178,17 @@ TabTarget.prototype = {
    *       "substring": {
    *         "_retval": "primitive"
    *       }
    *     }
    *   }],
    *  "events": {}
    * }
    */
-  getActorDescription: function(actorName) {
+  getActorDescription: function (actorName) {
     if (!this.client) {
       throw new Error("TabTarget#getActorDescription() can only be called on " +
                       "remote tabs.");
     }
 
     let deferred = promise.defer();
 
     if (this._protocolDescription &&
@@ -206,17 +206,17 @@ TabTarget.prototype = {
 
   /**
    * Returns a boolean indicating whether or not the specific actor
    * type exists. Must be a remote target.
    *
    * @param {String} actorName
    * @return {Boolean}
    */
-  hasActor: function(actorName) {
+  hasActor: function (actorName) {
     if (!this.client) {
       throw new Error("TabTarget#hasActor() can only be called on remote " +
                       "tabs.");
     }
     if (this.form) {
       return !!this.form[actorName + "Actor"];
     }
     return false;
@@ -228,17 +228,17 @@ TabTarget.prototype = {
    * the restrictions in the `getActorDescription` comments),
    * so this is for use inside of tool. Returns a promise that
    * resolves to a boolean. Must be a remote target.
    *
    * @param {String} actorName
    * @param {String} methodName
    * @return {Promise}
    */
-  actorHasMethod: function(actorName, methodName) {
+  actorHasMethod: function (actorName, methodName) {
     if (!this.client) {
       throw new Error("TabTarget#actorHasMethod() can only be called on " +
                       "remote tabs.");
     }
     return this.getActorDescription(actorName).then(desc => {
       if (desc && desc.methods) {
         return !!desc.methods.find(method => method.name === methodName);
       }
@@ -247,17 +247,17 @@ TabTarget.prototype = {
   },
 
   /**
    * Returns a trait from the root actor.
    *
    * @param {String} traitName
    * @return {Mixed}
    */
-  getTrait: function(traitName) {
+  getTrait: function (traitName) {
     if (!this.client) {
       throw new Error("TabTarget#getTrait() can only be called on remote " +
                       "tabs.");
     }
 
     // If the targeted actor exposes traits and has a defined value for this
     // traits, override the root actor traits
     if (this.form.traits && traitName in this.form.traits) {
@@ -279,17 +279,17 @@ TabTarget.prototype = {
   // is cached.
   get root() {
     if (!this._root) {
       this._root = this._getRoot();
     }
     return this._root;
   },
 
-  _getRoot: function() {
+  _getRoot: function () {
     return new Promise((resolve, reject) => {
       this.client.listTabs(response => {
         if (response.error) {
           reject(new Error(response.error + ": " + response.message));
           return;
         }
 
         resolve(response);
@@ -361,17 +361,17 @@ TabTarget.prototype = {
     return !this.window;
   },
 
   /**
    * Adds remote protocol capabilities to the target, so that it can be used
    * for tools that support the Remote Debugging Protocol even for local
    * connections.
    */
-  makeRemote: function() {
+  makeRemote: function () {
     if (this._remote) {
       return this._remote.promise;
     }
 
     this._remote = promise.defer();
 
     if (this.isLocalTab) {
       // Since a remote protocol connection will be made, let's start the
@@ -437,41 +437,41 @@ TabTarget.prototype = {
     }
 
     return this._remote.promise;
   },
 
   /**
    * Listen to the different events.
    */
-  _setupListeners: function() {
+  _setupListeners: function () {
     this._webProgressListener = new TabWebProgressListener(this);
     this.tab.linkedBrowser.addProgressListener(this._webProgressListener);
     this.tab.addEventListener("TabClose", this);
     this.tab.parentNode.addEventListener("TabSelect", this);
     this.tab.ownerDocument.defaultView.addEventListener("unload", this);
   },
 
   /**
    * Teardown event listeners.
    */
-  _teardownListeners: function() {
+  _teardownListeners: function () {
     if (this._webProgressListener) {
       this._webProgressListener.destroy();
     }
 
     this._tab.ownerDocument.defaultView.removeEventListener("unload", this);
     this._tab.removeEventListener("TabClose", this);
     this._tab.parentNode.removeEventListener("TabSelect", this);
   },
 
   /**
    * Setup listeners for remote debugging, updating existing ones as necessary.
    */
-  _setupRemoteListeners: function() {
+  _setupRemoteListeners: function () {
     this.client.addListener("closed", this.destroy);
 
     this._onTabDetached = (aType, aPacket) => {
       // We have to filter message to ensure that this detach is for this tab
       if (aPacket.from == this._form.actor) {
         this.destroy();
       }
     };
@@ -512,29 +512,29 @@ TabTarget.prototype = {
     this._onSourceUpdated = (event, packet) => this.emit("source-updated", packet);
     this.client.addListener("newSource", this._onSourceUpdated);
     this.client.addListener("updatedSource", this._onSourceUpdated);
   },
 
   /**
    * Teardown listeners for remote debugging.
    */
-  _teardownRemoteListeners: function() {
+  _teardownRemoteListeners: function () {
     this.client.removeListener("closed", this.destroy);
     this.client.removeListener("tabNavigated", this._onTabNavigated);
     this.client.removeListener("tabDetached", this._onTabDetached);
     this.client.removeListener("frameUpdate", this._onFrameUpdate);
     this.client.removeListener("newSource", this._onSourceUpdated);
     this.client.removeListener("updatedSource", this._onSourceUpdated);
   },
 
   /**
    * Handle tabs events.
    */
-  handleEvent: function(event) {
+  handleEvent: function (event) {
     switch (event.type) {
       case "TabClose":
       case "unload":
         this.destroy();
         break;
       case "TabSelect":
         if (this.tab.selected) {
           this.emit("visible", event);
@@ -543,17 +543,17 @@ TabTarget.prototype = {
         }
         break;
     }
   },
 
   /**
    * Target is not alive anymore.
    */
-  destroy: function() {
+  destroy: function () {
     // If several things call destroy then we give them all the same
     // destruction promise so we're sure to destroy only once
     if (this._destroyer) {
       return this._destroyer.promise;
     }
 
     this._destroyer = promise.defer();
 
@@ -594,33 +594,33 @@ TabTarget.prototype = {
     }
 
     return this._destroyer.promise;
   },
 
   /**
    * Clean up references to what this target points to.
    */
-  _cleanup: function() {
+  _cleanup: function () {
     if (this._tab) {
       targets.delete(this._tab);
     } else {
       promiseTargets.delete(this._form);
     }
 
     this.activeTab = null;
     this.activeConsole = null;
     this._client = null;
     this._tab = null;
     this._form = null;
     this._remote = null;
     this._root = null;
   },
 
-  toString: function() {
+  toString: function () {
     let id = this._tab ? this._tab : (this._form && this._form.actor);
     return `TabTarget:${id}`;
   },
 
   /**
    * @see TabActor.prototype.onResolveLocation
    */
   resolveLocation(loc) {
@@ -646,17 +646,17 @@ function TabWebProgressListener(aTarget)
 }
 
 TabWebProgressListener.prototype = {
   target: null,
 
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener,
                                          Ci.nsISupportsWeakReference]),
 
-  onStateChange: function(progress, request, flag) {
+  onStateChange: function (progress, request, flag) {
     let isStart = flag & Ci.nsIWebProgressListener.STATE_START;
     let isDocument = flag & Ci.nsIWebProgressListener.STATE_IS_DOCUMENT;
     let isNetwork = flag & Ci.nsIWebProgressListener.STATE_IS_NETWORK;
     let isRequest = flag & Ci.nsIWebProgressListener.STATE_IS_REQUEST;
 
     // Skip non-interesting states.
     if (!isStart || !isDocument || !isRequest || !isNetwork) {
       return;
@@ -669,38 +669,38 @@ TabWebProgressListener.prototype = {
       if (this.target._client) {
         this.target._navRequest = request;
       } else {
         this.target.emit("will-navigate", request);
       }
     }
   },
 
-  onProgressChange: function() {},
-  onSecurityChange: function() {},
-  onStatusChange: function() {},
+  onProgressChange: function () {},
+  onSecurityChange: function () {},
+  onStatusChange: function () {},
 
-  onLocationChange: function(webProgress, request, URI, flags) {
+  onLocationChange: function (webProgress, request, URI, flags) {
     if (this.target &&
         !(flags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT)) {
       let window = webProgress.DOMWindow;
       // Emit the event if the target is not remoted or store the payload for
       // later emission otherwise.
       if (this.target._client) {
         this.target._navWindow = window;
       } else {
         this.target.emit("navigate", window);
       }
     }
   },
 
   /**
    * Destroy the progress listener instance.
    */
-  destroy: function() {
+  destroy: function () {
     if (this.target.tab) {
       try {
         this.target.tab.linkedBrowser.removeProgressListener(this);
       } catch (ex) {
         // This can throw when a tab crashes in e10s.
       }
     }
     this.target._webProgressListener = null;
@@ -756,26 +756,26 @@ WorkerTarget.prototype = {
   get activeTab() {
     return this._workerClient;
   },
 
   get client() {
     return this._workerClient.client;
   },
 
-  destroy: function() {},
+  destroy: function () {},
 
   hasActor: function (name) {
     // console is the only one actor implemented by WorkerActor
     if (name == "console") {
       return true;
     }
     return false;
   },
 
-  getTrait: function() {
+  getTrait: function () {
     return undefined;
   },
 
   makeRemote: function () {
     return Promise.resolve();
   }
 };
--- a/devtools/client/framework/test/browser_browser_toolbox_debugger.js
+++ b/devtools/client/framework/test/browser_browser_toolbox_debugger.js
@@ -41,19 +41,19 @@ add_task(function* runTest() {
   // which lives in another process. So do not try to use any scope variable!
   let env = Components.classes["@mozilla.org/process/environment;1"]
                       .getService(Components.interfaces.nsIEnvironment);
   let testScript = function () {
     const { Task } = Components.utils.import("resource://gre/modules/Task.jsm", {});
     dump("Opening the browser toolbox and debugger panel\n");
     let window, document;
     let testUrl = "http://mozilla.org/browser-toolbox-test.js";
-    Task.spawn(function *() {
+    Task.spawn(function* () {
       dump("Waiting for debugger load\n");
-      let panel = yield toolbox.selectTool("jsdebugger")
+      let panel = yield toolbox.selectTool("jsdebugger");
       let window = panel.panelWin;
       let document = window.document;
 
       yield window.once(window.EVENTS.SOURCE_SHOWN);
 
       dump("Loaded, selecting the test script to debug\n");
       let item = document.querySelector(`.dbg-source-item[tooltiptext="${testUrl}"]`);
       let onSourceShown = window.once(window.EVENTS.SOURCE_SHOWN);
--- a/devtools/client/framework/test/browser_devtools_api.js
+++ b/devtools/client/framework/test/browser_devtools_api.js
@@ -1,14 +1,14 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejections should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: this.docShell is null");
 
 // When running in a standalone directory, we get this error
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: this.doc is undefined");
@@ -29,17 +29,17 @@ function test() {
 // Test scenario 1: the tool definition build method returns a promise.
 function runTests1(aTab) {
   let toolDefinition = {
     id: toolId1,
     isTargetSupported: () => true,
     visibilityswitch: "devtools.test-tool.enabled",
     url: "about:blank",
     label: "someLabel",
-    build: function(iframeWindow, toolbox) {
+    build: function (iframeWindow, toolbox) {
       let panel = new DevToolPanel(iframeWindow, toolbox);
       return panel.open();
     },
   };
 
   ok(gDevTools, "gDevTools exists");
   ok(!gDevTools.getToolDefinitionMap().has(toolId1),
     "The tool is not registered");
@@ -90,17 +90,17 @@ function runTests1(aTab) {
 // Test scenario 2: the tool definition build method returns panel instance.
 function runTests2() {
   let toolDefinition = {
     id: toolId2,
     isTargetSupported: () => true,
     visibilityswitch: "devtools.test-tool.enabled",
     url: "about:blank",
     label: "someLabel",
-    build: function(iframeWindow, toolbox) {
+    build: function (iframeWindow, toolbox) {
       return new DevToolPanel(iframeWindow, toolbox);
     },
   };
 
   ok(!gDevTools.getToolDefinitionMap().has(toolId2),
     "The tool is not registered");
 
   gDevTools.registerTool(toolDefinition);
@@ -146,17 +146,17 @@ function runTests2() {
     ok(events["init"], "init event fired");
     ok(events["build"], "build event fired");
     ok(events["ready"], "ready event fired");
 
     continueTests(toolbox);
   });
 }
 
-var continueTests = Task.async(function*(toolbox, panel) {
+var continueTests = Task.async(function* (toolbox, panel) {
   ok(toolbox.getCurrentPanel(), "panel value is correct");
   is(toolbox.currentToolId, toolId2, "toolbox _currentToolId is correct");
 
   ok(!toolbox.doc.getElementById("toolbox-tab-" + toolId2).hasAttribute("icon-invertable"),
     "The tool tab does not have the invertable attribute");
 
   ok(toolbox.doc.getElementById("toolbox-tab-inspector").hasAttribute("icon-invertable"),
     "The builtin tool tabs do have the invertable attribute");
@@ -165,47 +165,47 @@ var continueTests = Task.async(function*
   ok(toolDefinitions.has(toolId2), "The tool is in gDevTools");
 
   let toolDefinition = toolDefinitions.get(toolId2);
   is(toolDefinition.id, toolId2, "toolDefinition id is correct");
 
   info("Testing toolbox tool-unregistered event");
   let toolSelected = toolbox.once("select");
   let unregisteredTool = yield new Promise(resolve => {
-    toolbox.once("tool-unregistered", (e,id) => resolve(id));
+    toolbox.once("tool-unregistered", (e, id) => resolve(id));
     gDevTools.unregisterTool(toolId2);
   });
   yield toolSelected;
 
   is(unregisteredTool, toolId2, "Event returns correct id");
   ok(!toolbox.isToolRegistered(toolId2),
     "Toolbox: The tool is not registered");
   ok(!gDevTools.getToolDefinitionMap().has(toolId2),
     "The tool is no longer registered");
 
   info("Testing toolbox tool-registered event");
   let registeredTool = yield new Promise(resolve => {
-    toolbox.once("tool-registered", (e,id) => resolve(id));
+    toolbox.once("tool-registered", (e, id) => resolve(id));
     gDevTools.registerTool(toolDefinition);
   });
 
   is(registeredTool, toolId2, "Event returns correct id");
   ok(toolbox.isToolRegistered(toolId2),
     "Toolbox: The tool is registered");
   ok(gDevTools.getToolDefinitionMap().has(toolId2),
     "The tool is registered");
 
-  info("Unregistering tool")
+  info("Unregistering tool");
   gDevTools.unregisterTool(toolId2);
 
   destroyToolbox(toolbox);
 });
 
 function destroyToolbox(toolbox) {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     let target = TargetFactory.forTab(gBrowser.selectedTab);
     ok(gDevTools._toolboxes.get(target) == null, "gDevTools doesn't know about target");
     ok(toolbox._target == null, "toolbox doesn't know about target.");
     finishUp();
   });
 }
 
 function finishUp() {
@@ -222,26 +222,26 @@ function finishUp() {
 * There may be no benefit in doing this as an abstract type, but if nothing
 * else gives us a place to write documentation.
 */
 function DevToolPanel(iframeWindow, toolbox) {
   EventEmitter.decorate(this);
 
   this._toolbox = toolbox;
 
-  /*let doc = iframeWindow.document
+  /* let doc = iframeWindow.document
   let label = doc.createElement("label");
   let textNode = doc.createTextNode("Some Tool");
 
   label.appendChild(textNode);
   doc.body.appendChild(label);*/
 }
 
 DevToolPanel.prototype = {
-  open: function() {
+  open: function () {
     let deferred = promise.defer();
 
     executeSoon(() => {
       this._isReady = true;
       this.emit("ready");
       deferred.resolve(this);
     });
 
--- a/devtools/client/framework/test/browser_devtools_api_destroy.js
+++ b/devtools/client/framework/test/browser_devtools_api_destroy.js
@@ -11,36 +11,36 @@ function test() {
 
 function runTests(aTab) {
   let toolDefinition = {
     id: "testTool",
     visibilityswitch: "devtools.testTool.enabled",
     isTargetSupported: () => true,
     url: "about:blank",
     label: "someLabel",
-    build: function(iframeWindow, toolbox) {
+    build: function (iframeWindow, toolbox) {
       let deferred = promise.defer();
       executeSoon(() => {
         deferred.resolve({
           target: toolbox.target,
           toolbox: toolbox,
           isReady: true,
-          destroy: function(){},
+          destroy: function () {},
         });
       });
       return deferred.promise;
     },
   };
 
   gDevTools.registerTool(toolDefinition);
 
   let collectedEvents = [];
 
   let target = TargetFactory.forTab(aTab);
-  gDevTools.showToolbox(target, toolDefinition.id).then(function(toolbox) {
+  gDevTools.showToolbox(target, toolDefinition.id).then(function (toolbox) {
     let panel = toolbox.getPanel(toolDefinition.id);
     ok(panel, "Tool open");
 
     gDevTools.once("toolbox-destroy", (event, toolbox, iframe) => {
       collectedEvents.push(event);
     });
 
     gDevTools.once(toolDefinition.id + "-destroy", (event, toolbox, iframe) => {
@@ -50,22 +50,22 @@ function runTests(aTab) {
     toolbox.once("destroy", (event) => {
       collectedEvents.push(event);
     });
 
     toolbox.once(toolDefinition.id + "-destroy", (event) => {
       collectedEvents.push("toolbox-" + event);
     });
 
-    toolbox.destroy().then(function() {
+    toolbox.destroy().then(function () {
       is(collectedEvents.join(":"),
         "toolbox-destroy:destroy:gDevTools-testTool-destroy:toolbox-testTool-destroy",
         "Found the right amount of collected events.");
 
       gDevTools.unregisterTool(toolDefinition.id);
       gBrowser.removeCurrentTab();
 
-      executeSoon(function() {
+      executeSoon(function () {
         finish();
       });
     });
   });
 }
--- a/devtools/client/framework/test/browser_ignore_toolbox_network_requests.js
+++ b/devtools/client/framework/test/browser_ignore_toolbox_network_requests.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that network requests originating from the toolbox don't get recorded in
 // the network panel.
 
-add_task(function*() {
+add_task(function* () {
   // TODO: This test tries to verify the normal behavior of the netmonitor and
   // therefore needs to avoid the explicit check for tests. Bug 1167188 will
   // allow us to remove this workaround.
   let isTesting = DevToolsUtils.testing;
   DevToolsUtils.testing = false;
 
   let tab = yield addTab(URL_ROOT + "doc_viewsource.html");
   let target = TargetFactory.forTab(tab);
--- a/devtools/client/framework/test/browser_keybindings_01.js
+++ b/devtools/client/framework/test/browser_keybindings_01.js
@@ -23,17 +23,17 @@ function test()
     waitForFocus(setupKeyBindingsTest);
   }, true);
 
   content.location = "data:text/html,<html><head><title>Test for the " +
                      "highlighter keybindings</title></head><body>" +
                      "<h1>Keybindings!</h1></body></html>";
 
   function buildDevtoolsKeysetMap(keyset) {
-    [].forEach.call(keyset.querySelectorAll("key"), function(key) {
+    [].forEach.call(keyset.querySelectorAll("key"), function (key) {
 
       if (!key.getAttribute("key")) {
         return;
       }
 
       let modifiers = key.getAttribute("modifiers");
 
       keysetMap[key.id.split("_")[1]] = {
@@ -41,20 +41,20 @@ function test()
         modifiers: modifiers,
         modifierOpt: {
           shiftKey: modifiers.match("shift"),
           ctrlKey: modifiers.match("ctrl"),
           altKey: modifiers.match("alt"),
           metaKey: modifiers.match("meta"),
           accelKey: modifiers.match("accel")
         },
-        synthesizeKey: function() {
+        synthesizeKey: function () {
           EventUtils.synthesizeKey(this.key, this.modifierOpt);
         }
-      }
+      };
     });
   }
 
   function setupKeyBindingsTest()
   {
     for (let win of gDevToolsBrowser._trackedBrowserWindows) {
       buildDevtoolsKeysetMap(win.document.getElementById("devtoolsKeyset"));
     }
@@ -63,17 +63,17 @@ function test()
       inspectorShouldBeOpenAndHighlighting(toolbox.getCurrentPanel(), toolbox);
     });
 
     keysetMap.inspector.synthesizeKey();
   }
 
   function inspectorShouldBeOpenAndHighlighting(aInspector, aToolbox)
   {
-    is (aToolbox.currentToolId, "inspector", "Correct tool has been loaded");
+    is(aToolbox.currentToolId, "inspector", "Correct tool has been loaded");
 
     aToolbox.once("picker-started", () => {
       ok(true, "picker-started event received, highlighter started");
       keysetMap.inspector.synthesizeKey();
 
       aToolbox.once("picker-stopped", () => {
         ok(true, "picker-stopped event received, highlighter stopped");
         gDevTools.once("select-tool-command", () => {
@@ -81,39 +81,39 @@ function test()
         });
         keysetMap.webconsole.synthesizeKey();
       });
     });
   }
 
   function webconsoleShouldBeSelected(aToolbox)
   {
-      is (aToolbox.currentToolId, "webconsole", "webconsole should be selected.");
+    is(aToolbox.currentToolId, "webconsole", "webconsole should be selected.");
 
-      gDevTools.once("select-tool-command", () => {
-        jsdebuggerShouldBeSelected(aToolbox);
-      });
-      keysetMap.jsdebugger.synthesizeKey();
+    gDevTools.once("select-tool-command", () => {
+      jsdebuggerShouldBeSelected(aToolbox);
+    });
+    keysetMap.jsdebugger.synthesizeKey();
   }
 
   function jsdebuggerShouldBeSelected(aToolbox)
   {
-      is (aToolbox.currentToolId, "jsdebugger", "jsdebugger should be selected.");
+    is(aToolbox.currentToolId, "jsdebugger", "jsdebugger should be selected.");
 
-      gDevTools.once("select-tool-command", () => {
-        netmonitorShouldBeSelected(aToolbox);
-      });
+    gDevTools.once("select-tool-command", () => {
+      netmonitorShouldBeSelected(aToolbox);
+    });
 
-      keysetMap.netmonitor.synthesizeKey();
+    keysetMap.netmonitor.synthesizeKey();
   }
 
   function netmonitorShouldBeSelected(aToolbox, panel)
   {
-      is (aToolbox.currentToolId, "netmonitor", "netmonitor should be selected.");
-      finishUp();
+    is(aToolbox.currentToolId, "netmonitor", "netmonitor should be selected.");
+    finishUp();
   }
 
   function finishUp() {
     doc = node = inspector = keysetMap = null;
     gBrowser.removeCurrentTab();
     finish();
   }
 }
--- a/devtools/client/framework/test/browser_keybindings_02.js
+++ b/devtools/client/framework/test/browser_keybindings_02.js
@@ -6,17 +6,17 @@
 "use strict";
 
 // Test that the toolbox keybindings still work after the host is changed.
 
 const URL = "data:text/html;charset=utf8,test page";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   info("Create a test tab and open the toolbox");
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   let toolbox = yield gDevTools.showToolbox(target, "webconsole");
 
   let {SIDE, BOTTOM} = Toolbox.HostType;
   for (let type of [SIDE, BOTTOM, SIDE]) {
     info("Switch to host type " + type);
--- a/devtools/client/framework/test/browser_keybindings_03.js
+++ b/devtools/client/framework/test/browser_keybindings_03.js
@@ -7,41 +7,41 @@
 
 // Test that the toolbox 'switch to previous host' feature works.
 // Pressing ctrl/cmd+shift+d should switch to the last used host.
 
 const URL = "data:text/html;charset=utf8,test page for toolbox switching";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   info("Create a test tab and open the toolbox");
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   let toolbox = yield gDevTools.showToolbox(target, "webconsole");
 
   let keyElement = toolbox.doc.getElementById("toolbox-toggle-host-key");
 
   let {SIDE, BOTTOM, WINDOW} = Toolbox.HostType;
   checkHostType(toolbox, BOTTOM, SIDE);
 
-  info ("Switching from bottom to side");
+  info("Switching from bottom to side");
   synthesizeKeyElement(keyElement);
   yield toolbox.once("host-changed");
   checkHostType(toolbox, SIDE, BOTTOM);
 
-  info ("Switching from side to bottom");
+  info("Switching from side to bottom");
   synthesizeKeyElement(keyElement);
   yield toolbox.once("host-changed");
   checkHostType(toolbox, BOTTOM, SIDE);
 
-  info ("Switching to window");
+  info("Switching to window");
   yield toolbox.switchHost(WINDOW);
   checkHostType(toolbox, WINDOW, BOTTOM);
 
-  info ("Switching from window to bottom");
+  info("Switching from window to bottom");
   synthesizeKeyElement(keyElement);
   yield toolbox.once("host-changed");
   checkHostType(toolbox, BOTTOM, WINDOW);
 
   yield toolbox.destroy();
   gBrowser.removeCurrentTab();
 });
--- a/devtools/client/framework/test/browser_new_activation_workflow.js
+++ b/devtools/client/framework/test/browser_new_activation_workflow.js
@@ -5,67 +5,67 @@
 
 // Tests devtools API
 
 var toolbox, target;
 
 var tempScope = {};
 
 function test() {
-  addTab("about:blank").then(function(aTab) {
+  addTab("about:blank").then(function (aTab) {
     target = TargetFactory.forTab(gBrowser.selectedTab);
-    loadWebConsole(aTab).then(function() {
-      console.log('loaded');
+    loadWebConsole(aTab).then(function () {
+      console.log("loaded");
     });
   });
 }
 
 function loadWebConsole(aTab) {
   ok(gDevTools, "gDevTools exists");
 
-  return gDevTools.showToolbox(target, "webconsole").then(function(aToolbox) {
+  return gDevTools.showToolbox(target, "webconsole").then(function (aToolbox) {
     toolbox = aToolbox;
     checkToolLoading();
   });
 }
 
 function checkToolLoading() {
   is(toolbox.currentToolId, "webconsole", "The web console is selected");
-  ok(toolbox.isReady, "toolbox is ready")
+  ok(toolbox.isReady, "toolbox is ready");
 
-  selectAndCheckById("jsdebugger").then(function() {
-    selectAndCheckById("styleeditor").then(function() {
+  selectAndCheckById("jsdebugger").then(function () {
+    selectAndCheckById("styleeditor").then(function () {
       testToggle();
     });
   });
 }
 
 function selectAndCheckById(id) {
   let doc = toolbox.frame.contentDocument;
 
-  return toolbox.selectTool(id).then(function() {
+  return toolbox.selectTool(id).then(function () {
     let tab = doc.getElementById("toolbox-tab-" + id);
     is(tab.hasAttribute("selected"), true, "The " + id + " tab is selected");
   });
 }
 
 function testToggle() {
   toolbox.once("destroyed", () => {
     // Cannot reuse a target after it's destroyed.
     target = TargetFactory.forTab(gBrowser.selectedTab);
-    gDevTools.showToolbox(target, "styleeditor").then(function(aToolbox) {
+    gDevTools.showToolbox(target, "styleeditor").then(function (aToolbox) {
       toolbox = aToolbox;
       is(toolbox.currentToolId, "styleeditor", "The style editor is selected");
       finishUp();
     });
   });
 
   toolbox.destroy();
 }
 
 function finishUp() {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     toolbox = null;
     target = null;
     gBrowser.removeCurrentTab();
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_source-location-01.js
+++ b/devtools/client/framework/test/browser_source-location-01.js
@@ -15,24 +15,24 @@ thisTestLeaksUncaughtRejectionsAndShould
 
 const DEBUGGER_ROOT = "http://example.com/browser/devtools/client/debugger/test/mochitest/";
 // Empty page
 const PAGE_URL = `${DEBUGGER_ROOT}doc_empty-tab-01.html`;
 const JS_URL = `${DEBUGGER_ROOT}code_binary_search.js`;
 const COFFEE_URL = `${DEBUGGER_ROOT}code_binary_search.coffee`;
 const { SourceLocationController } = require("devtools/client/framework/source-location");
 
-add_task(function*() {
+add_task(function* () {
   let toolbox = yield openNewTabAndToolbox(PAGE_URL, "jsdebugger");
 
   let controller = new SourceLocationController(toolbox.target);
 
   let aggregator = [];
 
-  function onUpdate (oldLoc, newLoc) {
+  function onUpdate(oldLoc, newLoc) {
     if (oldLoc.line === 6) {
       checkLoc1(oldLoc, newLoc);
     } else if (oldLoc.line === 8) {
       checkLoc2(oldLoc, newLoc);
     } else if (oldLoc.line === 2) {
       checkLoc3(oldLoc, newLoc);
     } else {
       throw new Error(`Unexpected location update: ${JSON.stringify(oldLoc)}`);
@@ -57,44 +57,44 @@ add_task(function*() {
   ok(aggregator.find(i => i.url === COFFEE_URL && i.line === 6), "found second updated location");
   ok(aggregator.find(i => i.url === COFFEE_URL && i.line === 2), "found third updated location");
 
   yield toolbox.destroy();
   gBrowser.removeCurrentTab();
   finish();
 });
 
-function checkLoc1 (oldLoc, newLoc) {
+function checkLoc1(oldLoc, newLoc) {
   is(oldLoc.line, 6, "Correct line for JS:6");
   is(oldLoc.column, null, "Correct column for JS:6");
   is(oldLoc.url, JS_URL, "Correct url for JS:6");
   is(newLoc.line, 4, "Correct line for JS:6 -> COFFEE");
   is(newLoc.column, 2, "Correct column for JS:6 -> COFFEE -- handles falsy column entries");
   is(newLoc.url, COFFEE_URL, "Correct url for JS:6 -> COFFEE");
 }
 
-function checkLoc2 (oldLoc, newLoc) {
+function checkLoc2(oldLoc, newLoc) {
   is(oldLoc.line, 8, "Correct line for JS:8:3");
   is(oldLoc.column, 3, "Correct column for JS:8:3");
   is(oldLoc.url, JS_URL, "Correct url for JS:8:3");
   is(newLoc.line, 6, "Correct line for JS:8:3 -> COFFEE");
   is(newLoc.column, 10, "Correct column for JS:8:3 -> COFFEE");
   is(newLoc.url, COFFEE_URL, "Correct url for JS:8:3 -> COFFEE");
 }
 
-function checkLoc3 (oldLoc, newLoc) {
+function checkLoc3(oldLoc, newLoc) {
   is(oldLoc.line, 2, "Correct line for COFFEE:2:0");
   is(oldLoc.column, 0, "Correct column for COFFEE:2:0");
   is(oldLoc.url, COFFEE_URL, "Correct url for COFFEE:2:0");
   is(newLoc.line, 2, "Correct line for COFFEE:2:0 -> COFFEE");
   is(newLoc.column, 0, "Correct column for COFFEE:2:0 -> COFFEE");
   is(newLoc.url, COFFEE_URL, "Correct url for COFFEE:2:0 -> COFFEE");
 }
 
-function createScript (url) {
+function createScript(url) {
   info(`Creating script: ${url}`);
   let mm = getFrameScript();
   let command = `
     let script = document.createElement("script");
     script.setAttribute("src", "${url}");
     document.body.appendChild(script);
     null;
   `;
--- a/devtools/client/framework/test/browser_source-location-02.js
+++ b/devtools/client/framework/test/browser_source-location-02.js
@@ -8,25 +8,25 @@
  */
 
 const DEBUGGER_ROOT = "http://example.com/browser/devtools/client/debugger/test/mochitest/";
 // Empty page
 const PAGE_URL = `${DEBUGGER_ROOT}doc_empty-tab-01.html`;
 const JS_URL = `${URL_ROOT}code_ugly.js`;
 const { SourceLocationController } = require("devtools/client/framework/source-location");
 
-add_task(function*() {
+add_task(function* () {
   let toolbox = yield openNewTabAndToolbox(PAGE_URL, "jsdebugger");
 
   let controller = new SourceLocationController(toolbox.target);
 
   let checkedPretty = false;
   let checkedUnpretty = false;
 
-  function onUpdate (oldLoc, newLoc) {
+  function onUpdate(oldLoc, newLoc) {
     if (oldLoc.line === 3) {
       checkPrettified(oldLoc, newLoc);
       checkedPretty = true;
     } else if (oldLoc.line === 9) {
       checkUnprettified(oldLoc, newLoc);
       checkedUnpretty = true;
     } else {
       throw new Error(`Unexpected location update: ${JSON.stringify(oldLoc)}`);
@@ -54,51 +54,51 @@ add_task(function*() {
   yield waitUntil(() => checkedUnpretty);
   */
 
   yield toolbox.destroy();
   gBrowser.removeCurrentTab();
   finish();
 });
 
-function checkPrettified (oldLoc, newLoc) {
+function checkPrettified(oldLoc, newLoc) {
   is(oldLoc.line, 3, "Correct line for JS:3");
   is(oldLoc.column, null, "Correct column for JS:3");
   is(oldLoc.url, JS_URL, "Correct url for JS:3");
   is(newLoc.line, 9, "Correct line for JS:3 -> PRETTY");
   is(newLoc.column, 0, "Correct column for JS:3 -> PRETTY");
   is(newLoc.url, JS_URL, "Correct url for JS:3 -> PRETTY");
 }
 
-function checkUnprettified (oldLoc, newLoc) {
+function checkUnprettified(oldLoc, newLoc) {
   is(oldLoc.line, 9, "Correct line for JS:3 -> PRETTY");
   is(oldLoc.column, 0, "Correct column for JS:3 -> PRETTY");
   is(oldLoc.url, JS_URL, "Correct url for JS:3 -> PRETTY");
   is(newLoc.line, 3, "Correct line for JS:3 -> UNPRETTIED");
   is(newLoc.column, null, "Correct column for JS:3 -> UNPRETTIED");
   is(newLoc.url, JS_URL, "Correct url for JS:3 -> UNPRETTIED");
 }
 
-function createScript (url) {
+function createScript(url) {
   info(`Creating script: ${url}`);
   let mm = getFrameScript();
   let command = `
     let script = document.createElement("script");
     script.setAttribute("src", "${url}");
     document.body.appendChild(script);
   `;
   return evalInDebuggee(mm, command);
 }
 
-function waitForSourceShown (debuggerPanel, url) {
+function waitForSourceShown(debuggerPanel, url) {
   let { panelWin } = debuggerPanel;
   let deferred = promise.defer();
 
   info(`Waiting for source ${url} to be shown in the debugger...`);
-  panelWin.on(panelWin.EVENTS.SOURCE_SHOWN, function onSourceShown (_, source) {
+  panelWin.on(panelWin.EVENTS.SOURCE_SHOWN, function onSourceShown(_, source) {
     let sourceUrl = source.url || source.introductionUrl;
 
     if (sourceUrl.includes(url)) {
       panelWin.off(panelWin.EVENTS.SOURCE_SHOWN, onSourceShown);
       info(`Source shown for ${url}`);
       deferred.resolve(source);
     }
   });
--- a/devtools/client/framework/test/browser_target_from_url.js
+++ b/devtools/client/framework/test/browser_target_from_url.js
@@ -1,51 +1,51 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_target-from-url.js</p>";
 
 const { targetFromURL } = require("devtools/client/framework/target-from-url");
 
-function assertIsTabTarget(target, chrome=false) {
+function assertIsTabTarget(target, chrome = false) {
   is(target.url, TEST_URI);
   is(target.isLocalTab, false);
   is(target.chrome, chrome);
   is(target.isTabActor, true);
   is(target.isRemote, true);
 }
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab(TEST_URI);
   let browser = tab.linkedBrowser;
   let target;
 
   info("Test invalid type");
   try {
     yield targetFromURL(new URL("http://foo?type=x"));
     ok(false, "Shouldn't pass");
-  } catch(e) {
+  } catch (e) {
     is(e.message, "targetFromURL, unsupported type='x' parameter");
   }
 
   info("Test tab");
   let windowId = browser.outerWindowID;
   target = yield targetFromURL(new URL("http://foo?type=tab&id=" + windowId));
   assertIsTabTarget(target);
 
   info("Test tab with chrome privileges");
   target = yield targetFromURL(new URL("http://foo?type=tab&id=" + windowId + "&chrome"));
   assertIsTabTarget(target, true);
 
   info("Test invalid tab id");
   try {
     yield targetFromURL(new URL("http://foo?type=tab&id=1"));
     ok(false, "Shouldn't pass");
-  } catch(e) {
+  } catch (e) {
     is(e.message, "targetFromURL, tab with outerWindowID:'1' doesn't exist");
   }
 
   info("Test parent process");
   target = yield targetFromURL(new URL("http://foo?type=process"));
   let topWindow = Services.wm.getMostRecentWindow("navigator:browser");
   is(target.url, topWindow.location.href);
   is(target.isLocalTab, false);
--- a/devtools/client/framework/test/browser_target_support.js
+++ b/devtools/client/framework/test/browser_target_support.js
@@ -4,17 +4,17 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test support methods on Target, such as `hasActor`, `getActorDescription`,
 // `actorHasMethod` and `getTrait`.
 
 var { WebAudioFront } =
   require("devtools/server/actors/webaudio");
 
-function* testTarget (client, target) {
+function* testTarget(client, target) {
   yield target.makeRemote();
 
   is(target.hasActor("timeline"), true, "target.hasActor() true when actor exists.");
   is(target.hasActor("webaudio"), true, "target.hasActor() true when actor exists.");
   is(target.hasActor("notreal"), false, "target.hasActor() false when actor does not exist.");
   // Create a front to ensure the actor is loaded
   let front = new WebAudioFront(target.client, target.form);
 
@@ -60,15 +60,15 @@ function test() {
       client: client,
       chrome: true
     };
 
     TargetFactory.forRemoteTab(options).then(Task.async(testTarget).bind(null, client));
   });
 }
 
-function close (target, client) {
+function close(target, client) {
   target.on("close", () => {
     ok(true, "Target was closed");
     finish();
   });
   client.close();
 }
--- a/devtools/client/framework/test/browser_toolbox_dynamic_registration.js
+++ b/devtools/client/framework/test/browser_toolbox_dynamic_registration.js
@@ -15,25 +15,25 @@ function test()
     gDevTools.showToolbox(target).then(testRegister);
   }, true);
 
   content.location = "data:text/html,test for dynamically registering and unregistering tools";
 }
 
 function testRegister(aToolbox)
 {
-  toolbox = aToolbox
+  toolbox = aToolbox;
   gDevTools.once("tool-registered", toolRegistered);
 
   gDevTools.registerTool({
     id: "test-tool",
     label: "Test Tool",
     inMenu: true,
     isTargetSupported: () => true,
-    build: function() {},
+    build: function () {},
     key: "t"
   });
 }
 
 function toolRegistered(event, toolId)
 {
   is(toolId, "test-tool", "tool-registered event handler sent tool id");
 
@@ -86,17 +86,17 @@ function toolUnregistered(event, toolDef
   let tab = doc.getElementById("toolbox-tab-" + toolId);
   ok(!tab, "tool's tab was removed from the toolbox UI");
 
   let panel = doc.getElementById("toolbox-panel-" + toolId);
   ok(!panel, "tool's panel was removed from toolbox UI");
 
   for (let win of getAllBrowserWindows()) {
     let key = win.document.getElementById("key_" + toolId);
-    ok(!key , "key removed from every browser window");
+    ok(!key, "key removed from every browser window");
     let menuitem = win.document.getElementById("menuitem_" + toolId);
     ok(!menuitem, "menu item removed from every browser window");
   }
 
   cleanup();
 }
 
 function cleanup()
--- a/devtools/client/framework/test/browser_toolbox_getpanelwhenready.js
+++ b/devtools/client/framework/test/browser_toolbox_getpanelwhenready.js
@@ -5,30 +5,30 @@
 
 // Tests that getPanelWhenReady returns the correct panel in promise
 // resolutions regardless of whether it has opened first.
 
 var toolbox = null;
 
 const URL = "data:text/html;charset=utf8,test for getPanelWhenReady";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   toolbox = yield gDevTools.showToolbox(target);
 
   let debuggerPanelPromise = toolbox.getPanelWhenReady("jsdebugger");
   yield toolbox.selectTool("jsdebugger");
   let debuggerPanel = yield debuggerPanelPromise;
 
-  is (debuggerPanel, toolbox.getPanel("jsdebugger"),
+  is(debuggerPanel, toolbox.getPanel("jsdebugger"),
       "The debugger panel from getPanelWhenReady before loading is the actual panel");
 
   let debuggerPanel2 = yield toolbox.getPanelWhenReady("jsdebugger");
-  is (debuggerPanel2, toolbox.getPanel("jsdebugger"),
+  is(debuggerPanel2, toolbox.getPanel("jsdebugger"),
       "The debugger panel from getPanelWhenReady after loading is the actual panel");
 
   yield cleanup();
 });
 
 function* cleanup() {
   yield toolbox.destroy();
   gBrowser.removeCurrentTab();
--- a/devtools/client/framework/test/browser_toolbox_highlight.js
+++ b/devtools/client/framework/test/browser_toolbox_highlight.js
@@ -12,19 +12,19 @@ function test() {
 
   const TOOL_ID_1 = "jsdebugger";
   const TOOL_ID_2 = "webconsole";
 
   addTab(URL).then(() => {
     let target = TargetFactory.forTab(gBrowser.selectedTab);
     gDevTools.showToolbox(target, TOOL_ID_1, Toolbox.HostType.BOTTOM)
              .then(aToolbox => {
-                toolbox = aToolbox;
+               toolbox = aToolbox;
                 // select tool 2
-                toolbox.selectTool(TOOL_ID_2)
+               toolbox.selectTool(TOOL_ID_2)
                        // and highlight the first one
                        .then(highlightTab.bind(null, TOOL_ID_1))
                        // to see if it has the proper class.
                        .then(checkHighlighted.bind(null, TOOL_ID_1))
                        // Now switch back to first tool
                        .then(() => toolbox.selectTool(TOOL_ID_1))
                        // to check again. But there is no easy way to test if
                        // it is showing orange or not.
@@ -34,24 +34,24 @@ function test() {
                        // and check again.
                        .then(checkHighlighted.bind(null, TOOL_ID_1))
                        // Now unhighlight the tool
                        .then(unhighlightTab.bind(null, TOOL_ID_1))
                        // to see the classes gone.
                        .then(checkNoHighlight.bind(null, TOOL_ID_1))
                        // Now close the toolbox and exit.
                        .then(() => executeSoon(() => {
-                          toolbox.destroy()
+                         toolbox.destroy()
                                  .then(() => {
                                    toolbox = null;
                                    gBrowser.removeCurrentTab();
                                    finish();
                                  });
-                        }));
-              });
+                       }));
+             });
   });
 }
 
 function highlightTab(toolId) {
   info("Highlighting tool " + toolId + "'s tab.");
   toolbox.highlightTool(toolId);
 }
 
--- a/devtools/client/framework/test/browser_toolbox_hosts.js
+++ b/devtools/client/framework/test/browser_toolbox_hosts.js
@@ -114,24 +114,24 @@ function* testPreviousHost() {
   info("Switching to window");
   yield toolbox.switchHost(WINDOW);
   checkHostType(toolbox, WINDOW, BOTTOM);
 
   info("Switching from window to bottom");
   yield toolbox.switchToPreviousHost();
   checkHostType(toolbox, BOTTOM, WINDOW);
 
-  info("Forcing the previous host to match the current (bottom)")
+  info("Forcing the previous host to match the current (bottom)");
   Services.prefs.setCharPref("devtools.toolbox.previousHost", BOTTOM);
 
   info("Switching from bottom to side (since previous=current=bottom");
   yield toolbox.switchToPreviousHost();
   checkHostType(toolbox, SIDE, BOTTOM);
 
-  info("Forcing the previous host to match the current (side)")
+  info("Forcing the previous host to match the current (side)");
   Services.prefs.setCharPref("devtools.toolbox.previousHost", SIDE);
   info("Switching from side to bottom (since previous=current=side");
   yield toolbox.switchToPreviousHost();
   checkHostType(toolbox, BOTTOM, SIDE);
 }
 
 function checkToolboxLoaded(iframe) {
   let tabs = iframe.contentDocument.getElementById("toolbox-tabs");
--- a/devtools/client/framework/test/browser_toolbox_hosts_size.js
+++ b/devtools/client/framework/test/browser_toolbox_hosts_size.js
@@ -5,62 +5,62 @@
 
 // Tests that getPanelWhenReady returns the correct panel in promise
 // resolutions regardless of whether it has opened first.
 
 const URL = "data:text/html;charset=utf8,test for host sizes";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   // Set size prefs to make the hosts way too big, so that the size has
   // to be clamped to fit into the browser window.
   Services.prefs.setIntPref("devtools.toolbox.footer.height", 10000);
   Services.prefs.setIntPref("devtools.toolbox.sidebar.width", 10000);
 
   let tab = yield addTab(URL);
   let nbox = gBrowser.getNotificationBox();
   let {clientHeight: nboxHeight, clientWidth: nboxWidth} = nbox;
   let toolbox = yield gDevTools.showToolbox(TargetFactory.forTab(tab));
 
-  is (nbox.clientHeight, nboxHeight, "Opening the toolbox hasn't changed the height of the nbox");
-  is (nbox.clientWidth, nboxWidth, "Opening the toolbox hasn't changed the width of the nbox");
+  is(nbox.clientHeight, nboxHeight, "Opening the toolbox hasn't changed the height of the nbox");
+  is(nbox.clientWidth, nboxWidth, "Opening the toolbox hasn't changed the width of the nbox");
 
   let iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-bottom-iframe");
-  is (iframe.clientHeight, nboxHeight - 25, "The iframe fits within the available space");
+  is(iframe.clientHeight, nboxHeight - 25, "The iframe fits within the available space");
 
   yield toolbox.switchHost(Toolbox.HostType.SIDE);
   iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-side-iframe");
   iframe.style.minWidth = "1px"; // Disable the min width set in css
-  is (iframe.clientWidth, nboxWidth - 25, "The iframe fits within the available space");
+  is(iframe.clientWidth, nboxWidth - 25, "The iframe fits within the available space");
 
   yield cleanup(toolbox);
 });
 
-add_task(function*() {
+add_task(function* () {
   // Set size prefs to something reasonable, so we can check to make sure
   // they are being set properly.
   Services.prefs.setIntPref("devtools.toolbox.footer.height", 100);
   Services.prefs.setIntPref("devtools.toolbox.sidebar.width", 100);
 
   let tab = yield addTab(URL);
   let nbox = gBrowser.getNotificationBox();
   let {clientHeight: nboxHeight, clientWidth: nboxWidth} = nbox;
   let toolbox = yield gDevTools.showToolbox(TargetFactory.forTab(tab));
 
-  is (nbox.clientHeight, nboxHeight, "Opening the toolbox hasn't changed the height of the nbox");
-  is (nbox.clientWidth, nboxWidth, "Opening the toolbox hasn't changed the width of the nbox");
+  is(nbox.clientHeight, nboxHeight, "Opening the toolbox hasn't changed the height of the nbox");
+  is(nbox.clientWidth, nboxWidth, "Opening the toolbox hasn't changed the width of the nbox");
 
   let iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-bottom-iframe");
-  is (iframe.clientHeight, 100, "The iframe is resized properly");
+  is(iframe.clientHeight, 100, "The iframe is resized properly");
 
   yield toolbox.switchHost(Toolbox.HostType.SIDE);
   iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-side-iframe");
   iframe.style.minWidth = "1px"; // Disable the min width set in css
-  is (iframe.clientWidth, 100, "The iframe is resized properly");
+  is(iframe.clientWidth, 100, "The iframe is resized properly");
 
   yield cleanup(toolbox);
 });
 
 function* cleanup(toolbox) {
   Services.prefs.clearUserPref("devtools.toolbox.host");
   Services.prefs.clearUserPref("devtools.toolbox.footer.height");
   Services.prefs.clearUserPref("devtools.toolbox.sidebar.width");
--- a/devtools/client/framework/test/browser_toolbox_keyboard_navigation.js
+++ b/devtools/client/framework/test/browser_toolbox_keyboard_navigation.js
@@ -21,17 +21,17 @@ function containsFocus(aDoc, aElm) {
 
 function testFocus(aDoc, aToolbar, aElm) {
   let id = aElm.id;
   is(aToolbar.getAttribute("aria-activedescendant"), id,
     `Active descendant is set to a new control: ${id}`);
   is(aDoc.activeElement.id, id, "New control is focused");
 }
 
-add_task(function*() {
+add_task(function* () {
   info("Create a test tab and open the toolbox");
   let toolbox = yield openNewTabAndToolbox(TEST_URL, "webconsole");
   let doc = toolbox.doc;
 
   let toolbar = doc.querySelector(".devtools-tabbar");
   let toolbarControls = [...toolbar.querySelectorAll(
     ".devtools-tab, toolbarbutton")].filter(elm =>
       !elm.hidden && doc.defaultView.getComputedStyle(elm).getPropertyValue(
--- a/devtools/client/framework/test/browser_toolbox_minimize.js
+++ b/devtools/client/framework/test/browser_toolbox_minimize.js
@@ -9,17 +9,17 @@
 // minimized to just the tabbar height, and maximized again.
 // Also test that while minimized, switching to a tool, clicking on the
 // settings, or clicking on the selected tool's tab maximizes the toolbox again.
 // Finally test that the minimize button doesn't exist in other host types.
 
 const URL = "data:text/html;charset=utf8,test page";
 const {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   info("Create a test tab and open the toolbox");
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   let toolbox = yield gDevTools.showToolbox(target, "webconsole");
 
   let button = toolbox.doc.querySelector("#toolbox-dock-bottom-minimize");
   ok(button, "The minimize button exists in the default bottom host");
 
--- a/devtools/client/framework/test/browser_toolbox_options.js
+++ b/devtools/client/framework/test/browser_toolbox_options.js
@@ -6,17 +6,17 @@
 /* import-globals-from shared-head.js */
 "use strict";
 
 // Tests that changing preferences in the options panel updates the prefs
 // and toggles appropriate things in the toolbox.
 
 var doc = null, toolbox = null, panelWin = null, modifiedPrefs = [];
 
-add_task(function*() {
+add_task(function* () {
   const URL = "data:text/html;charset=utf8,test for dynamically registering " +
               "and unregistering tools";
   registerNewTool();
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   toolbox = yield gDevTools.showToolbox(target);
   doc = toolbox.doc;
   yield testSelectTool();
@@ -147,17 +147,17 @@ function* testMouseClick(node, prefValue
     }
     deferred.resolve();
   });
 
   node.scrollIntoView();
 
   // We use executeSoon here to ensure that the element is in view and
   // clickable.
-  executeSoon(function() {
+  executeSoon(function () {
     info("Click event synthesized for pref " + pref);
     EventUtils.synthesizeMouseAtCenter(node, {}, panelWin);
   });
 
   yield deferred.promise;
 }
 
 function* testToggleTools() {
--- a/devtools/client/framework/test/browser_toolbox_options_disable_buttons.js
+++ b/devtools/client/framework/test/browser_toolbox_options_disable_buttons.js
@@ -145,17 +145,17 @@ function testToggleToolboxButtons() {
   return promise.resolve();
 }
 
 function getBoolPref(key) {
   return Services.prefs.getBoolPref(key);
 }
 
 function cleanup() {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     gBrowser.removeCurrentTab();
     for (let pref of modifiedPrefs) {
       Services.prefs.clearUserPref(pref);
     }
     toolbox = doc = panelWin = modifiedPrefs = null;
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_options_disable_cache-01.js
+++ b/devtools/client/framework/test/browser_toolbox_options_disable_cache-01.js
@@ -6,17 +6,17 @@
 "use strict";
 
 requestLongerTimeout(2);
 
 // Tests that disabling the cache for a tab works as it should when toolboxes
 // are not toggled.
 loadHelperScript("helper_disable_cache.js");
 
-add_task(function*() {
+add_task(function* () {
   // Ensure that the setting is cleared after the test.
   registerCleanupFunction(() => {
     info("Resetting devtools.cache.disabled to false.");
     Services.prefs.setBoolPref("devtools.cache.disabled", false);
   });
 
   // Initialise tabs: 1 and 2 with a toolbox, 3 and 4 without.
   for (let tab of tabs) {
--- a/devtools/client/framework/test/browser_toolbox_options_disable_cache-02.js
+++ b/devtools/client/framework/test/browser_toolbox_options_disable_cache-02.js
@@ -6,17 +6,17 @@
 "use strict";
 
 requestLongerTimeout(2);
 
 // Tests that disabling the cache for a tab works as it should when toolboxes
 // are toggled.
 loadHelperScript("helper_disable_cache.js");
 
-add_task(function*() {
+add_task(function* () {
   // Ensure that the setting is cleared after the test.
   registerCleanupFunction(() => {
     info("Resetting devtools.cache.disabled to false.");
     Services.prefs.setBoolPref("devtools.cache.disabled", false);
   });
 
   // Initialise tabs: 1 and 2 with a toolbox, 3 and 4 without.
   for (let tab of tabs) {
--- a/devtools/client/framework/test/browser_toolbox_options_disable_js.js
+++ b/devtools/client/framework/test/browser_toolbox_options_disable_js.js
@@ -30,17 +30,17 @@ function testSelectTool(aToolbox) {
 }
 
 function testJSEnabled(event, tool, secondPass) {
   ok(true, "Toolbox selected via selectTool method");
   info("Testing that JS is enabled");
 
   // We use executeSoon here because switching docSehll.allowJavascript to true
   // takes a while to become live.
-  executeSoon(function() {
+  executeSoon(function () {
     let output = doc.getElementById("output");
     doc.querySelector("#logJSEnabled").click();
     is(output.textContent, "JavaScript Enabled", 'Output is "JavaScript Enabled"');
     testJSEnabledIframe(secondPass);
   });
 }
 
 function testJSEnabledIframe(secondPass) {
@@ -54,17 +54,17 @@ function testJSEnabledIframe(secondPass)
                           'Output is "JavaScript Enabled" in iframe');
   if (secondPass) {
     finishUp();
   } else {
     toggleJS().then(testJSDisabled);
   }
 }
 
-let toggleJS = Task.async(function*() {
+let toggleJS = Task.async(function* () {
   let panel = toolbox.getCurrentPanel();
   let cbx = panel.panelDoc.getElementById("devtools-disable-javascript");
 
   if (cbx.checked) {
     info("Clearing checkbox to re-enable JS");
   } else {
     info("Checking checkbox to disable JS");
   }
@@ -90,20 +90,20 @@ function testJSDisabledIframe() {
   info("Testing that JS is disabled in the iframe");
 
   let iframe = doc.querySelector("iframe");
   let iframeDoc = iframe.contentDocument;
   let output = iframeDoc.getElementById("output");
   iframeDoc.querySelector("#logJSDisabled").click();
   ok(output.textContent !== "JavaScript Disabled",
      'output is not "JavaScript Disabled" in iframe');
-  toggleJS().then(function() {
+  toggleJS().then(function () {
     testJSEnabled(null, null, true);
   });
 }
 
 function finishUp() {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     gBrowser.removeCurrentTab();
     toolbox = doc = null;
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing.js
+++ b/devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing.js
@@ -113,17 +113,17 @@ function start() {
     .then(unregister)
     .then(registerAndUnregisterInFrame)
     .then(testRegisterSuccesses)
     // Workers should be turned back off when we closes the toolbox
     .then(toolbox.destroy.bind(toolbox))
     .then(reload)
     .then(register)
     .then(testRegisterFails)
-    .catch(function(e) {
+    .catch(function (e) {
       ok(false, "Some test failed with error " + e);
     }).then(finishUp);
 }
 
 function finishUp() {
   gBrowser.removeCurrentTab();
   toolbox = null;
   finish();
--- a/devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing_frame_script.js
+++ b/devtools/client/framework/test/browser_toolbox_options_enable_serviceworkers_testing_frame_script.js
@@ -2,35 +2,35 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // A helper frame-script for devtools/client/framework service worker tests.
 
 "use strict";
 
-addMessageListener("devtools:sw-test:register", function(msg) {
+addMessageListener("devtools:sw-test:register", function (msg) {
   content.navigator.serviceWorker.register("serviceworker.js")
     .then(swr => {
       sendAsyncMessage("devtools:sw-test:register", {success: true});
     }, error => {
       sendAsyncMessage("devtools:sw-test:register", {success: false});
     });
 });
 
-addMessageListener("devtools:sw-test:unregister", function(msg) {
+addMessageListener("devtools:sw-test:unregister", function (msg) {
   content.navigator.serviceWorker.getRegistration().then(swr => {
     swr.unregister().then(result => {
       sendAsyncMessage("devtools:sw-test:unregister",
                        {success: result ? true : false});
     });
   });
 });
 
-addMessageListener("devtools:sw-test:iframe:register-and-unregister", function(msg) {
+addMessageListener("devtools:sw-test:iframe:register-and-unregister", function (msg) {
   var frame = content.document.createElement("iframe");
   frame.addEventListener("load", function onLoad() {
     frame.removeEventListener("load", onLoad);
     frame.contentWindow.navigator.serviceWorker.register("serviceworker.js")
       .then(swr => {
         return swr.unregister();
       }).then(_ => {
         frame.remove();
--- a/devtools/client/framework/test/browser_toolbox_raise.js
+++ b/devtools/client/framework/test/browser_toolbox_raise.js
@@ -22,44 +22,44 @@ function test() {
   content.location = "data:text/html,test for opening toolbox in different hosts";
 }
 
 function testBottomHost(aToolbox) {
   toolbox = aToolbox;
 
   // switch to another tab and test toolbox.raise()
   gBrowser.selectedTab = tab2;
-  executeSoon(function() {
+  executeSoon(function () {
     is(gBrowser.selectedTab, tab2, "Correct tab is selected before calling raise");
     toolbox.raise();
-    executeSoon(function() {
+    executeSoon(function () {
       is(gBrowser.selectedTab, tab1, "Correct tab was selected after calling raise");
 
       toolbox.switchHost(Toolbox.HostType.WINDOW).then(testWindowHost).then(null, console.error);
     });
   });
 }
 
 function testWindowHost() {
   // Make sure toolbox is not focused.
   window.addEventListener("focus", onFocus, true);
 
   // Need to wait for focus  as otherwise window.focus() is overridden by
   // toolbox window getting focused first on Linux and Mac.
   let onToolboxFocus = () => {
     toolbox._host._window.removeEventListener("focus", onToolboxFocus, true);
     info("focusing main window.");
-    window.focus()
+    window.focus();
   };
   // Need to wait for toolbox window to get focus.
   toolbox._host._window.addEventListener("focus", onToolboxFocus, true);
 }
 
 function onFocus() {
-  info("Main window is focused before calling toolbox.raise()")
+  info("Main window is focused before calling toolbox.raise()");
   window.removeEventListener("focus", onFocus, true);
 
   // Check if toolbox window got focus.
   let onToolboxFocusAgain = () => {
     toolbox._host._window.removeEventListener("focus", onToolboxFocusAgain, false);
     ok(true, "Toolbox window is the focused window after calling toolbox.raise()");
     cleanup();
   };
@@ -67,15 +67,15 @@ function onFocus() {
 
   // Now raise toolbox.
   toolbox.raise();
 }
 
 function cleanup() {
   Services.prefs.setCharPref("devtools.toolbox.host", Toolbox.HostType.BOTTOM);
 
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     toolbox = target = null;
     gBrowser.removeCurrentTab();
     gBrowser.removeCurrentTab();
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_ready.js
+++ b/devtools/client/framework/test/browser_toolbox_ready.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function test() {
   gBrowser.selectedTab = gBrowser.addTab();
   let target = TargetFactory.forTab(gBrowser.selectedTab);
 
-  const onLoad = Task.async(function *(evt) {
+  const onLoad = Task.async(function* (evt) {
     gBrowser.selectedBrowser.removeEventListener("load", onLoad);
 
     const toolbox = yield gDevTools.showToolbox(target, "webconsole");
     ok(toolbox.isReady, "toolbox isReady is set");
     ok(toolbox.threadClient, "toolbox has a thread client");
 
     const toolbox2 = yield gDevTools.showToolbox(toolbox.target, toolbox.toolId);
     is(toolbox2, toolbox, "same toolbox");
--- a/devtools/client/framework/test/browser_toolbox_select_event.js
+++ b/devtools/client/framework/test/browser_toolbox_select_event.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const PAGE_URL = "data:text/html;charset=utf-8,test select events";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab(PAGE_URL);
 
   let toolbox = yield openToolboxForTab(tab, "webconsole", "bottom");
   yield testSelectEvent("inspector");
   yield testSelectEvent("webconsole");
   yield testSelectEvent("styleeditor");
   yield testSelectEvent("inspector");
   yield testSelectEvent("webconsole");
--- a/devtools/client/framework/test/browser_toolbox_selected_tool_unavailable.js
+++ b/devtools/client/framework/test/browser_toolbox_selected_tool_unavailable.js
@@ -4,33 +4,33 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that opening the toolbox doesn't throw when the previously selected
 // tool is not supported.
 
 const testToolDefinition = {
-    id: "test-tool",
-    isTargetSupported: () => true,
-    visibilityswitch: "devtools.test-tool.enabled",
-    url: "about:blank",
-    label: "someLabel",
-    build: (iframeWindow, toolbox) => {
+  id: "test-tool",
+  isTargetSupported: () => true,
+  visibilityswitch: "devtools.test-tool.enabled",
+  url: "about:blank",
+  label: "someLabel",
+  build: (iframeWindow, toolbox) => {
       return {
         target: toolbox.target,
         toolbox: toolbox,
         isReady: true,
         destroy: () => {},
         panelDoc: iframeWindow.document
       };
     }
-  };
+};
 
-add_task(function*() {
+add_task(function* () {
   gDevTools.registerTool(testToolDefinition);
   let tab = yield addTab("about:blank");
   let target = TargetFactory.forTab(tab);
 
   let toolbox = yield gDevTools.showToolbox(target, testToolDefinition.id);
   is(toolbox.currentToolId, "test-tool", "test-tool was selected");
   yield gDevTools.closeToolbox(target);
 
--- a/devtools/client/framework/test/browser_toolbox_sidebar.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar.js
@@ -24,65 +24,65 @@ function test() {
   let readyTabs = {};
 
   let toolDefinition = {
     id: "fakeTool4242",
     visibilityswitch: "devtools.fakeTool4242.enabled",
     url: toolURL,
     label: "FAKE TOOL!!!",
     isTargetSupported: () => true,
-    build: function(iframeWindow, toolbox) {
+    build: function (iframeWindow, toolbox) {
       let deferred = promise.defer();
       executeSoon(() => {
         deferred.resolve({
           target: toolbox.target,
           toolbox: toolbox,
           isReady: true,
-          destroy: function() {},
+          destroy: function () {},
           panelDoc: iframeWindow.document,
         });
       });
       return deferred.promise;
     },
   };
 
   gDevTools.registerTool(toolDefinition);
 
-  addTab("about:blank").then(function(aTab) {
+  addTab("about:blank").then(function (aTab) {
     let target = TargetFactory.forTab(aTab);
-    gDevTools.showToolbox(target, toolDefinition.id).then(function(toolbox) {
+    gDevTools.showToolbox(target, toolDefinition.id).then(function (toolbox) {
       let panel = toolbox.getPanel(toolDefinition.id);
       ok(true, "Tool open");
 
       let tabbox = panel.panelDoc.getElementById("sidebar");
       panel.sidebar = new ToolSidebar(tabbox, panel, "testbug865688", true);
 
-      panel.sidebar.on("new-tab-registered", function(event, id) {
+      panel.sidebar.on("new-tab-registered", function (event, id) {
         registeredTabs[id] = true;
       });
 
-      panel.sidebar.once("tab1-ready", function(event) {
+      panel.sidebar.once("tab1-ready", function (event) {
         info(event);
         readyTabs.tab1 = true;
         allTabsReady(panel);
       });
 
-      panel.sidebar.once("tab2-ready", function(event) {
+      panel.sidebar.once("tab2-ready", function (event) {
         info(event);
         readyTabs.tab2 = true;
         allTabsReady(panel);
       });
 
-      panel.sidebar.once("tab3-ready", function(event) {
+      panel.sidebar.once("tab3-ready", function (event) {
         info(event);
         readyTabs.tab3 = true;
         allTabsReady(panel);
       });
 
-      panel.sidebar.once("tab1-selected", function(event) {
+      panel.sidebar.once("tab1-selected", function (event) {
         info(event);
         tab1Selected = true;
         allTabsReady(panel);
       });
 
       panel.sidebar.addTab("tab1", tab1URL, true);
       panel.sidebar.addTab("tab2", tab2URL);
       panel.sidebar.addTab("tab3", tab3URL);
@@ -109,19 +109,19 @@ function test() {
     for (let tab of tabs) {
       is(tab.getAttribute("label"), label++, "Tab has the right title");
     }
 
     is(label, 4, "Found the right amount of tabs.");
     is(panel.sidebar._tabbox.selectedPanel, panels[0], "First tab is selected");
     is(panel.sidebar.getCurrentTabID(), "tab1", "getCurrentTabID() is correct");
 
-    panel.sidebar.once("tab1-unselected", function() {
+    panel.sidebar.once("tab1-unselected", function () {
       ok(true, "received 'unselected' event");
-      panel.sidebar.once("tab2-selected", function() {
+      panel.sidebar.once("tab2-selected", function () {
         ok(true, "received 'selected' event");
         tabs[1].focus();
         is(panel.sidebar._panelDoc.activeElement, tabs[1],
           "Focus is set to second tab");
         panel.sidebar.hide();
         isnot(panel.sidebar._panelDoc.activeElement, tabs[1],
           "Focus is reset for sidebar");
         is(panel.sidebar._tabbox.getAttribute("hidden"), "true", "Sidebar hidden");
@@ -129,17 +129,17 @@ function test() {
         testRemoval(panel);
       });
     });
 
     panel.sidebar.select("tab2");
   }
 
   function testRemoval(panel) {
-    panel.sidebar.once("tab-unregistered", function(event, id) {
+    panel.sidebar.once("tab-unregistered", function (event, id) {
       info(event);
       registeredTabs[id] = false;
 
       is(id, "tab3", "The right tab must be removed");
 
       let tabs = panel.sidebar._tabbox.querySelectorAll("tab");
       let panels = panel.sidebar._tabbox.querySelectorAll("tabpanel");
 
@@ -150,29 +150,29 @@ function test() {
     });
 
     panel.sidebar.removeTab("tab3");
   }
 
   function testWidth(panel) {
     let tabbox = panel.panelDoc.getElementById("sidebar");
     tabbox.width = 420;
-    panel.sidebar.destroy().then(function() {
+    panel.sidebar.destroy().then(function () {
       tabbox.width = 0;
       panel.sidebar = new ToolSidebar(tabbox, panel, "testbug865688", true);
       panel.sidebar.show();
-      is(panel.panelDoc.getElementById("sidebar").width, 420, "Width restored")
+      is(panel.panelDoc.getElementById("sidebar").width, 420, "Width restored");
 
       finishUp(panel);
     });
   }
 
   function finishUp(panel) {
     panel.sidebar.destroy();
     gDevTools.unregisterTool(toolDefinition.id);
 
     gBrowser.removeCurrentTab();
 
-    executeSoon(function() {
+    executeSoon(function () {
       finish();
     });
   }
 }
--- a/devtools/client/framework/test/browser_toolbox_sidebar_events.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_events.js
@@ -19,55 +19,55 @@ function test() {
   let collectedEvents = [];
 
   let toolDefinition = {
     id: "testTool1072208",
     visibilityswitch: "devtools.testTool1072208.enabled",
     url: toolURL,
     label: "Test tool",
     isTargetSupported: () => true,
-    build: function(iframeWindow, toolbox) {
+    build: function (iframeWindow, toolbox) {
       let deferred = promise.defer();
       executeSoon(() => {
         deferred.resolve({
           target: toolbox.target,
           toolbox: toolbox,
           isReady: true,
-          destroy: function() {},
+          destroy: function () {},
           panelDoc: iframeWindow.document,
         });
       });
       return deferred.promise;
     },
   };
 
   gDevTools.registerTool(toolDefinition);
 
-  addTab("about:blank").then(function(aTab) {
+  addTab("about:blank").then(function (aTab) {
     let target = TargetFactory.forTab(aTab);
-    gDevTools.showToolbox(target, toolDefinition.id).then(function(toolbox) {
+    gDevTools.showToolbox(target, toolDefinition.id).then(function (toolbox) {
       let panel = toolbox.getPanel(toolDefinition.id);
       ok(true, "Tool open");
 
-      panel.once("sidebar-created", function(event, id) {
+      panel.once("sidebar-created", function (event, id) {
         collectedEvents.push(event);
       });
 
-      panel.once("sidebar-destroyed", function(event, id) {
+      panel.once("sidebar-destroyed", function (event, id) {
         collectedEvents.push(event);
       });
 
       let tabbox = panel.panelDoc.getElementById("sidebar");
       panel.sidebar = new ToolSidebar(tabbox, panel, "testbug1072208", true);
 
-      panel.sidebar.once("show", function(event, id) {
+      panel.sidebar.once("show", function (event, id) {
         collectedEvents.push(event);
       });
 
-      panel.sidebar.once("hide", function(event, id) {
+      panel.sidebar.once("hide", function (event, id) {
         collectedEvents.push(event);
       });
 
       panel.sidebar.once("tab1-selected", () => finishUp(panel));
       panel.sidebar.addTab("tab1", tab1URL, true);
       panel.sidebar.show();
     }).then(null, console.error);
   });
@@ -78,14 +78,14 @@ function test() {
 
     let events = collectedEvents.join(":");
     is(events, "sidebar-created:show:hide:sidebar-destroyed",
       "Found the right amount of collected events.");
 
     gDevTools.unregisterTool(toolDefinition.id);
     gBrowser.removeCurrentTab();
 
-    executeSoon(function() {
+    executeSoon(function () {
       finish();
     });
   }
 }
 
--- a/devtools/client/framework/test/browser_toolbox_sidebar_existing_tabs.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_existing_tabs.js
@@ -29,30 +29,30 @@ const testToolDefinition = {
       toolbox: toolbox,
       isReady: true,
       destroy: () => {},
       panelDoc: iframeWindow.document,
     });
   }
 };
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("about:blank");
 
   let target = TargetFactory.forTab(tab);
 
   gDevTools.registerTool(testToolDefinition);
   let toolbox = yield gDevTools.showToolbox(target, testToolDefinition.id);
 
   let toolPanel = toolbox.getPanel(testToolDefinition.id);
   let tabbox = toolPanel.panelDoc.getElementById("sidebar");
 
   info("Creating the sidebar widget");
   let sidebar = new ToolSidebar(tabbox, toolPanel, "bug1101569");
-  
+
   info("Checking that existing tabs have been registered");
   ok(sidebar.getTab("tab1"), "Existing tab 1 was found");
   ok(sidebar.getTab("tab2"), "Existing tab 2 was found");
   ok(sidebar.getTabPanel("tabpanel1"), "Existing tabpanel 1 was found");
   ok(sidebar.getTabPanel("tabpanel2"), "Existing tabpanel 2 was found");
 
   info("Checking that the sidebar API works with existing tabs");
 
--- a/devtools/client/framework/test/browser_toolbox_sidebar_overflow_menu.js
+++ b/devtools/client/framework/test/browser_toolbox_sidebar_overflow_menu.js
@@ -21,17 +21,17 @@ const testToolDefinition = {
       toolbox: toolbox,
       isReady: true,
       destroy: () => {},
       panelDoc: iframeWindow.document,
     };
   }
 };
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("about:blank");
   let target = TargetFactory.forTab(tab);
 
   gDevTools.registerTool(testToolDefinition);
   let toolbox = yield gDevTools.showToolbox(target, testToolDefinition.id);
 
   let toolPanel = toolbox.getPanel(testToolDefinition.id);
   let tabbox = toolPanel.panelDoc.getElementById("sidebar");
@@ -41,27 +41,27 @@ add_task(function*() {
     showAllTabsMenu: true
   });
 
   let allTabsMenu = toolPanel.panelDoc.querySelector(".devtools-sidebar-alltabs");
   ok(allTabsMenu, "The all-tabs menu is available");
   is(allTabsMenu.getAttribute("hidden"), "true", "The menu is hidden for now");
 
   info("Adding 10 tabs to the sidebar widget");
-  for (let nb = 0; nb < 10; nb ++) {
+  for (let nb = 0; nb < 10; nb++) {
     let url = `data:text/html;charset=utf8,<title>tab ${nb}</title><p>Test tab ${nb}</p>`;
     sidebar.addTab("tab" + nb, url, nb === 0);
   }
 
   info("Fake an overflow event so that the all-tabs menu is visible");
   sidebar._onTabBoxOverflow();
   ok(!allTabsMenu.hasAttribute("hidden"), "The all-tabs menu is now shown");
 
   info("Select each tab, one by one");
-  for (let nb = 0; nb < 10; nb ++) {
+  for (let nb = 0; nb < 10; nb++) {
     let id = "tab" + nb;
 
     info("Found tab item nb " + nb);
     let item = allTabsMenu.querySelector("#sidebar-alltabs-item-" + id);
 
     info("Click on the tab");
     EventUtils.sendMouseEvent({type: "click"}, item, toolPanel.panelDoc.defaultView);
 
--- a/devtools/client/framework/test/browser_toolbox_split_console.js
+++ b/devtools/client/framework/test/browser_toolbox_split_console.js
@@ -8,17 +8,17 @@
 //  * toolbox.isSplitConsoleFocused
 
 let gToolbox = null;
 let panelWin = null;
 
 const URL = "data:text/html;charset=utf8,test split console key delegation";
 const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab(URL);
   let target = TargetFactory.forTab(tab);
   gToolbox = yield gDevTools.showToolbox(target, "jsdebugger");
   panelWin = gToolbox.getPanel("jsdebugger").panelWin;
 
   yield gToolbox.openSplitConsole();
   yield testIsSplitConsoleFocused();
   yield testUseKeyWithSplitConsole();
@@ -36,18 +36,18 @@ function* testIsSplitConsoleFocused() {
 }
 
 // A key bound to the selected tool should trigger it's command
 function* testUseKeyWithSplitConsole() {
   let commandCalled = false;
 
   let keyElm = panelWin.document.createElementNS(XULNS, "key");
   keyElm.setAttribute("keycode", "VK_F3");
-  keyElm.addEventListener("command", () => {commandCalled = true}, false);
-  panelWin.document.getElementsByTagName('keyset')[0].appendChild(keyElm);
+  keyElm.addEventListener("command", () => {commandCalled = true;}, false);
+  panelWin.document.getElementsByTagName("keyset")[0].appendChild(keyElm);
 
   info("useKeyWithSplitConsole on debugger while debugger is focused");
   gToolbox.useKeyWithSplitConsole(keyElm, "jsdebugger");
 
   info("synthesizeKey with the console focused");
   let consoleInput = gToolbox.getPanel("webconsole").hud.jsterm.inputNode;
   consoleInput.focus();
   synthesizeKeyElement(keyElm);
@@ -56,18 +56,18 @@ function* testUseKeyWithSplitConsole() {
 }
 
 // A key bound to a *different* tool should not trigger it's command
 function* testUseKeyWithSplitConsoleWrongTool() {
   let commandCalled = false;
 
   let keyElm = panelWin.document.createElementNS(XULNS, "key");
   keyElm.setAttribute("keycode", "VK_F4");
-  keyElm.addEventListener("command", () => {commandCalled = true}, false);
-  panelWin.document.getElementsByTagName('keyset')[0].appendChild(keyElm);
+  keyElm.addEventListener("command", () => {commandCalled = true;}, false);
+  panelWin.document.getElementsByTagName("keyset")[0].appendChild(keyElm);
 
   info("useKeyWithSplitConsole on inspector while debugger is focused");
   gToolbox.useKeyWithSplitConsole(keyElm, "inspector");
 
   info("synthesizeKey with the console focused");
   let consoleInput = gToolbox.getPanel("webconsole").hud.jsterm.inputNode;
   consoleInput.focus();
   synthesizeKeyElement(keyElm);
--- a/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js
+++ b/devtools/client/framework/test/browser_toolbox_tabsswitch_shortcuts.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 requestLongerTimeout(2);
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("about:blank");
   let target = TargetFactory.forTab(tab);
   yield target.makeRemote();
 
   let toolIDs = gDevTools.getToolDefinitionArray()
                          .filter(def => def.isTargetSupported(target))
                          .map(def => def.id);
 
--- a/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js
+++ b/devtools/client/framework/test/browser_toolbox_textbox_context_menu.js
@@ -1,16 +1,16 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const URL = "data:text/html;charset=utf8,test for textbox context menu";
 
-add_task(function*() {
+add_task(function* () {
   let toolbox = yield openNewTabAndToolbox(URL, "inspector");
   let textboxContextMenu = toolbox.textboxContextMenuPopup;
 
   ok(textboxContextMenu, "The textbox context menu is loaded in the toolbox");
 
   let cmdUndo = textboxContextMenu.querySelector("[command=cmd_undo]");
   let cmdDelete = textboxContextMenu.querySelector("[command=cmd_delete]");
   let cmdSelectAll = textboxContextMenu.querySelector("[command=cmd_selectAll]");
--- a/devtools/client/framework/test/browser_toolbox_toggle.js
+++ b/devtools/client/framework/test/browser_toolbox_toggle.js
@@ -7,17 +7,17 @@
 
 // Test toggling the toolbox with ACCEL+SHIFT+I / ACCEL+ALT+I and F12 in docked
 // and detached (window) modes.
 
 const URL = "data:text/html;charset=utf-8,Toggling devtools using shortcuts";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
-add_task(function*() {
+add_task(function* () {
   // Make sure this test starts with the selectedTool pref cleared. Previous
   // tests select various tools, and that sets this pref.
   Services.prefs.clearUserPref("devtools.toolbox.selectedTool");
 
   // Test with ACCEL+SHIFT+I / ACCEL+ALT+I (MacOSX) ; modifiers should match :
   // - toolbox-key-toggle in devtools/client/framework/toolbox-window.xul
   // - key_devToolboxMenuItem in browser/base/content/browser.xul
   info("Test toggle using CTRL+SHIFT+I/CMD+ALT+I");
--- a/devtools/client/framework/test/browser_toolbox_tool_ready.js
+++ b/devtools/client/framework/test/browser_toolbox_tool_ready.js
@@ -10,17 +10,17 @@ requestLongerTimeout(5);
 /**
  * Whitelisting this test.
  * As part of bug 1077403, the leaking uncaught rejection should be fixed.
  */
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Error: Shader Editor is " +
   "still waiting for a WebGL context to be created.");
 
 function performChecks(target) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let toolIds = gDevTools.getToolDefinitionArray()
                            .filter(def => def.isTargetSupported(target))
                            .map(def => def.id);
 
     let toolbox;
     for (let index = 0; index < toolIds.length; index++) {
       let toolId = toolIds[index];
 
@@ -33,17 +33,17 @@ function performChecks(target) {
       ok(panel.isReady, toolId + " panel should be ready");
     }
 
     yield toolbox.destroy();
   });
 }
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     toggleAllTools(true);
     let tab = yield addTab("about:blank");
     let target = TargetFactory.forTab(tab);
     yield target.makeRemote();
     yield performChecks(target);
     gBrowser.removeCurrentTab();
     toggleAllTools(false);
     finish();
--- a/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
+++ b/devtools/client/framework/test/browser_toolbox_tool_remote_reopen.js
@@ -37,17 +37,17 @@ const { DebuggerClient } = require("devt
  *
  * In WebIDE, we do not destroy the DebuggerClient on toolbox close because it
  * is still used for other purposes like managing apps, etc. that aren't part of
  * a toolbox.  Thus, the same client gets reused across multiple toolboxes,
  * which leads to the tools failing if they don't destroy their fronts.
  */
 
 function runTools(target) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let toolIds = gDevTools.getToolDefinitionArray()
                            .filter(def => def.isTargetSupported(target))
                            .map(def => def.id);
 
     let toolbox;
     for (let index = 0; index < toolIds.length; index++) {
       let toolId = toolIds[index];
 
@@ -89,17 +89,17 @@ function getTarget(client) {
     });
     deferred.resolve(target);
   });
 
   return deferred.promise;
 }
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     toggleAllTools(true);
     yield addTab("about:blank");
 
     let client = yield getClient();
     let target = yield getTarget(client);
     yield runTools(target);
 
     // Actor fronts should be destroyed now that the toolbox has closed, but
--- a/devtools/client/framework/test/browser_toolbox_transport_events.js
+++ b/devtools/client/framework/test/browser_toolbox_transport_events.js
@@ -5,36 +5,36 @@
 
 const { on, off } = require("sdk/event/core");
 const { DebuggerClient } = require("devtools/shared/client/main");
 
 function test() {
   gDevTools.on("toolbox-created", onToolboxCreated);
   on(DebuggerClient, "connect", onDebuggerClientConnect);
 
-  addTab("about:blank").then(function() {
+  addTab("about:blank").then(function () {
     let target = TargetFactory.forTab(gBrowser.selectedTab);
     gDevTools.showToolbox(target, "webconsole").then(testResults);
   });
 }
 
 function testResults(toolbox) {
   testPackets(sent1, received1);
   testPackets(sent2, received2);
 
   cleanUp(toolbox);
 }
 
 function cleanUp(toolbox) {
   gDevTools.off("toolbox-created", onToolboxCreated);
   off(DebuggerClient, "connect", onDebuggerClientConnect);
 
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     gBrowser.removeCurrentTab();
-    executeSoon(function() {
+    executeSoon(function () {
       finish();
     });
   });
 }
 
 function testPackets(sent, received) {
   ok(sent.length > 0, "There must be at least one sent packet");
   ok(received.length > 0, "There must be at leaset one received packet");
--- a/devtools/client/framework/test/browser_toolbox_view_source_01.js
+++ b/devtools/client/framework/test/browser_toolbox_view_source_01.js
@@ -6,17 +6,17 @@
 /**
  * Tests that Toolbox#viewSourceInDebugger works when debugger is not
  * yet opened.
  */
 
 var URL = `${URL_ROOT}doc_viewsource.html`;
 var JS_URL = `${URL_ROOT}code_math.js`;
 
-function *viewSource() {
+function* viewSource() {
   let toolbox = yield openNewTabAndToolbox(URL);
 
   yield toolbox.viewSourceInDebugger(JS_URL, 2);
 
   let debuggerPanel = toolbox.getPanel("jsdebugger");
   ok(debuggerPanel, "The debugger panel was opened.");
   is(toolbox.currentToolId, "jsdebugger", "The debugger panel was selected.");
 
@@ -27,14 +27,14 @@ function *viewSource() {
     "The correct source is shown in the debugger.");
   is(DebuggerView.editor.getCursor().line + 1, 2,
     "The correct line is highlighted in the debugger's source editor.");
 
   yield closeToolboxAndTab(toolbox);
   finish();
 }
 
-function test () {
+function test() {
   Task.spawn(viewSource).then(finish, (aError) => {
     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_view_source_02.js
+++ b/devtools/client/framework/test/browser_toolbox_view_source_02.js
@@ -5,17 +5,17 @@
 
 /**
  * Tests that Toolbox#viewSourceInDebugger works when debugger is already loaded.
  */
 
 var URL = `${URL_ROOT}doc_viewsource.html`;
 var JS_URL = `${URL_ROOT}code_math.js`;
 
-function *viewSource() {
+function* viewSource() {
   let toolbox = yield openNewTabAndToolbox(URL);
   let { panelWin: debuggerWin } = yield toolbox.selectTool("jsdebugger");
   let debuggerEvents = debuggerWin.EVENTS;
   let { DebuggerView } = debuggerWin;
   let Sources = DebuggerView.Sources;
 
   yield debuggerWin.once(debuggerEvents.SOURCE_SHOWN);
   ok("A source was shown in the debugger.");
@@ -35,14 +35,14 @@ function *viewSource() {
     "The correct source is shown in the debugger.");
   is(DebuggerView.editor.getCursor().line + 1, 2,
     "The correct line is highlighted in the debugger's source editor.");
 
   yield closeToolboxAndTab(toolbox);
   finish();
 }
 
-function test () {
+function test() {
   Task.spawn(viewSource).then(finish, (aError) => {
     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_view_source_03.js
+++ b/devtools/client/framework/test/browser_toolbox_view_source_03.js
@@ -6,17 +6,17 @@
 /**
  * Tests that Toolbox#viewSourceInStyleEditor works when style editor is not
  * yet opened.
  */
 
 var URL = `${URL_ROOT}doc_viewsource.html`;
 var CSS_URL = `${URL_ROOT}doc_theme.css`;
 
-function *viewSource() {
+function* viewSource() {
   let toolbox = yield openNewTabAndToolbox(URL);
 
   let fileFound = yield toolbox.viewSourceInStyleEditor(CSS_URL, 2);
   ok(fileFound, "viewSourceInStyleEditor should resolve to true if source found.");
 
   let stylePanel = toolbox.getPanel("styleeditor");
   ok(stylePanel, "The style editor panel was opened.");
   is(toolbox.currentToolId, "styleeditor", "The style editor panel was selected.");
@@ -27,14 +27,14 @@ function *viewSource() {
     "The correct source is shown in the style editor.");
   is(UI.selectedEditor.sourceEditor.getCursor().line + 1, 2,
     "The correct line is highlighted in the style editor's source editor.");
 
   yield closeToolboxAndTab(toolbox);
   finish();
 }
 
-function test () {
+function test() {
   Task.spawn(viewSource).then(finish, (aError) => {
     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_view_source_04.js
+++ b/devtools/client/framework/test/browser_toolbox_view_source_04.js
@@ -4,17 +4,17 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that Toolbox#viewSourceInScratchpad works.
  */
 
 var URL = `${URL_ROOT}doc_viewsource.html`;
 
-function *viewSource() {
+function* viewSource() {
   let toolbox = yield openNewTabAndToolbox(URL);
   let win = yield openScratchpadWindow();
   let { Scratchpad: scratchpad } = win;
 
   // Brahm's Cello Sonata No.1, Op.38 now in the scratchpad
   scratchpad.setText("E G B C B\nA B A G A B\nG E");
   let scratchpadURL = scratchpad.uniqueName;
 
@@ -26,14 +26,14 @@ function *viewSource() {
   is(scratchpad.editor.getCursor().line, 2,
     "The correct line is highlighted in scratchpad's editor.");
 
   win.close();
   yield closeToolboxAndTab(toolbox);
   finish();
 }
 
-function test () {
+function test() {
   Task.spawn(viewSource).then(finish, (aError) => {
     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
     finish();
   });
 }
--- a/devtools/client/framework/test/browser_toolbox_window_reload_target.js
+++ b/devtools/client/framework/test/browser_toolbox_window_reload_target.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 requestLongerTimeout(10);
 
-const TEST_URL = "data:text/html;charset=utf-8,"+
-                 "<html><head><title>Test reload</title></head>"+
+const TEST_URL = "data:text/html;charset=utf-8," +
+                 "<html><head><title>Test reload</title></head>" +
                  "<body><h1>Testing reload from devtools</h1></body></html>";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
 var target, toolbox, description, reloadsSent, toolIDs;
 
 function test() {
   addTab(TEST_URL).then(() => {
@@ -30,62 +30,62 @@ function test() {
 function startReloadTest(aToolbox) {
   getFrameScript(); // causes frame-script-utils to be loaded into the child.
   toolbox = aToolbox;
 
   reloadsSent = 0;
   let reloads = 0;
   let reloadCounter = (msg) => {
     reloads++;
-    info("Detected reload #"+reloads);
-    is(reloads, reloadsSent, "Reloaded from devtools window once and only for "+description+"");
+    info("Detected reload #" + reloads);
+    is(reloads, reloadsSent, "Reloaded from devtools window once and only for " + description + "");
   };
   gBrowser.selectedBrowser.messageManager.addMessageListener("devtools:test:load", reloadCounter);
 
   testAllTheTools("docked", () => {
     let origHostType = toolbox.hostType;
     toolbox.switchHost(Toolbox.HostType.WINDOW).then(() => {
       toolbox.win.focus();
       testAllTheTools("undocked", () => {
         toolbox.switchHost(origHostType).then(() => {
           gBrowser.selectedBrowser.messageManager.removeMessageListener("devtools:test:load", reloadCounter);
           // If we finish too early, the inspector breaks promises:
           toolbox.getPanel("inspector").once("new-root", finishUp);
         });
       });
     });
-  }, toolIDs.length-1 /* only test 1 tool in docked mode, to cut down test time */);
+  }, toolIDs.length - 1 /* only test 1 tool in docked mode, to cut down test time */);
 }
 
-function testAllTheTools(docked, callback, toolNum=0) {
+function testAllTheTools(docked, callback, toolNum = 0) {
   if (toolNum >= toolIDs.length) {
     return callback();
   }
   toolbox.selectTool(toolIDs[toolNum]).then(() => {
     testReload("toolbox-reload-key", docked, toolIDs[toolNum], () => {
       testReload("toolbox-reload-key2", docked, toolIDs[toolNum], () => {
         testReload("toolbox-force-reload-key", docked, toolIDs[toolNum], () => {
           testReload("toolbox-force-reload-key2", docked, toolIDs[toolNum], () => {
-            testAllTheTools(docked, callback, toolNum+1);
+            testAllTheTools(docked, callback, toolNum + 1);
           });
         });
       });
     });
   });
 }
 
 function testReload(key, docked, toolID, callback) {
   let complete = () => {
     gBrowser.selectedBrowser.messageManager.removeMessageListener("devtools:test:load", complete);
     return callback();
   };
   gBrowser.selectedBrowser.messageManager.addMessageListener("devtools:test:load", complete);
 
-  description = docked+" devtools with tool "+toolID+", key #" + key;
-  info("Testing reload in "+description);
+  description = docked + " devtools with tool " + toolID + ", key #" + key;
+  info("Testing reload in " + description);
   let el = toolbox.doc.getElementById(key);
   synthesizeKeyElement(el);
   reloadsSent++;
 }
 
 function finishUp() {
   toolbox.destroy().then(() => {
     gBrowser.removeCurrentTab();
--- a/devtools/client/framework/test/browser_toolbox_window_shortcuts.js
+++ b/devtools/client/framework/test/browser_toolbox_window_shortcuts.js
@@ -5,17 +5,17 @@
 
 "use strict";
 
 var {Toolbox} = require("devtools/client/framework/toolbox");
 
 var toolbox, toolIDs, idIndex, modifiedPrefs = [];
 
 function test() {
-  addTab("about:blank").then(function() {
+  addTab("about:blank").then(function () {
     toolIDs = [];
     for (let [id, definition] of gDevTools._tools) {
       if (definition.key) {
         toolIDs.push(id);
 
         // Enable disabled tools
         let pref = definition.visibilityswitch, prefValue;
         try {
@@ -67,17 +67,17 @@ function selectCB(event, id) {
 
   is(toolIDs.indexOf(id), idIndex,
      "Correct tool is selected on pressing the shortcut for " + id);
 
   testShortcuts(toolbox, idIndex + 1);
 }
 
 function tidyUp() {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     gBrowser.removeCurrentTab();
 
     for (let pref of modifiedPrefs) {
       Services.prefs.clearUserPref(pref);
     }
     toolbox = toolIDs = idIndex = modifiedPrefs = Toolbox = null;
     finish();
   });
--- a/devtools/client/framework/test/browser_toolbox_window_title_changes.js
+++ b/devtools/client/framework/test/browser_toolbox_window_title_changes.js
@@ -53,17 +53,17 @@ function test() {
       })
       .then(checkTitle.bind(null, NAME_3, URL_3, "url changed"))
 
     // destroy toolbox, create new one hosted in a window (with a
     // different tool id), and check title
       .then(function () {
         // Give the tools a chance to handle the navigation event before
         // destroying the toolbox.
-        executeSoon(function() {
+        executeSoon(function () {
           toolbox.destroy()
             .then(function () {
               // After destroying the toolbox, a fresh target is required.
               target = TargetFactory.forTab(gBrowser.selectedTab);
               return gDevTools.showToolbox(target, null, Toolbox.HostType.WINDOW);
             })
             .then(function (aToolbox) { toolbox = aToolbox; })
             .then(() => toolbox.selectTool(TOOL_ID_1))
--- a/devtools/client/framework/test/browser_toolbox_zoom.js
+++ b/devtools/client/framework/test/browser_toolbox_zoom.js
@@ -28,17 +28,17 @@ function testZoom() {
   testZoomLevel("in", 2, 1.2);
   testZoomLevel("out", 3, 0.9);
   testZoomLevel("reset", 1, 1);
 
   tidyUp();
 }
 
 function testZoomLevel(type, times, expected) {
-  sendZoomKey("toolbox-zoom-"+ type + "-key", times);
+  sendZoomKey("toolbox-zoom-" + type + "-key", times);
 
   let zoom = getCurrentZoom(toolbox);
   is(zoom.toFixed(2), expected, "zoom level correct after zoom " + type);
 
   is(toolbox.zoomValue.toFixed(2), expected,
      "saved zoom level is correct after zoom " + type);
 }
 
@@ -50,15 +50,15 @@ function sendZoomKey(id, times) {
 }
 
 function getCurrentZoom() {
   var contViewer = toolbox.frame.docShell.contentViewer;
   return contViewer.fullZoom;
 }
 
 function tidyUp() {
-  toolbox.destroy().then(function() {
+  toolbox.destroy().then(function () {
     gBrowser.removeCurrentTab();
 
     toolbox = modifiers = null;
     finish();
   });
 }
--- a/devtools/client/framework/test/head.js
+++ b/devtools/client/framework/test/head.js
@@ -50,17 +50,17 @@ function getSourceActor(aSources, aURL) 
 }
 
 /**
  * Open a Scratchpad window.
  *
  * @return nsIDOMWindow
  *         The new window object that holds Scratchpad.
  */
-function *openScratchpadWindow () {
+function* openScratchpadWindow() {
   let { promise: p, resolve } = promise.defer();
   let win = ScratchpadManager.openScratchpad();
 
   yield once(win, "load");
 
   win.Scratchpad.addObserver({
     onReady: function () {
       win.Scratchpad.removeObserver(this);
@@ -97,17 +97,17 @@ function waitForContentMessage(name) {
  * in doc_frame_script.js
  * @param {Object} data Optional data to send along
  * @param {Object} objects Optional CPOW objects to send along
  * @param {Boolean} expectResponse If set to false, don't wait for a response
  * with the same name from the content script. Defaults to true.
  * @return {Promise} Resolves to the response data if a response is expected,
  * immediately resolves otherwise
  */
-function executeInContent(name, data={}, objects={}, expectResponse=true) {
+function executeInContent(name, data = {}, objects = {}, expectResponse = true) {
   info("Sending message " + name + " to content");
   let mm = gBrowser.selectedBrowser.messageManager;
 
   mm.sendAsyncMessage(name, data, objects);
   if (expectResponse) {
     return waitForContentMessage(name);
   } else {
     return promise.resolve();
@@ -117,17 +117,17 @@ function executeInContent(name, data={},
 /**
  * Synthesize a keypress from a <key> element, taking into account
  * any modifiers.
  * @param {Element} el the <key> element to synthesize
  */
 function synthesizeKeyElement(el) {
   let key = el.getAttribute("key") || el.getAttribute("keycode");
   let mod = {};
-  el.getAttribute("modifiers").split(" ").forEach((m) => mod[m+"Key"] = true);
+  el.getAttribute("modifiers").split(" ").forEach((m) => mod[m + "Key"] = true);
   info(`Synthesizing: key=${key}, mod=${JSON.stringify(mod)}`);
   EventUtils.synthesizeKey(key, mod, el.ownerDocument.defaultView);
 }
 
 /* Check the toolbox host type and prefs to make sure they match the
  * expected values
  * @param {Toolbox}
  * @param {HostType} hostType
@@ -137,12 +137,12 @@ function synthesizeKeyElement(el) {
  */
 function checkHostType(toolbox, hostType, previousHostType) {
   is(toolbox.hostType, hostType, "host type is " + hostType);
 
   let pref = Services.prefs.getCharPref("devtools.toolbox.host");
   is(pref, hostType, "host pref is " + hostType);
 
   if (previousHostType) {
-    is (Services.prefs.getCharPref("devtools.toolbox.previousHost"),
+    is(Services.prefs.getCharPref("devtools.toolbox.previousHost"),
       previousHostType, "The previous host is correct");
   }
 }
--- a/devtools/client/framework/test/helper_disable_cache.js
+++ b/devtools/client/framework/test/helper_disable_cache.js
@@ -3,67 +3,67 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Common code shared by browser_toolbox_options_disable_cache-*.js
 const TEST_URI = URL_ROOT + "browser_toolbox_options_disable_cache.sjs";
 var tabs = [
-{
-  title: "Tab 0",
-  desc: "Toggles cache on.",
-  startToolbox: true
-},
-{
-  title: "Tab 1",
-  desc: "Toolbox open before Tab 1 toggles cache.",
-  startToolbox: true
-},
-{
-  title: "Tab 2",
-  desc: "Opens toolbox after Tab 1 has toggled cache. Also closes and opens.",
-  startToolbox: false
-},
-{
-  title: "Tab 3",
-  desc: "No toolbox",
-  startToolbox: false
-}];
+  {
+    title: "Tab 0",
+    desc: "Toggles cache on.",
+    startToolbox: true
+  },
+  {
+    title: "Tab 1",
+    desc: "Toolbox open before Tab 1 toggles cache.",
+    startToolbox: true
+  },
+  {
+    title: "Tab 2",
+    desc: "Opens toolbox after Tab 1 has toggled cache. Also closes and opens.",
+    startToolbox: false
+  },
+  {
+    title: "Tab 3",
+    desc: "No toolbox",
+    startToolbox: false
+  }];
 
 function* initTab(tabX, startToolbox) {
   tabX.tab = yield addTab(TEST_URI);
   tabX.target = TargetFactory.forTab(tabX.tab);
 
   if (startToolbox) {
     tabX.toolbox = yield gDevTools.showToolbox(tabX.target, "options");
   }
 }
 
 function* checkCacheStateForAllTabs(states) {
-  for (let i = 0; i < tabs.length; i ++) {
+  for (let i = 0; i < tabs.length; i++) {
     let tab = tabs[i];
     yield checkCacheEnabled(tab, states[i]);
   }
 }
 
 function* checkCacheEnabled(tabX, expected) {
   gBrowser.selectedTab = tabX.tab;
 
   yield reloadTab(tabX);
 
-  let oldGuid = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function() {
+  let oldGuid = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function () {
     let doc = content.document;
     let h1 = doc.querySelector("h1");
     return h1.textContent;
   });
 
   yield reloadTab(tabX);
 
-  let guid = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function() {
+  let guid = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function () {
     let doc = content.document;
     let h1 = doc.querySelector("h1");
     return h1.textContent;
   });
 
   if (expected) {
     is(guid, oldGuid, tabX.title + " cache is enabled");
   } else {
--- a/devtools/client/framework/test/shared-head.js
+++ b/devtools/client/framework/test/shared-head.js
@@ -37,17 +37,17 @@ const URL_ROOT = CHROME_URL_ROOT.replace
 const URL_ROOT_SSL = CHROME_URL_ROOT.replace("chrome://mochitests/content/",
                                              "https://example.com/");
 
 // All test are asynchronous
 waitForExplicitFinish();
 
 var EXPECTED_DTU_ASSERT_FAILURE_COUNT = 0;
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   if (DevToolsUtils.assertionFailureCount !==
       EXPECTED_DTU_ASSERT_FAILURE_COUNT) {
     ok(false,
       "Should have had the expected number of DevToolsUtils.assert() failures."
       + " Expected " + EXPECTED_DTU_ASSERT_FAILURE_COUNT
       + ", got " + DevToolsUtils.assertionFailureCount);
   }
 });
@@ -56,17 +56,17 @@ registerCleanupFunction(function() {
 // Services.prefs.setBoolPref("devtools.dump.emit", true);
 
 /**
  * Watch console messages for failed propType definitions in React components.
  */
 const ConsoleObserver = {
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
 
-  observe: function(subject, topic, data) {
+  observe: function (subject, topic, data) {
     let message = subject.wrappedJSObject.arguments[0];
 
     if (/Failed propType/.test(message)) {
       ok(false, message);
     }
   }
 };
 
@@ -329,32 +329,32 @@ var openNewTabAndToolbox = Task.async(fu
 });
 
 /**
  * Close a tab and if necessary, the toolbox that belongs to it
  * @param {Tab} tab The tab to close.
  * @return {Promise} Resolves when the toolbox and tab have been destroyed and
  * closed.
  */
-var closeTabAndToolbox = Task.async(function*(tab = gBrowser.selectedTab) {
+var closeTabAndToolbox = Task.async(function* (tab = gBrowser.selectedTab) {
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   if (target) {
     yield gDevTools.closeToolbox(target);
   }
 
   yield removeTab(gBrowser.selectedTab);
 });
 
 /**
  * Close a toolbox and the current tab.
  * @param {Toolbox} toolbox The toolbox to close.
  * @return {Promise} Resolves when the toolbox and tab have been destroyed and
  * closed.
  */
-var closeToolboxAndTab = Task.async(function*(toolbox) {
+var closeToolboxAndTab = Task.async(function* (toolbox) {
   yield toolbox.destroy();
   yield removeTab(gBrowser.selectedTab);
 });
 
 /**
  * Waits until a predicate returns true.
  *
  * @param function predicate
@@ -362,29 +362,29 @@ var closeToolboxAndTab = Task.async(func
  * @param number interval [optional]
  *        How often the predicate is invoked, in milliseconds.
  */
 function waitUntil(predicate, interval = 10) {
   if (predicate()) {
     return Promise.resolve(true);
   }
   return new Promise(resolve => {
-    setTimeout(function() {
+    setTimeout(function () {
       waitUntil(predicate, interval).then(() => resolve(true));
     }, interval);
   });
 }
 
 /**
  * Takes a string `script` and evaluates it directly in the content
  * in potentially a different process.
  */
 let MM_INC_ID = 0;
 function evalInDebuggee(mm, script) {
-  return new Promise(function(resolve, reject) {
+  return new Promise(function (resolve, reject) {
     let id = MM_INC_ID++;
     mm.sendAsyncMessage("devtools:test:eval", { script, id });
     mm.addMessageListener("devtools:test:eval:response", handler);
 
     function handler({ data }) {
       if (id !== data.id) {
         return;
       }
--- a/devtools/client/framework/toolbox-highlighter-utils.js
+++ b/devtools/client/framework/toolbox-highlighter-utils.js
@@ -25,17 +25,17 @@ const DevToolsUtils = require("devtools/
  * Get the highighterUtils instance for a given toolbox.
  * This should be done once only by the toolbox itself and stored there so that
  * panels can get it from there. That's because the API returned has a stateful
  * scope that would be different for another instance returned by this function.
  *
  * @param {Toolbox} toolbox
  * @return {Object} the highlighterUtils public API
  */
-exports.getHighlighterUtils = function(toolbox) {
+exports.getHighlighterUtils = function (toolbox) {
   if (!toolbox || !toolbox.target) {
     throw new Error("Missing or invalid toolbox passed to getHighlighterUtils");
     return;
   }
 
   // Exported API properties will go here
   let exported = {};
 
@@ -47,29 +47,29 @@ exports.getHighlighterUtils = function(t
 
   // Is the box model already displayed, used to prevent dispatching
   // unnecessary requests, especially during toolbox shutdown
   let isNodeFrontHighlighted = false;
 
   /**
    * Release this utils, nullifying the references to the toolbox
    */
-  exported.release = function() {
+  exported.release = function () {
     toolbox = target = null;
-  }
+  };
 
   /**
    * Does the target have the highlighter actor.
    * The devtools must be backwards compatible with at least B2G 1.3 (28),
    * which doesn't have the highlighter actor. This can be removed as soon as
    * the minimal supported version becomes 1.4 (29)
    */
-  let isRemoteHighlightable = exported.isRemoteHighlightable = function() {
+  let isRemoteHighlightable = exported.isRemoteHighlightable = function () {
     return target.client.traits.highlightable;
-  }
+  };
 
   /**
    * Does the target support custom highlighters.
    */
   let supportsCustomHighlighters = exported.supportsCustomHighlighters = () => {
     return !!target.client.traits.customHighlighters;
   };
 
@@ -77,47 +77,47 @@ exports.getHighlighterUtils = function(t
    * Make a function that initializes the inspector before it runs.
    * Since the init of the inspector is asynchronous, the return value will be
    * produced by Task.async and the argument should be a generator
    * @param {Function*} generator A generator function
    * @return {Function} A function
    */
   let isInspectorInitialized = false;
   let requireInspector = generator => {
-    return Task.async(function*(...args) {
+    return Task.async(function* (...args) {
       if (!isInspectorInitialized) {
         yield toolbox.initInspector();
         isInspectorInitialized = true;
       }
       return yield generator.apply(null, args);
     });
   };
 
   /**
    * Start/stop the element picker on the debuggee target.
    * @return A promise that resolves when done
    */
-  let togglePicker = exported.togglePicker = function() {
+  let togglePicker = exported.togglePicker = function () {
     if (isPicking) {
       return stopPicker();
     } else {
       return startPicker();
     }
-  }
+  };
 
   /**
    * Start the element picker on the debuggee target.
    * This will request the inspector actor to start listening for mouse events
    * on the target page to highlight the hovered/picked element.
    * Depending on the server-side capabilities, this may fire events when nodes
    * are hovered.
    * @return A promise that resolves when the picker has started or immediately
    * if it is already started
    */
-  let startPicker = exported.startPicker = requireInspector(function*() {
+  let startPicker = exported.startPicker = requireInspector(function* () {
     if (isPicking) {
       return;
     }
     isPicking = true;
 
     toolbox.pickerButtonChecked = true;
     yield toolbox.selectTool("inspector");
     toolbox.on("select", stopPicker);
@@ -140,17 +140,17 @@ exports.getHighlighterUtils = function(t
   });
 
   /**
    * Stop the element picker. Note that the picker is automatically stopped when
    * an element is picked
    * @return A promise that resolves when the picker has stopped or immediately
    * if it is already stopped
    */
-  let stopPicker = exported.stopPicker = requireInspector(function*() {
+  let stopPicker = exported.stopPicker = requireInspector(function* () {
     if (!isPicking) {
       return;
     }
     isPicking = false;
 
     toolbox.pickerButtonChecked = false;
 
     if (isRemoteHighlightable()) {
@@ -198,17 +198,17 @@ exports.getHighlighterUtils = function(t
    * Show the box model highlighter on a node in the content page.
    * The node needs to be a NodeFront, as defined by the inspector actor
    * @see devtools/server/actors/inspector.js
    * @param {NodeFront} nodeFront The node to highlight
    * @param {Object} options
    * @return A promise that resolves when the node has been highlighted
    */
   let highlightNodeFront = exported.highlightNodeFront = requireInspector(
-  function*(nodeFront, options={}) {
+  function* (nodeFront, options = {}) {
     if (!nodeFront) {
       return;
     }
 
     isNodeFrontHighlighted = true;
     if (isRemoteHighlightable()) {
       yield toolbox.highlighter.showBoxModel(nodeFront, options);
     } else {
@@ -223,46 +223,46 @@ exports.getHighlighterUtils = function(t
   /**
    * This is a convenience method in case you don't have a nodeFront but a
    * valueGrip. This is often the case with VariablesView properties.
    * This method will simply translate the grip into a nodeFront and call
    * highlightNodeFront, so it has the same signature.
    * @see highlightNodeFront
    */
   let highlightDomValueGrip = exported.highlightDomValueGrip = requireInspector(
-  function*(valueGrip, options={}) {
+  function* (valueGrip, options = {}) {
     let nodeFront = yield gripToNodeFront(valueGrip);
     if (nodeFront) {
       yield highlightNodeFront(nodeFront, options);
     } else {
       throw new Error("The ValueGrip passed could not be translated to a NodeFront");
     }
   });
 
   /**
    * Translate a debugger value grip into a node front usable by the inspector
    * @param {ValueGrip}
    * @return a promise that resolves to the node front when done
    */
   let gripToNodeFront = exported.gripToNodeFront = requireInspector(
-  function*(grip) {
+  function* (grip) {
     return yield toolbox.walker.getNodeActorFromObjectActor(grip.actor);
   });
 
   /**
    * Hide the highlighter.
    * @param {Boolean} forceHide Only really matters in test mode (when
    * DevToolsUtils.testing is true). In test mode, hovering over several nodes
    * in the markup view doesn't hide/show the highlighter to ease testing. The
    * highlighter stays visible at all times, except when the mouse leaves the
    * markup view, which is when this param is passed to true
    * @return a promise that resolves when the highlighter is hidden
    */
   let unhighlight = exported.unhighlight = Task.async(
-  function*(forceHide=false) {
+  function* (forceHide = false) {
     forceHide = forceHide || !DevToolsUtils.testing;
 
     // Note that if isRemoteHighlightable is true, there's no need to hide the
     // highlighter as the walker uses setTimeout to hide it after some time
     if (isNodeFrontHighlighted && forceHide && toolbox.highlighter && isRemoteHighlightable()) {
       isNodeFrontHighlighted = false;
       yield toolbox.highlighter.hideBoxModel();
     }
@@ -279,17 +279,17 @@ exports.getHighlighterUtils = function(t
    * highlighters are needed in parallel, this method can be used to return a
    * new instance of a highlighter actor, given a type.
    * The type of the highlighter passed must be known by the server.
    * The highlighter actor returned will have the show(nodeFront) and hide()
    * methods and needs to be released by the consumer when not needed anymore.
    * @return a promise that resolves to the highlighter
    */
   let getHighlighterByType = exported.getHighlighterByType = requireInspector(
-  function*(typeName) {
+  function* (typeName) {
     let highlighter = null;
 
     if (supportsCustomHighlighters()) {
       highlighter = yield toolbox.inspector.getHighlighterByType(typeName);
     }
 
     return highlighter || promise.reject("The target doesn't support " +
         `creating highlighters by types or ${typeName} is unknown`);
--- a/devtools/client/framework/toolbox-hosts.js
+++ b/devtools/client/framework/toolbox-hosts.js
@@ -48,17 +48,17 @@ function BottomHost(hostTab) {
 BottomHost.prototype = {
   type: "bottom",
 
   heightPref: "devtools.toolbox.footer.height",
 
   /**
    * Create a box at the bottom of the host tab.
    */
-  create: function() {
+  create: function () {
     let deferred = promise.defer();
 
     let gBrowser = this.hostTab.ownerDocument.defaultView.gBrowser;
     let ownerDocument = gBrowser.ownerDocument;
     this._nbox = gBrowser.getNotificationBox(this.hostTab.linkedBrowser);
 
     this._splitter = ownerDocument.createElement("splitter");
     this._splitter.setAttribute("class", "devtools-horizontal-splitter");
@@ -89,26 +89,26 @@ BottomHost.prototype = {
     focusTab(this.hostTab);
 
     return deferred.promise;
   },
 
   /**
    * Raise the host.
    */
-  raise: function() {
+  raise: function () {
     focusTab(this.hostTab);
   },
 
   /**
    * Minimize this host so that only the toolbox tabbar remains visible.
    * @param {Number} height The height to minimize to. Defaults to 0, which
    * means that the toolbox won't be visible at all once minimized.
    */
-  minimize: function(height=0) {
+  minimize: function (height = 0) {
     if (this.isMinimized) {
       return;
     }
     this.isMinimized = true;
 
     let onTransitionEnd = event => {
       if (event.propertyName !== "margin-bottom") {
         // Ignore transitionend on unrelated properties.
@@ -122,17 +122,17 @@ BottomHost.prototype = {
     this.frame.style.marginBottom = -this.frame.height + height + "px";
     this._splitter.classList.add("disabled");
   },
 
   /**
    * If the host was minimized before, maximize it again (the host will be
    * maximized to the height it previously had).
    */
-  maximize: function() {
+  maximize: function () {
     if (!this.isMinimized) {
       return;
     }
     this.isMinimized = false;
 
     let onTransitionEnd = event => {
       if (event.propertyName !== "margin-bottom") {
         // Ignore transitionend on unrelated properties.
@@ -146,30 +146,30 @@ BottomHost.prototype = {
     this.frame.style.marginBottom = "0";
     this._splitter.classList.remove("disabled");
   },
 
   /**
    * Toggle the minimize mode.
    * @param {Number} minHeight The height to minimize to.
    */
-  toggleMinimizeMode: function(minHeight) {
+  toggleMinimizeMode: function (minHeight) {
     this.isMinimized ? this.maximize() : this.minimize(minHeight);
   },
 
   /**
    * Set the toolbox title.
    * Nothing to do for this host type.
    */
-  setTitle: function() {},
+  setTitle: function () {},
 
   /**
    * Destroy the bottom dock.
    */
-  destroy: function() {
+  destroy: function () {
     if (!this._destroyed) {
       this._destroyed = true;
 
       Services.prefs.setIntPref(this.heightPref, this.frame.height);
       this._nbox.removeChild(this._splitter);
       this._nbox.removeChild(this.frame);
     }
 
@@ -189,17 +189,17 @@ function SidebarHost(hostTab) {
 SidebarHost.prototype = {
   type: "side",
 
   widthPref: "devtools.toolbox.sidebar.width",
 
   /**
    * Create a box in the sidebar of the host tab.
    */
-  create: function() {
+  create: function () {
     let deferred = promise.defer();
 
     let gBrowser = this.hostTab.ownerDocument.defaultView.gBrowser;
     let ownerDocument = gBrowser.ownerDocument;
     this._sidebar = gBrowser.getSidebarContainer(this.hostTab.linkedBrowser);
 
     this._splitter = ownerDocument.createElement("splitter");
     this._splitter.setAttribute("class", "devtools-side-splitter");
@@ -229,30 +229,30 @@ SidebarHost.prototype = {
     focusTab(this.hostTab);
 
     return deferred.promise;
   },
 
   /**
    * Raise the host.
    */
-  raise: function() {
+  raise: function () {
     focusTab(this.hostTab);
   },
 
   /**
    * Set the toolbox title.
    * Nothing to do for this host type.
    */
-  setTitle: function() {},
+  setTitle: function () {},
 
   /**
    * Destroy the sidebar.
    */
-  destroy: function() {
+  destroy: function () {
     if (!this._destroyed) {
       this._destroyed = true;
 
       Services.prefs.setIntPref(this.widthPref, this.frame.width);
       this._sidebar.removeChild(this._splitter);
       this._sidebar.removeChild(this.frame);
     }
 
@@ -272,17 +272,17 @@ function WindowHost() {
 WindowHost.prototype = {
   type: "window",
 
   WINDOW_URL: "chrome://devtools/content/framework/toolbox-window.xul",
 
   /**
    * Create a new xul window to contain the toolbox.
    */
-  create: function() {
+  create: function () {
     let deferred = promise.defer();
 
     let flags = "chrome,centerscreen,resizable,dialog=no";
     let win = Services.ww.openWindow(null, this.WINDOW_URL, "_blank",
                                      flags, null);
 
     let frameLoad = () => {
       win.removeEventListener("load", frameLoad, true);
@@ -308,43 +308,43 @@ WindowHost.prototype = {
     this._window = win;
 
     return deferred.promise;
   },
 
   /**
    * Catch the user closing the window.
    */
-  _boundUnload: function(event) {
+  _boundUnload: function (event) {
     if (event.target.location != this.WINDOW_URL) {
       return;
     }
     this._window.removeEventListener("unload", this._boundUnload);
 
     this.emit("window-closed");
   },
 
   /**
    * Raise the host.
    */
-  raise: function() {
+  raise: function () {
     this._window.focus();
   },
 
   /**
    * Set the toolbox title.
    */
-  setTitle: function(title) {
+  setTitle: function (title) {
     this._window.document.title = title;
   },
 
   /**
    * Destroy the window.
    */
-  destroy: function() {
+  destroy: function () {
     if (!this._destroyed) {
       this._destroyed = true;
 
       this._window.removeEventListener("unload", this._boundUnload);
       this._window.close();
     }
 
     return promise.resolve(null);
@@ -358,55 +358,55 @@ function CustomHost(hostTab, options) {
   this.frame = options.customIframe;
   this.uid = options.uid;
   EventEmitter.decorate(this);
 }
 
 CustomHost.prototype = {
   type: "custom",
 
-  _sendMessageToTopWindow: function(msg, data) {
+  _sendMessageToTopWindow: function (msg, data) {
     // It's up to the custom frame owner (parent window) to honor
     // "close" or "raise" instructions.
     let topWindow = this.frame.ownerDocument.defaultView;
     if (!topWindow) {
       return;
     }
     let json = {name: "toolbox-" + msg, uid: this.uid};
     if (data) {
       json.data = data;
     }
     topWindow.postMessage(JSON.stringify(json), "*");
   },
 
   /**
    * Create a new xul window to contain the toolbox.
    */
-  create: function() {
+  create: function () {
     return promise.resolve(this.frame);
   },
 
   /**
    * Raise the host.
    */
-  raise: function() {
+  raise: function () {
     this._sendMessageToTopWindow("raise");
   },
 
   /**
    * Set the toolbox title.
    */
-  setTitle: function(title) {
+  setTitle: function (title) {
     this._sendMessageToTopWindow("title", { value: title });
   },
 
   /**
    * Destroy the window.
    */
-  destroy: function() {
+  destroy: function () {
     if (!this._destroyed) {
       this._destroyed = true;
       this._sendMessageToTopWindow("close");
     }
     return promise.resolve(null);
   }
 };
 
--- a/devtools/client/framework/toolbox-init.js
+++ b/devtools/client/framework/toolbox-init.js
@@ -46,17 +46,17 @@ if (url.search.length > 1) {
       // linkedBrowser is the only one attribute being queried by client.getTab
       let tab = { linkedBrowser: iframe };
 
       if (!DebuggerServer.initialized) {
         DebuggerServer.init();
         DebuggerServer.addBrowserActors();
       }
       let client = new DebuggerClient(DebuggerServer.connectPipe());
-      Task.spawn(function*() {
+      Task.spawn(function* () {
         yield client.connect();
         // Creates a target for a given browser iframe.
         let response = yield client.getTab({ tab });
         let form = response.tab;
         let target = yield TargetFactory.forRemoteTab({client, form, chrome: false});
         let options = { customIframe: host };
         yield gDevTools.showToolbox(target, tool, Toolbox.HostType.CUSTOM, options);
       });
--- a/devtools/client/framework/toolbox-options.js
+++ b/devtools/client/framework/toolbox-options.js
@@ -9,19 +9,19 @@
 const Services = require("Services");
 const promise = require("promise");
 const {XPCOMUtils} = require("resource://gre/modules/XPCOMUtils.jsm");
 const {Task} = require("resource://gre/modules/Task.jsm");
 const {gDevTools} = require("devtools/client/framework/devtools");
 
 exports.OptionsPanel = OptionsPanel;
 
-XPCOMUtils.defineLazyGetter(this, "l10n", function() {
+XPCOMUtils.defineLazyGetter(this, "l10n", function () {
   let bundle = Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
-  let l10n = function(name, ...aArgs) {
+  let l10n = function (name, ...aArgs) {
     try {
       if (aArgs.length == 0) {
         return bundle.GetStringFromName(name);
       }
       return bundle.formatStringFromName(name, aArgs, aArgs.length);
     } catch (ex) {
       console.log("Error reading '" + name + "'");
     }
@@ -90,68 +90,68 @@ function OptionsPanel(iframeWindow, tool
 }
 
 OptionsPanel.prototype = {
 
   get target() {
     return this.toolbox.target;
   },
 
-  open: Task.async(function*() {
+  open: Task.async(function* () {
     // For local debugging we need to make the target remote.
     if (!this.target.isRemote) {
       yield this.target.makeRemote();
     }
 
     this.setupToolsList();
     this.setupToolbarButtonsList();
     this.setupThemeList();
     yield this.populatePreferences();
     this.isReady = true;
     this.emit("ready");
     return this;
   }),
 
-  _addListeners: function() {
+  _addListeners: function () {
     gDevTools.on("pref-changed", this._prefChanged);
     gDevTools.on("theme-registered", this._themeRegistered);
     gDevTools.on("theme-unregistered", this._themeUnregistered);
   },
 
-  _removeListeners: function() {
+  _removeListeners: function () {
     gDevTools.off("pref-changed", this._prefChanged);
     gDevTools.off("theme-registered", this._themeRegistered);
     gDevTools.off("theme-unregistered", this._themeUnregistered);
   },
 
-  _prefChanged: function(event, data) {
+  _prefChanged: function (event, data) {
     if (data.pref === "devtools.cache.disabled") {
       let cacheDisabled = data.newValue;
       let cbx = this.panelDoc.getElementById("devtools-disable-cache");
 
       cbx.checked = cacheDisabled;
     } else if (data.pref === "devtools.theme") {
       this.updateCurrentTheme();
     }
   },
 
-  _themeRegistered: function(event, themeId) {
+  _themeRegistered: function (event, themeId) {
     this.setupThemeList();
   },
 
-  _themeUnregistered: function(event, theme) {
+  _themeUnregistered: function (event, theme) {
     let themeBox = this.panelDoc.getElementById("devtools-theme-box");
     let themeInput = themeBox.querySelector(`[value=${theme.id}]`);
 
     if (themeInput) {
       themeInput.parentNode.remove();
     }
   },
 
-  setupToolbarButtonsList: function() {
+  setupToolbarButtonsList: function () {
     let enabledToolbarButtonsBox = this.panelDoc.getElementById(
       "enabled-toolbox-buttons-box");
 
     let toggleableButtons = this.toolbox.toolboxButtons;
     let setToolboxButtonsVisibility =
       this.toolbox.setToolboxButtonsVisibility.bind(this.toolbox);
 
     let onCheckboxClick = (checkbox) => {
@@ -184,25 +184,25 @@ OptionsPanel.prototype = {
       if (!tool.isTargetSupported(this.toolbox.target)) {
         continue;
       }
 
       enabledToolbarButtonsBox.appendChild(createCommandCheckbox(tool));
     }
   },
 
-  setupToolsList: function() {
+  setupToolsList: function () {
     let defaultToolsBox = this.panelDoc.getElementById("default-tools-box");
     let additionalToolsBox = this.panelDoc.getElementById(
       "additional-tools-box");
     let toolsNotSupportedLabel = this.panelDoc.getElementById(
       "tools-not-supported-label");
     let atleastOneToolNotSupported = false;
 
-    let onCheckboxClick = function(id) {
+    let onCheckboxClick = function (id) {
       let toolDefinition = gDevTools._tools.get(id);
       // Set the kill switch pref boolean to true
       Services.prefs.setBoolPref(toolDefinition.visibilityswitch, this.checked);
       if (this.checked) {
         gDevTools.emit("tool-registered", id);
       } else {
         gDevTools.emit("tool-unregistered", toolDefinition);
       }
@@ -260,26 +260,26 @@ OptionsPanel.prototype = {
 
     if (!atleastOneToolNotSupported) {
       toolsNotSupportedLabel.style.display = "none";
     }
 
     this.panelWin.focus();
   },
 
-  setupThemeList: function() {
+  setupThemeList: function () {
     let themeBox = this.panelDoc.getElementById("devtools-theme-box");
 
     let createThemeOption = theme => {
       let inputLabel = this.panelDoc.createElement("label");
       let inputRadio = this.panelDoc.createElement("input");
       inputRadio.setAttribute("type", "radio");
       inputRadio.setAttribute("value", theme.id);
       inputRadio.setAttribute("name", "devtools-theme-item");
-      inputRadio.addEventListener("change", function(e) {
+      inputRadio.addEventListener("change", function (e) {
         setPrefAndEmit(themeBox.getAttribute("data-pref"),
           e.target.value);
       });
 
       let inputSpanLabel = this.panelDoc.createElement("span");
       inputSpanLabel.textContent = theme.label;
       inputLabel.appendChild(inputRadio);
       inputLabel.appendChild(inputSpanLabel);
@@ -291,59 +291,59 @@ OptionsPanel.prototype = {
     let themes = gDevTools.getThemeDefinitionArray();
     for (let theme of themes) {
       themeBox.appendChild(createThemeOption(theme));
     }
 
     this.updateCurrentTheme();
   },
 
-  populatePreferences: function() {
+  populatePreferences: function () {
     let prefCheckboxes = this.panelDoc.querySelectorAll(
       "input[type=checkbox][data-pref]");
     for (let prefCheckbox of prefCheckboxes) {
       if (GetPref(prefCheckbox.getAttribute("data-pref"))) {
         prefCheckbox.setAttribute("checked", true);
       }
-      prefCheckbox.addEventListener("change", function(e) {
+      prefCheckbox.addEventListener("change", function (e) {
         let checkbox = e.target;
         setPrefAndEmit(checkbox.getAttribute("data-pref"), checkbox.checked);
       });
     }
     // Themes radio inputs are handled in setupThemeList
     let prefRadiogroups = this.panelDoc.querySelectorAll(
       ".radiogroup[data-pref]:not(#devtools-theme-box)");
     for (let radioGroup of prefRadiogroups) {
       let selectedValue = GetPref(radioGroup.getAttribute("data-pref"));
 
       for (let radioInput of radioGroup.querySelectorAll("input[type=radio]")) {
         if (radioInput.getAttribute("value") == selectedValue) {
           radioInput.setAttribute("checked", true);
         }
 
-        radioInput.addEventListener("change", function(e) {
+        radioInput.addEventListener("change", function (e) {
           setPrefAndEmit(radioGroup.getAttribute("data-pref"),
             e.target.value);
         });
       }
     }
     let prefSelects = this.panelDoc.querySelectorAll("select[data-pref]");
     for (let prefSelect of prefSelects) {
       let pref = GetPref(prefSelect.getAttribute("data-pref"));
       let options = [...prefSelect.options];
-      options.some(function(option) {
+      options.some(function (option) {
         let value = option.value;
         // non strict check to allow int values.
         if (value == pref) {
           prefSelect.selectedIndex = options.indexOf(option);
           return true;
         }
       });
 
-      prefSelect.addEventListener("change", function(e) {
+      prefSelect.addEventListener("change", function (e) {
         let select = e.target;
         setPrefAndEmit(select.getAttribute("data-pref"),
           select.options[select.selectedIndex].value);
       });
     }
 
     if (this.target.activeTab) {
       return this.target.client.attachTab(this.target.activeTab._actor)
@@ -352,17 +352,17 @@ OptionsPanel.prototype = {
           this.disableJSNode.checked = this._origJavascriptEnabled;
           this.disableJSNode.addEventListener("click",
             this._disableJSClicked, false);
         });
     }
     this.disableJSNode.hidden = true;
   },
 
-  updateCurrentTheme: function() {
+  updateCurrentTheme: function () {
     let currentTheme = GetPref("devtools.theme");
     let themeBox = this.panelDoc.getElementById("devtools-theme-box");
     let themeRadioInput = themeBox.querySelector(`[value=${currentTheme}]`);
 
     if (themeRadioInput) {
       themeRadioInput.click();
     } else {
       // If the current theme does not exist anymore, switch to light theme
@@ -376,27 +376,27 @@ OptionsPanel.prototype = {
    * here because setting docShell.allowJavascript to true fails to block JS
    * execution from event listeners added using addEventListener(), AJAX calls
    * and timers. The page refresh prevents these things from being added in the
    * first place.
    *
    * @param {Event} event
    *        The event sent by checking / unchecking the disable JS checkbox.
    */
-  _disableJSClicked: function(event) {
+  _disableJSClicked: function (event) {
     let checked = event.target.checked;
 
     let options = {
       "javascriptEnabled": !checked
     };
 
     this.target.activeTab.reconfigure(options);
   },
 
-  destroy: function() {
+  destroy: function () {
     if (this.destroyPromise) {
       return this.destroyPromise;
     }
 
     let deferred = promise.defer();
     this.destroyPromise = deferred.promise;
 
     this._removeListeners();
--- a/devtools/client/framework/toolbox.js
+++ b/devtools/client/framework/toolbox.js
@@ -199,41 +199,41 @@ Toolbox.prototype = {
   lastUsedToolId: null,
 
   /**
    * Returns a *copy* of the _toolPanels collection.
    *
    * @return {Map} panels
    *         All the running panels in the toolbox
    */
-  getToolPanels: function() {
+  getToolPanels: function () {
     return new Map(this._toolPanels);
   },
 
   /**
    * Access the panel for a given tool
    */
-  getPanel: function(id) {
+  getPanel: function (id) {
     return this._toolPanels.get(id);
   },
 
   /**
    * Get the panel instance for a given tool once it is ready.
    * If the tool is already opened, the promise will resolve immediately,
    * otherwise it will wait until the tool has been opened before resolving.
    *
    * Note that this does not open the tool, use selectTool if you'd
    * like to select the tool right away.
    *
    * @param  {String} id
    *         The id of the panel, for example "jsdebugger".
    * @returns Promise
    *          A promise that resolves once the panel is ready.
    */
-  getPanelWhenReady: function(id) {
+  getPanelWhenReady: function (id) {
     let deferred = promise.defer();
     let panel = this.getPanel(id);
     if (panel) {
       deferred.resolve(panel);
     } else {
       this.on(id + "-ready", (e, panel) => {
         deferred.resolve(panel);
       });
@@ -242,17 +242,17 @@ Toolbox.prototype = {
     return deferred.promise;
   },
 
   /**
    * This is a shortcut for getPanel(currentToolId) because it is much more
    * likely that we're going to want to get the panel that we've just made
    * visible
    */
-  getCurrentPanel: function() {
+  getCurrentPanel: function () {
     return this._toolPanels.get(this.currentToolId);
   },
 
   /**
    * Get/alter the target of a Toolbox so we're debugging something different.
    * See Target.jsm for more details.
    * TODO: Do we allow |toolbox.target = null;| ?
    */
@@ -346,30 +346,30 @@ Toolbox.prototype = {
    * Get the toggled state of the split console
    */
   get splitConsole() {
     return this._splitConsole;
   },
   /**
    * Get the focused state of the split console
    */
-  isSplitConsoleFocused: function() {
+  isSplitConsoleFocused: function () {
     if (!this._splitConsole) {
       return false;
     }
     let focusedWin = Services.focus.focusedWindow;
     return focusedWin && focusedWin ===
       this.doc.querySelector("#toolbox-panel-iframe-webconsole").contentWindow;
   },
 
   /**
    * Open the toolbox
    */
-  open: function() {
-    return Task.spawn(function*() {
+  open: function () {
+    return Task.spawn(function* () {
       let iframe = yield this._host.create();
       let domReady = promise.defer();
 
       // Prevent reloading the document when the toolbox is opened in a tab
       let location = iframe.contentWindow.location.href;
       if (!location.startsWith(this._URL)) {
         iframe.setAttribute("src", this._URL);
       } else {
@@ -482,17 +482,17 @@ Toolbox.prototype = {
       if (DevToolsUtils.testing) {
         yield performanceFrontConnection;
       }
 
       this.emit("ready");
     }.bind(this)).then(null, console.error.bind(console));
   },
 
-  _pingTelemetry: function() {
+  _pingTelemetry: function () {
     this._telemetry.toolOpened("toolbox");
 
     this._telemetry.logOncePerBrowserVersion(OS_HISTOGRAM, system.getOSCPU());
     this._telemetry.logOncePerBrowserVersion(OS_IS_64_BITS, system.is64Bit ? 1 : 0);
     this._telemetry.logOncePerBrowserVersion(SCREENSIZE_HISTOGRAM, system.getScreenDimensions());
   },
 
   /**
@@ -502,45 +502,45 @@ Toolbox.prototype = {
    *         The event type, "pref-changed".
    * @param  {Object} data
    *         {
    *           newValue: The new value
    *           oldValue:  The old value
    *           pref: The name of the preference that has changed
    *         }
    */
-  _prefChanged: function(event, data) {
+  _prefChanged: function (event, data) {
     switch (data.pref) {
       case "devtools.cache.disabled":
         this._applyCacheSettings();
         break;
       case "devtools.serviceWorkers.testing.enabled":
         this._applyServiceWorkersTestingSettings();
         break;
     }
   },
 
-  _buildOptions: function() {
+  _buildOptions: function () {
     let selectOptions = () => {
       // Flip back to the last used panel if we are already
       // on the options panel.
       if (this.currentToolId === "options" &&
           gDevTools.getToolDefinition(this.lastUsedToolId)) {
         this.selectTool(this.lastUsedToolId);
       } else {
         this.selectTool("options");
       }
     };
     let key = this.doc.getElementById("toolbox-options-key");
     key.addEventListener("command", selectOptions, true);
     let key2 = this.doc.getElementById("toolbox-options-key2");
     key2.addEventListener("command", selectOptions, true);
   },
 
-  _splitConsoleOnKeypress: function(e) {
+  _splitConsoleOnKeypress: function (e) {
     if (e.keyCode === e.DOM_VK_ESCAPE) {
       this.toggleSplitConsole();
       // If the debugger is paused, don't let the ESC key stop any pending
       // navigation.
       let jsdebugger = this.getPanel("jsdebugger");
       if (jsdebugger && jsdebugger.panelWin.gThreadClient.state == "paused") {
         e.preventDefault();
       }
@@ -551,43 +551,43 @@ Toolbox.prototype = {
    * has focus to the toolbox.
    *
    * @param {element} keyElement
    *        They <key> XUL element describing the shortcut key
    * @param {string} whichTool
    *        The tool the key belongs to. The corresponding command
    *        will only trigger if this tool is active.
    */
-  useKeyWithSplitConsole: function(keyElement, whichTool) {
+  useKeyWithSplitConsole: function (keyElement, whichTool) {
     let cloned = keyElement.cloneNode();
     cloned.setAttribute("oncommand", "void(0)");
     cloned.removeAttribute("command");
     cloned.addEventListener("command", (e) => {
       // Only forward the command if the tool is active
       if (this.currentToolId === whichTool && this.isSplitConsoleFocused()) {
         keyElement.doCommand();
       }
     }, true);
     this.doc.getElementById("toolbox-keyset").appendChild(cloned);
   },
 
-  _addReloadKeys: function() {
+  _addReloadKeys: function () {
     [
       ["toolbox-reload-key", false],
       ["toolbox-reload-key2", false],
       ["toolbox-force-reload-key", true],
       ["toolbox-force-reload-key2", true]
     ].forEach(([id, force]) => {
       this.doc.getElementById(id).addEventListener("command", () => {
         this.reloadTarget(force);
       }, true);
     });
   },
 
-  _addHostListeners: function() {
+  _addHostListeners: function () {
     let nextKey = this.doc.getElementById("toolbox-next-tool-key");
     nextKey.addEventListener("command", this.selectNextTool.bind(this), true);
 
     let prevKey = this.doc.getElementById("toolbox-previous-tool-key");
     prevKey.addEventListener("command", this.selectPreviousTool.bind(this), true);
 
     let minimizeKey = this.doc.getElementById("toolbox-minimize-key");
     minimizeKey.addEventListener("command", this._toggleMinimizeMode, true);
@@ -597,38 +597,38 @@ Toolbox.prototype = {
 
     // Split console uses keypress instead of command so the event can be
     // cancelled with stopPropagation on the keypress, and not preventDefault.
     this.doc.addEventListener("keypress", this._splitConsoleOnKeypress, false);
 
     this.doc.addEventListener("focus", this._onFocus, true);
   },
 
-  _registerOverlays: function() {
+  _registerOverlays: function () {
     registerHarOverlay(this);
   },
 
-  _saveSplitConsoleHeight: function() {
+  _saveSplitConsoleHeight: function () {
     Services.prefs.setIntPref(SPLITCONSOLE_HEIGHT_PREF,
       this.webconsolePanel.height);
   },
 
   /**
    * Make sure that the console is showing up properly based on all the
    * possible conditions.
    *   1) If the console tab is selected, then regardless of split state
    *      it should take up the full height of the deck, and we should
    *      hide the deck and splitter.
    *   2) If the console tab is not selected and it is split, then we should
    *      show the splitter, deck, and console.
    *   3) If the console tab is not selected and it is *not* split,
    *      then we should hide the console and splitter, and show the deck
    *      at full height.
    */
-  _refreshConsoleDisplay: function() {
+  _refreshConsoleDisplay: function () {
     let deck = this.doc.getElementById("toolbox-deck");
     let webconsolePanel = this.webconsolePanel;
     let splitter = this.doc.getElementById("toolbox-console-splitter");
     let openedConsolePanel = this.currentToolId === "webconsole";
 
     if (openedConsolePanel) {
       deck.setAttribute("collapsed", "true");
       splitter.setAttribute("hidden", "true");
@@ -643,17 +643,17 @@ Toolbox.prototype = {
         splitter.setAttribute("hidden", "true");
       }
     }
   },
 
   /**
    * Wire up the listeners for the zoom keys.
    */
-  _addZoomKeys: function() {
+  _addZoomKeys: function () {
     let inKey = this.doc.getElementById("toolbox-zoom-in-key");
     inKey.addEventListener("command", this.zoomIn.bind(this), true);
 
     let inKey2 = this.doc.getElementById("toolbox-zoom-in-key2");
     inKey2.addEventListener("command", this.zoomIn.bind(this), true);
 
     let inKey3 = this.doc.getElementById("toolbox-zoom-in-key3");
     inKey3.addEventListener("command", this.zoomIn.bind(this), true);
@@ -666,17 +666,17 @@ Toolbox.prototype = {
 
     let resetKey = this.doc.getElementById("toolbox-zoom-reset-key");
     resetKey.addEventListener("command", this.zoomReset.bind(this), true);
 
     let resetKey2 = this.doc.getElementById("toolbox-zoom-reset-key2");
     resetKey2.addEventListener("command", this.zoomReset.bind(this), true);
   },
 
-  _disableZoomKeys: function() {
+  _disableZoomKeys: function () {
     let inKey = this.doc.getElementById("toolbox-zoom-in-key");
     inKey.setAttribute("disabled", "true");
 
     let inKey2 = this.doc.getElementById("toolbox-zoom-in-key2");
     inKey2.setAttribute("disabled", "true");
 
     let inKey3 = this.doc.getElementById("toolbox-zoom-in-key3");
     inKey3.setAttribute("disabled", "true");
@@ -692,48 +692,48 @@ Toolbox.prototype = {
 
     let resetKey2 = this.doc.getElementById("toolbox-zoom-reset-key2");
     resetKey2.setAttribute("disabled", "true");
   },
 
   /**
    * Set zoom on toolbox to whatever the last setting was.
    */
-  _loadInitialZoom: function() {
+  _loadInitialZoom: function () {
     this.setZoom(this.zoomValue);
   },
 
   /**
    * Increase zoom level of toolbox window - make things bigger.
    */
-  zoomIn: function() {
+  zoomIn: function () {
     this.setZoom(this.zoomValue + 0.1);
   },
 
   /**
    * Decrease zoom level of toolbox window - make things smaller.
    */
-  zoomOut: function() {
+  zoomOut: function () {
     this.setZoom(this.zoomValue - 0.1);
   },
 
   /**
    * Reset zoom level of the toolbox window.
    */
-  zoomReset: function() {
+  zoomReset: function () {
     this.setZoom(1);
   },
 
   /**
    * Set zoom level of the toolbox window.
    *
    * @param {number} zoomValue
    *        Zoom level e.g. 1.2
    */
-  setZoom: function(zoomValue) {
+  setZoom: function (zoomValue) {
     // cap zoom value
     zoomValue = Math.max(zoomValue, MIN_ZOOM);
     zoomValue = Math.min(zoomValue, MAX_ZOOM);
 
     let docShell = this.win.QueryInterface(Ci.nsIInterfaceRequestor)
       .getInterface(Ci.nsIWebNavigation)
       .QueryInterface(Ci.nsIDocShell);
     let contViewer = docShell.contentViewer;
@@ -741,17 +741,17 @@ Toolbox.prototype = {
     contViewer.fullZoom = zoomValue;
 
     Services.prefs.setCharPref(ZOOM_PREF, zoomValue);
   },
 
   /**
    * Adds the keys and commands to the Toolbox Window in window mode.
    */
-  _addKeysToWindow: function() {
+  _addKeysToWindow: function () {
     if (this.hostType != Toolbox.HostType.WINDOW) {
       return;
     }
 
     let doc = this.win.parent.document;
 
     for (let [id, toolDefinition] of gDevTools.getToolDefinitionMap()) {
       // Prevent multiple entries for the same tool.
@@ -796,47 +796,47 @@ Toolbox.prototype = {
   },
 
   /**
    * Handle any custom key events.  Returns true if there was a custom key
    * binding run.
    * @param {string} toolId Which tool to run the command on (skip if not
    * current)
    */
-  fireCustomKey: function(toolId) {
+  fireCustomKey: function (toolId) {
     let toolDefinition = gDevTools.getToolDefinition(toolId);
 
     if (toolDefinition.onkey &&
         ((this.currentToolId === toolId) ||
           (toolId == "webconsole" && this.splitConsole))) {
       toolDefinition.onkey(this.getCurrentPanel(), this);
     }
   },
 
   /**
    * Build the notification box. Called every time the host changes.
    */
-  _buildNotificationBox: function() {
+  _buildNotificationBox: function () {
     let { NotificationBox, PriorityLevels } =
       this.browserRequire("devtools/client/shared/components/notification-box");
 
     NotificationBox = this.React.createFactory(NotificationBox);
 
     // Render NotificationBox and assign priority levels to it.
     let box = this.doc.getElementById("toolbox-notificationbox");
     this.notificationBox = Object.assign(
       this.ReactDOM.render(NotificationBox({}), box),
       PriorityLevels);
   },
 
   /**
    * Build the buttons for changing hosts. Called every time
    * the host changes.
    */
-  _buildDockButtons: function() {
+  _buildDockButtons: function () {
     let dockBox = this.doc.getElementById("toolbox-dock-buttons");
 
     while (dockBox.firstChild) {
       dockBox.removeChild(dockBox.firstChild);
     }
 
     if (!this._target.isLocalTab) {
       return;
@@ -885,70 +885,70 @@ Toolbox.prototype = {
       button.addEventListener("command", () => {
         this.switchHost(position);
       });
 
       dockBox.appendChild(button);
     }
   },
 
-  _getMinimizeButtonShortcutTooltip: function() {
+  _getMinimizeButtonShortcutTooltip: function () {
     let key = this.doc.getElementById("toolbox-minimize-key")
                       .getAttribute("key");
     return "(" + (osString == "Darwin" ? "Cmd+Shift+" : "Ctrl+Shift+") +
            key.toUpperCase() + ")";
   },
 
-  _onBottomHostMinimized: function() {
+  _onBottomHostMinimized: function () {
     let btn = this.doc.querySelector("#toolbox-dock-bottom-minimize");
     btn.className = "minimized";
 
     btn.setAttribute("tooltiptext",
       toolboxStrings("toolboxDockButtons.bottom.maximize") + " " +
       this._getMinimizeButtonShortcutTooltip());
   },
 
-  _onBottomHostMaximized: function() {
+  _onBottomHostMaximized: function () {
     let btn = this.doc.querySelector("#toolbox-dock-bottom-minimize");
     btn.className = "maximized";
 
     btn.setAttribute("tooltiptext",
       toolboxStrings("toolboxDockButtons.bottom.minimize") + " " +
       this._getMinimizeButtonShortcutTooltip());
   },
 
-  _onToolSelectWhileMinimized: function() {
+  _onToolSelectWhileMinimized: function () {
     this._host.maximize();
   },
 
-  _onBottomHostWillChange: function() {
+  _onBottomHostWillChange: function () {
     this._host.maximize();
 
     this._host.off("minimized", this._onBottomHostMinimized);
     this._host.off("maximized", this._onBottomHostMaximized);
     this.off("before-select", this._onToolSelectWhileMinimized);
   },
 
-  _toggleMinimizeMode: function() {
+  _toggleMinimizeMode: function () {
     if (this.hostType !== Toolbox.HostType.BOTTOM) {
       return;
     }
 
     // Calculate the height to which the host should be minimized so the
     // tabbar is still visible.
     let toolbarHeight = this.doc.querySelector(".devtools-tabbar")
                                 .getBoxQuads({box: "content"})[0]
                                 .bounds.height;
     this._host.toggleMinimizeMode(toolbarHeight);
   },
 
   /**
    * Add tabs to the toolbox UI for registered tools
    */
-  _buildTabs: function() {
+  _buildTabs: function () {
     for (let definition of gDevTools.getToolDefinitionArray()) {
       this._buildTabForTool(definition);
     }
   },
 
   /**
    * Sets up keyboard navigation with and within the dev tools toolbar.
    */
@@ -969,17 +969,17 @@ Toolbox.prototype = {
         // not available, set it to target.
         toolbar.setAttribute("aria-activedescendant", target.id);
       } else {
         // When range parent is not present, we focused into the toolbar, move
         // focus to current aria-activedescendant.
         event.preventDefault();
         control.focus();
       }
-    }, true)
+    }, true);
 
     toolbar.addEventListener("keypress", event => {
       let { key, target } = event;
       let win = this.win;
       let elm, type;
       if (key === "Tab") {
         // Tabbing when toolbar or its contents are focused should move focus to
         // next/previous focusable element relative to toolbar itself.
@@ -1013,57 +1013,57 @@ Toolbox.prototype = {
       event.preventDefault();
       Services.focus.moveFocus(win, elm, type, 0);
     });
   },
 
   /**
    * Add buttons to the UI as specified in the devtools.toolbox.toolbarSpec pref
    */
-  _buildButtons: function() {
+  _buildButtons: function () {
     if (!this.target.isAddon) {
       this._buildPickerButton();
     }
 
     this.setToolboxButtonsVisibility();
 
     // Old servers don't have a GCLI Actor, so just return
     if (!this.target.hasActor("gcli")) {
       return promise.resolve();
     }
     // Disable gcli in browser toolbox until there is usages of it
     if (this.target.chrome) {
       return promise.resolve();
     }
 
     const options = {
-      environment: CommandUtils.createEnvironment(this, '_target')
+      environment: CommandUtils.createEnvironment(this, "_target")
     };
     return CommandUtils.createRequisition(this.target, options).then(requisition => {
       this._requisition = requisition;
 
       const spec = CommandUtils.getCommandbarSpec("devtools.toolbox.toolbarSpec");
       return CommandUtils.createButtons(spec, this.target, this.doc,
                                         requisition).then(buttons => {
-        let container = this.doc.getElementById("toolbox-buttons");
-        buttons.forEach(button=> {
-          if (button) {
-            container.appendChild(button);
-          }
-        });
-        this.setToolboxButtonsVisibility();
-      });
+                                          let container = this.doc.getElementById("toolbox-buttons");
+                                          buttons.forEach(button=> {
+                                            if (button) {
+                                              container.appendChild(button);
+                                            }
+                                          });
+                                          this.setToolboxButtonsVisibility();
+                                        });
     });
   },
 
   /**
    * Adding the element picker button is done here unlike the other buttons
    * since we want it to work for remote targets too
    */
-  _buildPickerButton: function() {
+  _buildPickerButton: function () {
     this._pickerButton = this.doc.createElement("toolbarbutton");
     this._pickerButton.id = "command-button-pick";
     this._pickerButton.className = "command-button command-button-invertable";
     this._pickerButton.setAttribute("tooltiptext", toolboxStrings("pickButton.tooltip"));
     this._pickerButton.setAttribute("hidden", "true");
 
     let container = this.doc.querySelector("#toolbox-picker-container");
     container.appendChild(this._pickerButton);
@@ -1071,30 +1071,30 @@ Toolbox.prototype = {
     this._togglePicker = this.highlighterUtils.togglePicker.bind(this.highlighterUtils);
     this._pickerButton.addEventListener("command", this._togglePicker, false);
   },
 
   /**
    * Apply the current cache setting from devtools.cache.disabled to this
    * toolbox's tab.
    */
-  _applyCacheSettings: function() {
+  _applyCacheSettings: function () {
     let pref = "devtools.cache.disabled";
     let cacheDisabled = Services.prefs.getBoolPref(pref);
 
     if (this.target.activeTab) {
       this.target.activeTab.reconfigure({"cacheDisabled": cacheDisabled});
     }
   },
 
   /**
    * Apply the current service workers testing setting from
    * devtools.serviceWorkers.testing.enabled to this toolbox's tab.
    */
-  _applyServiceWorkersTestingSettings: function() {
+  _applyServiceWorkersTestingSettings: function () {
     let pref = "devtools.serviceWorkers.testing.enabled";
     let serviceWorkersTestingEnabled =
       Services.prefs.getBoolPref(pref) || false;
 
     if (this.target.activeTab) {
       this.target.activeTab.reconfigure({
         "serviceWorkersTestingEnabled": serviceWorkersTestingEnabled
       });
@@ -1136,17 +1136,17 @@ Toolbox.prototype = {
       };
     }).filter(button=>button);
   },
 
   /**
    * Ensure the visibility of each toolbox button matches the
    * preference value.  Simply hide buttons that are preffed off.
    */
-  setToolboxButtonsVisibility: function() {
+  setToolboxButtonsVisibility: function () {
     this.toolboxButtons.forEach(buttonSpec => {
       let { visibilityswitch, button, isTargetSupported } = buttonSpec;
       let on = true;
       try {
         on = Services.prefs.getBoolPref(visibilityswitch);
       } catch (ex) { }
 
       on = on && isTargetSupported(this.target);
@@ -1164,17 +1164,17 @@ Toolbox.prototype = {
   },
 
   /**
    * Build a tab for one tool definition and add to the toolbox
    *
    * @param {string} toolDefinition
    *        Tool definition of the tool to build a tab for.
    */
-  _buildTabForTool: function(toolDefinition) {
+  _buildTabForTool: function (toolDefinition) {
     if (!toolDefinition.isTargetSupported(this._target)) {
       return;
     }
 
     let tabs = this.doc.getElementById("toolbox-tabs");
     let deck = this.doc.getElementById("toolbox-deck");
 
     let id = toolDefinition.id;
@@ -1270,17 +1270,17 @@ Toolbox.prototype = {
   },
 
   /**
    * Ensure the tool with the given id is loaded.
    *
    * @param {string} id
    *        The id of the tool to load.
    */
-  loadTool: function(id) {
+  loadTool: function (id) {
     if (id === "inspector" && !this._inspector) {
       return this.initInspector().then(() => {
         return this.loadTool(id);
       });
     }
 
     let deferred = promise.defer();
     let iframe = this.doc.getElementById("toolbox-panel-iframe-" + id);
@@ -1403,17 +1403,17 @@ Toolbox.prototype = {
 
   /**
    * Mark all in collection as unselected; and id as selected
    * @param {string} collection
    *        DOM collection of items
    * @param {string} id
    *        The Id of the item within the collection to select
    */
-  selectSingleNode: function(collection, id) {
+  selectSingleNode: function (collection, id) {
     [...collection].forEach(node => {
       if (node.id === id) {
         node.setAttribute("selected", "true");
         node.setAttribute("aria-selected", "true");
       } else {
         node.removeAttribute("selected");
         node.removeAttribute("aria-selected");
       }
@@ -1421,17 +1421,17 @@ Toolbox.prototype = {
   },
 
   /**
    * Switch to the tool with the given id
    *
    * @param {string} id
    *        The id of the tool to switch to
    */
-  selectTool: function(id) {
+  selectTool: function (id) {
     this.emit("before-select", id);
 
     let tabs = this.doc.querySelectorAll(".devtools-tab");
     this.selectSingleNode(tabs, "toolbox-tab-" + id);
 
     // If options is selected, the separator between it and the
     // command buttons should be hidden.
     let sep = this.doc.getElementById("toolbox-controls-separator");
@@ -1491,37 +1491,37 @@ Toolbox.prototype = {
     });
   },
 
   /**
    * Focus a tool's panel by id
    * @param  {string} id
    *         The id of tool to focus
    */
-  focusTool: function(id) {
+  focusTool: function (id) {
     let iframe = this.doc.getElementById("toolbox-panel-iframe-" + id);
     iframe.focus();
   },
 
   /**
    * Focus split console's input line
    */
-  focusConsoleInput: function() {
+  focusConsoleInput: function () {
     let consolePanel = this.getPanel("webconsole");
     if (consolePanel) {
       consolePanel.focusInput();
     }
   },
 
   /**
    * If the console is split and we are focusing an element outside
    * of the console, then store the newly focused element, so that
    * it can be restored once the split console closes.
    */
-  _onFocus: function({originalTarget}) {
+  _onFocus: function ({originalTarget}) {
     // Ignore any non element nodes, or any elements contained
     // within the webconsole frame.
     let webconsoleURL = gDevTools.getToolDefinition("webconsole").url;
     if (originalTarget.nodeType !== 1 ||
         originalTarget.baseURI === webconsoleURL) {
       return;
     }
 
@@ -1529,34 +1529,34 @@ Toolbox.prototype = {
   },
 
   /**
    * Opens the split console.
    *
    * @returns {Promise} a promise that resolves once the tool has been
    *          loaded and focused.
    */
-  openSplitConsole: function() {
+  openSplitConsole: function () {
     this._splitConsole = true;
     Services.prefs.setBoolPref(SPLITCONSOLE_ENABLED_PREF, true);
     this._refreshConsoleDisplay();
     this.emit("split-console");
 
     return this.loadTool("webconsole").then(() => {
       this.focusConsoleInput();
     });
   },
 
   /**
    * Closes the split console.
    *
    * @returns {Promise} a promise that resolves once the tool has been
    *          closed.
    */
-  closeSplitConsole: function() {
+  closeSplitConsole: function () {
     this._splitConsole = false;
     Services.prefs.setBoolPref(SPLITCONSOLE_ENABLED_PREF, false);
     this._refreshConsoleDisplay();
     this.emit("split-console");
 
     if (this._lastFocusedElement) {
       this._lastFocusedElement.focus();
     }
@@ -1565,90 +1565,90 @@ Toolbox.prototype = {
 
   /**
    * Toggles the split state of the webconsole.  If the webconsole panel
    * is already selected then this command is ignored.
    *
    * @returns {Promise} a promise that resolves once the tool has been
    *          opened or closed.
    */
-  toggleSplitConsole: function() {
+  toggleSplitConsole: function () {
     if (this.currentToolId !== "webconsole") {
       return this.splitConsole ?
              this.closeSplitConsole() :
              this.openSplitConsole();
     }
 
     return promise.resolve();
   },
 
   /**
    * Tells the target tab to reload.
    */
-  reloadTarget: function(force) {
+  reloadTarget: function (force) {
     this.target.activeTab.reload({ force: force });
   },
 
   /**
    * Loads the tool next to the currently selected tool.
    */
-  selectNextTool: function() {
+  selectNextTool: function () {
     let tools = this.doc.querySelectorAll(".devtools-tab");
     let selected = this.doc.querySelector(".devtools-tab[selected]");
     let nextIndex = [...tools].indexOf(selected) + 1;
     let next = tools[nextIndex] || tools[0];
     let tool = next.getAttribute("toolid");
     return this.selectTool(tool);
   },
 
   /**
    * Loads the tool just left to the currently selected tool.
    */
-  selectPreviousTool: function() {
+  selectPreviousTool: function () {
     let tools = this.doc.querySelectorAll(".devtools-tab");
     let selected = this.doc.querySelector(".devtools-tab[selected]");
     let prevIndex = [...tools].indexOf(selected) - 1;
     let prev = tools[prevIndex] || tools[tools.length - 1];
     let tool = prev.getAttribute("toolid");
     return this.selectTool(tool);
   },
 
   /**
    * Highlights the tool's tab if it is not the currently selected tool.
    *
    * @param {string} id
    *        The id of the tool to highlight
    */
-  highlightTool: function(id) {
+  highlightTool: function (id) {
     let tab = this.doc.getElementById("toolbox-tab-" + id);
     tab && tab.setAttribute("highlighted", "true");
   },
 
   /**
    * De-highlights the tool's tab.
    *
    * @param {string} id
    *        The id of the tool to unhighlight
    */
-  unhighlightTool: function(id) {
+  unhighlightTool: function (id) {
     let tab = this.doc.getElementById("toolbox-tab-" + id);
     tab && tab.removeAttribute("highlighted");
   },
 
   /**
    * Raise the toolbox host.
    */
-  raise: function() {
+  raise: function () {
     this._host.raise();
   },
 
   /**
    * Refresh the host's title.
    */
-  _refreshHostTitle: function() {
+  _refreshHostTitle: function () {
     let title;
     if (this.target.name && this.target.name != this.target.url) {
       title = toolboxStrings("toolbox.titleTemplate2",
                              this.target.name, this.target.url);
     } else {
       title = toolboxStrings("toolbox.titleTemplate1", this.target.url);
     }
     this._host.setTitle(title);
@@ -1656,26 +1656,26 @@ Toolbox.prototype = {
 
   // Returns an instance of the preference actor
   get _preferenceFront() {
     return this.target.root.then(rootForm => {
       return new getPreferenceFront(this.target.client, rootForm);
     });
   },
 
-  _toggleAutohide: Task.async(function*() {
+  _toggleAutohide: Task.async(function* () {
     let prefName = "ui.popup.disable_autohide";
     let front = yield this._preferenceFront;
     let current = yield front.getBoolPref(prefName);
     yield front.setBoolPref(prefName, !current);
 
     this._updateNoautohideButton();
   }),
 
-  _updateNoautohideButton: Task.async(function*() {
+  _updateNoautohideButton: Task.async(function* () {
     let menu = this.doc.getElementById("command-button-noautohide");
     if (menu.getAttribute("hidden") === "true") {
       return;
     }
     if (!this.target.root) {
       return;
     }
     let prefName = "ui.popup.disable_autohide";
@@ -1683,43 +1683,43 @@ Toolbox.prototype = {
     let current = yield front.getBoolPref(prefName);
     if (current) {
       menu.setAttribute("checked", "true");
     } else {
       menu.removeAttribute("checked");
     }
   }),
 
-  _listFrames: function(event) {
+  _listFrames: function (event) {
     if (!this._target.activeTab || !this._target.activeTab.traits.frames) {
       // We are not targetting a regular TabActor
       // it can be either an addon or browser toolbox actor
       return promise.resolve();
     }
     let packet = {
       to: this._target.form.actor,
       type: "listFrames"
     };
     return this._target.client.request(packet, resp => {
       this._updateFrames(null, { frames: resp.frames });
     });
   },
 
-  selectFrame: function(event) {
+  selectFrame: function (event) {
     let windowId = event.target.getAttribute("data-window-id");
     let packet = {
       to: this._target.form.actor,
       type: "switchToFrame",
       windowId: windowId
     };
     this._target.client.request(packet);
     // Wait for frameUpdate event to update the UI
   },
 
-  _updateFrames: function(event, data) {
+  _updateFrames: function (event, data) {
     if (!Services.prefs.getBoolPref("devtools.command-button-frames.enabled")) {
       return;
     }
 
     // We may receive this event before the toolbox is ready.
     if (!this.isReady) {
       return;
     }
@@ -1787,32 +1787,32 @@ Toolbox.prototype = {
    * correctly mix and match hosts and targets.
    *
    * @param {string} hostType
    *        The host type of the new host object
    *
    * @return {Host} host
    *        The created host object
    */
-  _createHost: function(hostType, options) {
+  _createHost: function (hostType, options) {
     if (!Hosts[hostType]) {
       throw new Error("Unknown hostType: " + hostType);
     }
 
     // clean up the toolbox if its window is closed
     let newHost = new Hosts[hostType](this.target.tab, options);
     newHost.on("window-closed", this.destroy);
     return newHost;
   },
 
   /**
    * Switch to the last used host for the toolbox UI.
    * This is determined by the devtools.toolbox.previousHost pref.
    */
-  switchToPreviousHost: function() {
+  switchToPreviousHost: function () {
     let hostType = Services.prefs.getCharPref(this._prefs.PREVIOUS_HOST);
 
     // Handle the case where the previous host happens to match the current
     // host. If so, switch to bottom if it's not already used, and side if not.
     if (hostType === this._host.type) {
       if (hostType === Toolbox.HostType.BOTTOM) {
         hostType = Toolbox.HostType.SIDE;
       } else {
@@ -1825,17 +1825,17 @@ Toolbox.prototype = {
 
   /**
    * Switch to a new host for the toolbox UI. E.g. bottom, sidebar, window,
    * and focus the window when done.
    *
    * @param {string} hostType
    *        The host type of the new host object
    */
-  switchHost: function(hostType) {
+  switchHost: function (hostType) {
     if (hostType == this._host.type || !this._target.isLocalTab) {
       return null;
     }
 
     this.emit("host-will-change", hostType);
 
     let newHost = this._createHost(hostType);
     return newHost.create().then(iframe => {
@@ -1871,44 +1871,44 @@ Toolbox.prototype = {
   },
 
   /**
    * Return if the tool is available as a tab (i.e. if it's checked
    * in the options panel). This is different from Toolbox.getPanel -
    * a tool could be registered but not yet opened in which case
    * isToolRegistered would return true but getPanel would return false.
    */
-  isToolRegistered: function(toolId) {
+  isToolRegistered: function (toolId) {
     return gDevTools.getToolDefinitionMap().has(toolId);
   },
 
   /**
    * Handler for the tool-registered event.
    * @param  {string} event
    *         Name of the event ("tool-registered")
    * @param  {string} toolId
    *         Id of the tool that was registered
    */
-  _toolRegistered: function(event, toolId) {
+  _toolRegistered: function (event, toolId) {
     let tool = gDevTools.getToolDefinition(toolId);
     this._buildTabForTool(tool);
     // Emit the event so tools can listen to it from the toolbox level
     // instead of gDevTools
     this.emit("tool-registered", toolId);
   },
 
   /**
    * Handler for the tool-unregistered event.
    * @param  {string} event
    *         Name of the event ("tool-unregistered")
    * @param  {string|object} toolId
    *         Definition or id of the tool that was unregistered. Passing the
    *         tool id should be avoided as it is a temporary measure.
    */
-  _toolUnregistered: function(event, toolId) {
+  _toolUnregistered: function (event, toolId) {
     if (typeof toolId != "string") {
       toolId = toolId.id;
     }
 
     if (this._toolPanels.has(toolId)) {
       let instance = this._toolPanels.get(toolId);
       instance.destroy();
       this._toolPanels.delete(toolId);
@@ -1948,19 +1948,19 @@ Toolbox.prototype = {
     // instead of gDevTools
     this.emit("tool-unregistered", toolId);
   },
 
   /**
    * Initialize the inspector/walker/selection/highlighter fronts.
    * Returns a promise that resolves when the fronts are initialized
    */
-  initInspector: function() {
+  initInspector: function () {
     if (!this._initInspector) {
-      this._initInspector = Task.spawn(function*() {
+      this._initInspector = Task.spawn(function* () {
         this._inspector = InspectorFront(this._target.client, this._target.form);
         this._walker = yield this._inspector.getWalker(
           {showAllAnonymousContent: Services.prefs.getBoolPref("devtools.inspector.showAllAnonymousContent")}
         );
         this._selection = new Selection(this._walker);
 
         if (this.highlighterUtils.isRemoteHighlightable()) {
           this.walker.on("highlighter-ready", this._highlighterReady);
@@ -1973,34 +1973,34 @@ Toolbox.prototype = {
     }
     return this._initInspector;
   },
 
   /**
    * Destroy the inspector/walker/selection fronts
    * Returns a promise that resolves when the fronts are destroyed
    */
-  destroyInspector: function() {
+  destroyInspector: function () {
     if (this._destroyingInspector) {
       return this._destroyingInspector;
     }
 
-    return this._destroyingInspector = Task.spawn(function*() {
+    return this._destroyingInspector = Task.spawn(function* () {
       if (!this._inspector) {
         return;
       }
 
       // Releasing the walker (if it has been created)
       // This can fail, but in any case, we want to continue destroying the
       // inspector/highlighter/selection
       // FF42+: Inspector actor starts managing Walker actor and auto destroy it.
       if (this._walker && !this.walker.traits.autoReleased) {
         try {
           yield this._walker.release();
-        } catch(e) {}
+        } catch (e) {}
       }
 
       yield this.highlighterUtils.stopPicker();
       yield this._inspector.destroy();
       if (this._highlighter) {
         // Note that if the toolbox is closed, this will work fine, but will fail
         // in case the browser is closed and will trigger a noSuchActor message.
         // We ignore the promise that |_hideBoxModel| returns, since we should still
@@ -2027,39 +2027,39 @@ Toolbox.prototype = {
     }.bind(this));
   },
 
   /**
    * Get the toolbox's notification component
    *
    * @return The notification box component.
    */
-  getNotificationBox: function() {
+  getNotificationBox: function () {
     return this.notificationBox;
   },
 
   /**
    * Destroy the current host, and remove event listeners from its frame.
    *
    * @return {promise} to be resolved when the host is destroyed.
    */
-  destroyHost: function() {
+  destroyHost: function () {
     // The host iframe's contentDocument may already be gone.
     if (this.doc) {
       this.doc.removeEventListener("keypress",
         this._splitConsoleOnKeypress, false);
       this.doc.removeEventListener("focus", this._onFocus, true);
     }
     return this._host.destroy();
   },
 
   /**
    * Remove all UI elements, detach from target and clear up
    */
-  destroy: function() {
+  destroy: function () {
     // If several things call destroy then we give them all the same
     // destruction promise so we're sure to destroy only once
     if (this._destroyer) {
       return this._destroyer;
     }
 
     this.emit("destroy");
 
@@ -2142,90 +2142,90 @@ Toolbox.prototype = {
                                    .catch(console.error)
                                    .then(() => this.destroyHost())
                                    .catch(console.error)
                                    .then(() => {
       // Targets need to be notified that the toolbox is being torn down.
       // This is done after other destruction tasks since it may tear down
       // fronts and the debugger transport which earlier destroy methods may
       // require to complete.
-      if (!this._target) {
-        return null;
-      }
-      let target = this._target;
-      this._target = null;
-      this.highlighterUtils.release();
-      target.off("close", this.destroy);
-      return target.destroy();
-    }, console.error).then(() => {
-      this.emit("destroyed");
+                                     if (!this._target) {
+                                       return null;
+                                     }
+                                     let target = this._target;
+                                     this._target = null;
+                                     this.highlighterUtils.release();
+                                     target.off("close", this.destroy);
+                                     return target.destroy();
+                                   }, console.error).then(() => {
+                                     this.emit("destroyed");
 
       // Free _host after the call to destroyed in order to let a chance
       // to destroyed listeners to still query toolbox attributes
-      this._host = null;
-      this._toolPanels.clear();
+                                     this._host = null;
+                                     this._toolPanels.clear();
 
       // Force GC to prevent long GC pauses when running tests and to free up
       // memory in general when the toolbox is closed.
-      if (DevToolsUtils.testing) {
-        win.QueryInterface(Ci.nsIInterfaceRequestor)
+                                     if (DevToolsUtils.testing) {
+                                       win.QueryInterface(Ci.nsIInterfaceRequestor)
            .getInterface(Ci.nsIDOMWindowUtils)
            .garbageCollect();
-      }
-    }).then(null, console.error);
+                                     }
+                                   }).then(null, console.error);
 
     let leakCheckObserver = ({wrappedJSObject: barrier}) => {
       // Make the leak detector wait until this toolbox is properly destroyed.
       barrier.client.addBlocker("DevTools: Wait until toolbox is destroyed",
                                 this._destroyer);
     };
 
     let topic = "shutdown-leaks-before-check";
     Services.obs.addObserver(leakCheckObserver, topic, false);
     this._destroyer.then(() => {
       Services.obs.removeObserver(leakCheckObserver, topic);
     });
 
     return this._destroyer;
   },
 
-  _highlighterReady: function() {
+  _highlighterReady: function () {
     this.emit("highlighter-ready");
   },
 
-  _highlighterHidden: function() {
+  _highlighterHidden: function () {
     this.emit("highlighter-hide");
   },
 
   /**
    * For displaying the promotional Doorhanger on first opening of
    * the developer tools, promoting the Developer Edition.
    */
-  _showDevEditionPromo: function() {
+  _showDevEditionPromo: function () {
     // Do not display in browser toolbox
     if (this.target.chrome) {
       return;
     }
     showDoorhanger({ window: this.win, type: "deveditionpromo" });
   },
 
   /**
    * Enable / disable necessary textbox menu items using globalOverlay.js.
    */
-  _updateTextboxMenuItems: function() {
+  _updateTextboxMenuItems: function () {
     let window = this.win;
     ["cmd_undo", "cmd_delete", "cmd_cut",
      "cmd_copy", "cmd_paste", "cmd_selectAll"].forEach(window.goUpdateCommand);
   },
 
   /**
    * Connects to the SPS profiler when the developer tools are open. This is
    * necessary because of the WebConsole's `profile` and `profileEnd` methods.
    */
-  initPerformance: Task.async(function*() {
+  initPerformance: Task.async(function* () {
     // If target does not have profiler actor (addons), do not
     // even register the shared performance connection.
     if (!this.target.hasActor("profiler")) {
       return;
     }
 
     if (this._performanceFrontConnection) {
       return this._performanceFrontConnection.promise;
@@ -2243,17 +2243,17 @@ Toolbox.prototype = {
     return this._performanceFrontConnection.promise;
   }),
 
   /**
    * Disconnects the underlying Performance actor. If the connection
    * has not finished initializing, as opening a toolbox does not wait,
    * the performance connection destroy method will wait for it on its own.
    */
-  destroyPerformance: Task.async(function*() {
+  destroyPerformance: Task.async(function* () {
     if (!this.performance) {
       return;
     }
     // If still connecting to performance actor, allow the
     // actor to resolve its connection before attempting to destroy.
     if (this._performanceFrontConnection) {
       yield this._performanceFrontConnection.promise;
     }
@@ -2263,17 +2263,17 @@ Toolbox.prototype = {
   }),
 
   /**
    * Called when any event comes from the PerformanceFront. If the performance tool is already
    * loaded when the first event comes in, immediately unbind this handler, as this is
    * only used to queue up observed recordings before the performance tool can handle them,
    * which will only occur when `console.profile()` recordings are started before the tool loads.
    */
-  _onPerformanceFrontEvent: Task.async(function*(eventName, recording) {
+  _onPerformanceFrontEvent: Task.async(function* (eventName, recording) {
     if (this.getPanel("performance")) {
       this.performance.off("*", this._onPerformanceFrontEvent);
       return;
     }
 
     let recordings = this._performanceQueuedRecordings = this._performanceQueuedRecordings || [];
 
     // Before any console recordings, we'll get a `console-profile-start` event
@@ -2303,41 +2303,41 @@ Toolbox.prototype = {
   get gViewSourceUtils() {
     return this.win.gViewSourceUtils;
   },
 
   /**
    * Opens source in style editor. Falls back to plain "view-source:".
    * @see devtools/client/shared/source-utils.js
    */
-  viewSourceInStyleEditor: function(sourceURL, sourceLine) {
+  viewSourceInStyleEditor: function (sourceURL, sourceLine) {
     return viewSource.viewSourceInStyleEditor(this, sourceURL, sourceLine);
   },
 
   /**
    * Opens source in debugger. Falls back to plain "view-source:".
    * @see devtools/client/shared/source-utils.js
    */
-  viewSourceInDebugger: function(sourceURL, sourceLine) {
+  viewSourceInDebugger: function (sourceURL, sourceLine) {
     return viewSource.viewSourceInDebugger(this, sourceURL, sourceLine);
   },
 
   /**
    * Opens source in scratchpad. Falls back to plain "view-source:".
    * TODO The `sourceURL` for scratchpad instances are like `Scratchpad/1`.
    * If instances are scoped one-per-browser-window, then we should be able
    * to infer the URL from this toolbox, or use the built in scratchpad IN
    * the toolbox.
    *
    * @see devtools/client/shared/source-utils.js
    */
-  viewSourceInScratchpad: function(sourceURL, sourceLine) {
+  viewSourceInScratchpad: function (sourceURL, sourceLine) {
     return viewSource.viewSourceInScratchpad(sourceURL, sourceLine);
   },
 
   /**
    * Opens source in plain "view-source:".
    * @see devtools/client/shared/source-utils.js
    */
-  viewSource: function(sourceURL, sourceLine) {
+  viewSource: function (sourceURL, sourceLine) {
     return viewSource.viewSource(this, sourceURL, sourceLine);
   },
 };
--- a/devtools/client/inspector/fonts/fonts.js
+++ b/devtools/client/inspector/fonts/fonts.js
@@ -20,17 +20,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 function FontInspector(inspector, window) {
   this.inspector = inspector;
   this.pageStyle = this.inspector.pageStyle;
   this.chromeDoc = window.document;
   this.init();
 }
 
 FontInspector.prototype = {
-  init: function() {
+  init: function () {
     this.update = this.update.bind(this);
     this.onNewNode = this.onNewNode.bind(this);
     this.onThemeChanged = this.onThemeChanged.bind(this);
     this.inspector.selection.on("new-node", this.onNewNode);
     this.inspector.sidebar.on("fontinspector-selected", this.onNewNode);
     this.showAll = this.showAll.bind(this);
     this.showAllButton = this.chromeDoc.getElementById("font-showall");
     this.showAllButton.addEventListener("click", this.showAll);
@@ -43,116 +43,116 @@ FontInspector.prototype = {
     gDevTools.on("theme-switched", this.onThemeChanged);
 
     this.update();
   },
 
   /**
    * Is the fontinspector visible in the sidebar?
    */
-  isActive: function() {
+  isActive: function () {
     return this.inspector.sidebar &&
            this.inspector.sidebar.getCurrentTabID() == "fontinspector";
   },
 
   /**
    * Remove listeners.
    */
-  destroy: function() {
+  destroy: function () {
     this.chromeDoc = null;
     this.inspector.sidebar.off("fontinspector-selected", this.onNewNode);
     this.inspector.selection.off("new-node", this.onNewNode);
     this.showAllButton.removeEventListener("click", this.showAll);
     this.previewInput.removeEventListener("input", this.previewTextChanged);
 
     gDevTools.off("theme-switched", this.onThemeChanged);
 
     if (this._previewUpdateTimeout) {
       clearTimeout(this._previewUpdateTimeout);
     }
   },
 
   /**
    * Selection 'new-node' event handler.
    */
-  onNewNode: function() {
+  onNewNode: function () {
     if (this.isActive() &&
         this.inspector.selection.isConnected() &&
         this.inspector.selection.isElementNode()) {
       this.undim();
       this.update();
     } else {
       this.dim();
     }
   },
 
   /**
    * The text to use for previews. Returns either the value user has typed to
    * the preview input or DEFAULT_PREVIEW_TEXT if the input is empty or contains
    * only whitespace.
    */
-  getPreviewText: function() {
+  getPreviewText: function () {
     let inputText = this.previewInput.value.trim();
     if (inputText === "") {
       return DEFAULT_PREVIEW_TEXT;
     }
 
     return inputText;
   },
 
   /**
    * Preview input 'input' event handler.
    */
-  previewTextChanged: function() {
+  previewTextChanged: function () {
     if (this._previewUpdateTimeout) {
       clearTimeout(this._previewUpdateTimeout);
     }
 
     this._previewUpdateTimeout = setTimeout(() => {
       this.update(this._lastUpdateShowedAllFonts);
     }, PREVIEW_UPDATE_DELAY);
   },
 
   /**
    * Callback for the theme-switched event.
    */
-  onThemeChanged: function(event, frame) {
+  onThemeChanged: function (event, frame) {
     if (frame === this.chromeDoc.defaultView) {
       this.update(this._lastUpdateShowedAllFonts);
     }
   },
 
   /**
    * Hide the font list. No node are selected.
    */
-  dim: function() {
+  dim: function () {
     let panel = this.chromeDoc.getElementById("sidebar-panel-fontinspector");
     panel.classList.add("dim");
     this.clear();
   },
 
   /**
    * Show the font list. A node is selected.
    */
-  undim: function() {
+  undim: function () {
     let panel = this.chromeDoc.getElementById("sidebar-panel-fontinspector");
     panel.classList.remove("dim");
   },
 
   /**
    * Clears the font list.
    */
-  clear: function() {
+  clear: function () {
     this.chromeDoc.querySelector("#all-fonts").innerHTML = "";
   },
 
  /**
   * Retrieve all the font info for the selected node and display it.
   */
-  update: Task.async(function*(showAllFonts) {
+  update: Task.async(function* (showAllFonts) {
     let node = this.inspector.selection.nodeFront;
     let panel = this.chromeDoc.getElementById("sidebar-panel-fontinspector");
 
     if (!node ||
         !this.isActive() ||
         !this.inspector.selection.isConnected() ||
         !this.inspector.selection.isElementNode() ||
         panel.classList.contains("dim")) {
@@ -203,17 +203,17 @@ FontInspector.prototype = {
     }
 
     this.inspector.emit("fontinspector-updated");
   }),
 
   /**
    * Display the information of one font.
    */
-  render: function(font) {
+  render: function (font) {
     let s = this.chromeDoc.querySelector("#font-template > section");
     s = s.cloneNode(true);
 
     s.querySelector(".font-name").textContent = font.name;
     s.querySelector(".font-css-name").textContent = font.CSSFamilyName;
 
     if (font.URI) {
       s.classList.add("is-remote");
@@ -241,14 +241,14 @@ FontInspector.prototype = {
     preview.src = font.previewUrl;
 
     this.chromeDoc.querySelector("#all-fonts").appendChild(s);
   },
 
   /**
    * Show all fonts for the document (including iframes)
    */
-  showAll: function() {
+  showAll: function () {
     this.update(true);
   },
 };
 
 exports.FontInspector = FontInspector;
--- a/devtools/client/inspector/fonts/test/browser_fontinspector.js
+++ b/devtools/client/inspector/fonts/test/browser_fontinspector.js
@@ -12,17 +12,17 @@ const FONTS = [
   {name: "Ostrich Sans Black", remote: true, url: URL_ROOT + "ostrich-black.ttf",
    format: "", cssName: "bar"},
   {name: "Ostrich Sans Black", remote: true, url: URL_ROOT + "ostrich-black.ttf",
    format: "", cssName: "bar"},
   {name: "Ostrich Sans Medium", remote: true, url: URL_ROOT + "ostrich-regular.ttf",
    format: "", cssName: "barnormal"},
 ];
 
-add_task(function*() {
+add_task(function* () {
   let { inspector, view } = yield openFontInspectorForURL(TEST_URI);
   ok(!!view, "Font inspector document is alive.");
 
   let viewDoc = view.chromeDoc;
 
   yield testBodyFonts(inspector, viewDoc);
   yield testDivFonts(inspector, viewDoc);
   yield testShowAllFonts(inspector, viewDoc);
--- a/devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews-show-all.js
+++ b/devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews-show-all.js
@@ -3,17 +3,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // Test that correct previews are shown if the text is edited after 'Show all'
 // button is pressed.
 
 const TEST_URI = URL_ROOT + "browser_fontinspector.html";
 
-add_task(function*() {
+add_task(function* () {
   let { inspector, view } = yield openFontInspectorForURL(TEST_URI);
   let viewDoc = view.chromeDoc;
 
   info("Selecting a node that doesn't contain all document fonts.");
   yield selectNode(".normal-text", inspector);
 
   let normalTextNumPreviews =
     viewDoc.querySelectorAll("#all-fonts .font-preview").length;
--- a/devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews.js
+++ b/devtools/client/inspector/fonts/test/browser_fontinspector_edit-previews.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Test that previews change when the preview text changes. It doesn't check the
 // exact preview images because they are drawn on a canvas causing them to vary
 // between systems, platforms and software versions.
 
 const TEST_URI = URL_ROOT + "browser_fontinspector.html";
 
-add_task(function*() {
+add_task(function* () {
   let {view} = yield openFontInspectorForURL(TEST_URI);
   let viewDoc = view.chromeDoc;
 
   let previews = viewDoc.querySelectorAll("#all-fonts .font-preview");
   let initialPreviews = [...previews].map(p => p.src);
 
   info("Typing 'Abc' to check that the reference previews are correct.");
   yield updatePreviewText(view, "Abc");
--- a/devtools/client/inspector/fonts/test/head.js
+++ b/devtools/client/inspector/fonts/test/head.js
@@ -28,17 +28,17 @@ selectNode = function* (node, inspector,
   yield onUpdated;
 };
 
 /**
  * Adds a new tab with the given URL, opens the inspector and selects the
  * font-inspector tab.
  * @return {Promise} resolves to a {toolbox, inspector, view} object
  */
-var openFontInspectorForURL = Task.async(function*(url) {
+var openFontInspectorForURL = Task.async(function* (url) {
   yield addTab(url);
   let {toolbox, inspector} = yield openInspector();
 
   // Call selectNode again here to force a fontinspector update since we don't
   // know if the fontinspector-updated event has been sent while the inspector
   // was being opened or not.
   yield selectNode("body", inspector);
 
--- a/devtools/client/inspector/inspector-commands.js
+++ b/devtools/client/inspector/inspector-commands.js
@@ -17,15 +17,15 @@ exports.items = [{
   params: [
     {
       name: "selector",
       type: "node",
       description: l10n.lookup("inspectNodeDesc"),
       manual: l10n.lookup("inspectNodeManual")
     }
   ],
-  exec: function(args, context) {
+  exec: function (args, context) {
     let target = context.environment.target;
     return gDevTools.showToolbox(target, "inspector").then(toolbox => {
       toolbox.getCurrentPanel().selection.setNode(args.selector, "gcli");
     });
   }
 }];
--- a/devtools/client/inspector/inspector-panel.js
+++ b/devtools/client/inspector/inspector-panel.js
@@ -102,17 +102,17 @@ function InspectorPanel(iframeWindow, to
 }
 
 exports.InspectorPanel = InspectorPanel;
 
 InspectorPanel.prototype = {
   /**
    * open is effectively an asynchronous constructor
    */
-  open: function() {
+  open: function () {
     return this.target.makeRemote().then(() => {
       return this._getPageStyle();
     }).then(() => {
       return this._getDefaultNodeForSelection();
     }).then(defaultSelection => {
       return this._deferredOpen(defaultSelection);
     }).then(null, console.error);
   },
@@ -148,17 +148,17 @@ InspectorPanel.prototype = {
   get canGetUsedFontFaces() {
     return this._target.client.traits.getUsedFontFaces;
   },
 
   get canPasteInnerOrAdjacentHTML() {
     return this._target.client.traits.pasteHTML;
   },
 
-  _deferredOpen: function(defaultSelection) {
+  _deferredOpen: function (defaultSelection) {
     let deferred = promise.defer();
 
     this.walker.on("new-root", this.onNewRoot);
 
     this.nodemenu = this.panelDoc.getElementById("inspector-node-popup");
     this.lastNodemenuItem = this.nodemenu.lastChild;
     this.nodemenu.addEventListener("popupshowing", this._setupNodeMenu, true);
     this.nodemenu.addEventListener("popuphiding", this._resetNodeMenu, true);
@@ -214,34 +214,34 @@ InspectorPanel.prototype = {
     });
 
     this.setupSearchBox();
     this.setupSidebar();
 
     return deferred.promise;
   },
 
-  _onBeforeNavigate: function() {
+  _onBeforeNavigate: function () {
     this._defaultNode = null;
     this.selection.setNodeFront(null);
     this._destroyMarkup();
     this.isDirty = false;
     this._pendingSelection = null;
   },
 
-  _getPageStyle: function() {
+  _getPageStyle: function () {
     return this._toolbox.inspector.getPageStyle().then(pageStyle => {
       this.pageStyle = pageStyle;
     });
   },
 
   /**
    * Return a promise that will resolve to the default node for selection.
    */
-  _getDefaultNodeForSelection: function() {
+  _getDefaultNodeForSelection: function () {
     if (this._defaultNode) {
       return this._defaultNode;
     }
     let walker = this.walker;
     let rootNode = null;
     let pendingSelection = this._pendingSelection;
 
     // A helper to tell if the target has or is about to navigate.
@@ -300,24 +300,24 @@ InspectorPanel.prototype = {
     this._target = value;
   },
 
   /**
    * Indicate that a tool has modified the state of the page.  Used to
    * decide whether to show the "are you sure you want to navigate"
    * notification.
    */
-  markDirty: function() {
+  markDirty: function () {
     this.isDirty = true;
   },
 
   /**
    * Hooks the searchbar to show result and auto completion suggestions.
    */
-  setupSearchBox: function() {
+  setupSearchBox: function () {
     this.searchBox = this.panelDoc.getElementById("inspector-searchbox");
     this.searchResultsLabel = this.panelDoc.getElementById("inspector-searchlabel");
 
     this.search = new InspectorSearch(this, this.searchBox);
     this.search.on("search-cleared", this._updateSearchResultsLabel);
     this.search.on("search-result", this._updateSearchResultsLabel);
 
     let shortcuts = new KeyShortcuts({
@@ -334,17 +334,17 @@ InspectorPanel.prototype = {
       this.searchBox.focus();
     });
   },
 
   get searchSuggestions() {
     return this.search.autocompleter;
   },
 
-  _updateSearchResultsLabel: function(event, result) {
+  _updateSearchResultsLabel: function (event, result) {
     let str = "";
     if (event !== "search-cleared") {
       if (result) {
         str = strings.formatStringFromName(
           "inspector.searchResultsCount2",
           [result.resultsIndex + 1, result.resultsLength], 2);
       } else {
         str = strings.GetStringFromName("inspector.searchResultsNone");
@@ -352,17 +352,17 @@ InspectorPanel.prototype = {
     }
 
     this.searchResultsLabel.textContent = str;
   },
 
   /**
    * Build the sidebar.
    */
-  setupSidebar: function() {
+  setupSidebar: function () {
     let tabbox = this.panelDoc.querySelector("#inspector-sidebar");
     this.sidebar = new ToolSidebar(tabbox, this, "inspector", {
       showAllTabsMenu: true
     });
 
     let defaultTab = Services.prefs.getCharPref("devtools.inspector.activeSidebar");
 
     if (!Services.prefs.getBoolPref("devtools.fontinspector.enabled") &&
@@ -396,26 +396,26 @@ InspectorPanel.prototype = {
     this.sidebar.show(defaultTab);
 
     this.setupSidebarToggle();
   },
 
   /**
    * Add the expand/collapse behavior for the sidebar panel.
    */
-  setupSidebarToggle: function() {
+  setupSidebarToggle: function () {
     this._paneToggleButton = this.panelDoc.getElementById("inspector-pane-toggle");
     this._paneToggleButton.addEventListener("mousedown",
       this.onPaneToggleButtonClicked);
   },
 
   /**
    * Reset the inspector on new root mutation.
    */
-  onNewRoot: function() {
+  onNewRoot: function () {
     this._defaultNode = null;
     this.selection.setNodeFront(null);
     this._destroyMarkup();
     this.isDirty = false;
 
     let onNodeSelected = defaultNode => {
       // Cancel this promise resolution as a new one had
       // been queued up.
@@ -468,17 +468,17 @@ InspectorPanel.prototype = {
       return null;
     }
   },
 
   /**
    * Can a new HTML element be inserted into the currently selected element?
    * @return {Boolean}
    */
-  canAddHTMLChild: function() {
+  canAddHTMLChild: function () {
     let selection = this.selection;
 
     // Don't allow to insert an element into these elements. This should only
     // contain elements where walker.insertAdjacentHTML has no effect.
     let invalidTagNames = ["html", "iframe"];
 
     return selection.isHTMLNode() &&
            selection.isElementNode() &&
@@ -486,17 +486,17 @@ InspectorPanel.prototype = {
            !selection.isAnonymousNode() &&
            invalidTagNames.indexOf(
             selection.nodeFront.nodeName.toLowerCase()) === -1;
   },
 
   /**
    * When a new node is selected.
    */
-  onNewSelection: function(event, value, reason) {
+  onNewSelection: function (event, value, reason) {
     if (reason === "selection-destroy") {
       return;
     }
 
     // Wait for all the known tools to finish updating and then let the
     // client know.
     let selection = this.selection.nodeFront;
 
@@ -516,17 +516,17 @@ InspectorPanel.prototype = {
       selection.getUniqueSelector().then(selector => {
         this.selectionCssSelector = selector;
       }).then(null, e => {
         // Only log this as an error if the panel hasn't been destroyed in the
         // meantime.
         if (!this._panelDestroyer) {
           console.error(e);
         } else {
-          console.warn("Could not set the unique selector for the newly "+
+          console.warn("Could not set the unique selector for the newly " +
             "selected node, the inspector was destroyed.");
         }
       });
     }
 
     let selfUpdate = this.updating("inspector-panel");
     executeSoon(() => {
       try {
@@ -538,28 +538,28 @@ InspectorPanel.prototype = {
   },
 
   /**
    * Delay the "inspector-updated" notification while a tool
    * is updating itself.  Returns a function that must be
    * invoked when the tool is done updating with the node
    * that the tool is viewing.
    */
-  updating: function(name) {
+  updating: function (name) {
     if (this._updateProgress && this._updateProgress.node != this.selection.nodeFront) {
       this.cancelUpdate();
     }
 
     if (!this._updateProgress) {
       // Start an update in progress.
       let self = this;
       this._updateProgress = {
         node: this.selection.nodeFront,
         outstanding: new Set(),
-        checkDone: function() {
+        checkDone: function () {
           if (this !== self._updateProgress) {
             return;
           }
           // Cancel update if there is no `selection` anymore.
           // It can happen if the inspector panel is already destroyed.
           if (!self.selection || (this.node !== self.selection.nodeFront)) {
             self.cancelUpdate();
             return;
@@ -570,55 +570,55 @@ InspectorPanel.prototype = {
 
           self._updateProgress = null;
           self.emit("inspector-updated", name);
         },
       };
     }
 
     let progress = this._updateProgress;
-    let done = function() {
+    let done = function () {
       progress.outstanding.delete(done);
       progress.checkDone();
     };
     progress.outstanding.add(done);
     return done;
   },
 
   /**
    * Cancel notification of inspector updates.
    */
-  cancelUpdate: function() {
+  cancelUpdate: function () {
     this._updateProgress = null;
   },
 
   /**
    * When a new node is selected, before the selection has changed.
    */
-  onBeforeNewSelection: function(event, node) {
+  onBeforeNewSelection: function (event, node) {
     if (this.breadcrumbs.indexOf(node) == -1) {
       // only clear locks if we'd have to update breadcrumbs
       this.clearPseudoClasses();
     }
   },
 
   /**
    * When a node is deleted, select its parent node or the defaultNode if no
    * parent is found (may happen when deleting an iframe inside which the
    * node was selected).
    */
-  onDetached: function(event, parentNode) {
+  onDetached: function (event, parentNode) {
     this.breadcrumbs.cutAfter(this.breadcrumbs.indexOf(parentNode));
     this.selection.setNodeFront(parentNode ? parentNode : this._defaultNode, "detached");
   },
 
   /**
    * Destroy the inspector.
    */
-  destroy: function() {
+  destroy: function () {
     if (this._panelDestroyer) {
       return this._panelDestroyer;
     }
 
     if (this.walker) {
       this.walker.off("new-root", this.onNewRoot);
       this.pageStyle = null;
     }
@@ -680,50 +680,50 @@ InspectorPanel.prototype = {
     ]);
 
     return this._panelDestroyer;
   },
 
   /**
    * Show the node menu.
    */
-  showNodeMenu: function(aButton, aPosition, aExtraItems) {
+  showNodeMenu: function (aButton, aPosition, aExtraItems) {
     if (aExtraItems) {
       for (let item of aExtraItems) {
         this.nodemenu.appendChild(item);
       }
     }
     this.nodemenu.openPopup(aButton, aPosition, 0, 0, true, false);
   },
 
-  hideNodeMenu: function() {
+  hideNodeMenu: function () {
     this.nodemenu.hidePopup();
   },
 
   /**
    * Returns the clipboard content if it is appropriate for pasting
    * into the current node's outer HTML, otherwise returns null.
    */
-  _getClipboardContentForPaste: function() {
+  _getClipboardContentForPaste: function () {
     let flavors = clipboard.currentFlavors;
     if (flavors.indexOf("text") != -1 ||
         (flavors.indexOf("html") != -1 && flavors.indexOf("image") == -1)) {
       let content = clipboard.get();
       if (content && content.trim().length > 0) {
         return content;
       }
     }
     return null;
   },
 
   /**
    * Update, enable, disable, hide, show any menu item depending on the current
    * element.
    */
-  _setupNodeMenu: function(event) {
+  _setupNodeMenu: function (event) {
     let markupContainer = this.markup.getContainer(this.selection.nodeFront);
     this.nodeMenuTriggerInfo =
       markupContainer.editor.getInfoAtNode(event.target.triggerNode);
 
     let isSelectionElement = this.selection.isElementNode() &&
                              !this.selection.isPseudoElementNode();
     let isEditableElement = isSelectionElement &&
                             !this.selection.isAnonymousNode();
@@ -870,17 +870,17 @@ InspectorPanel.prototype = {
       copyImageData.setAttribute("disabled", "true");
     }
 
     // Enable / disable "Add Attribute", "Edit Attribute"
     // and "Remove Attribute" items
     this._setupAttributeMenu(isEditableElement);
   },
 
-  _setupAttributeMenu: function(isEditableElement) {
+  _setupAttributeMenu: function (isEditableElement) {
     let addAttribute = this.panelDoc.getElementById("node-menu-add-attribute");
     let editAttribute = this.panelDoc.getElementById("node-menu-edit-attribute");
     let removeAttribute = this.panelDoc.getElementById("node-menu-remove-attribute");
     let nodeInfo = this.nodeMenuTriggerInfo;
 
     // Enable "Add Attribute" for all editable elements
     if (isEditableElement) {
       addAttribute.removeAttribute("disabled");
@@ -898,38 +898,38 @@ InspectorPanel.prototype = {
       removeAttribute.removeAttribute("disabled");
       removeAttribute.setAttribute("label",
         strings.formatStringFromName(
           "inspector.menu.removeAttribute.label", [`"${nodeInfo.name}"`], 1));
     } else {
       editAttribute.setAttribute("disabled", "true");
       editAttribute.setAttribute("label",
         strings.formatStringFromName(
-          "inspector.menu.editAttribute.label", [''], 1));
+          "inspector.menu.editAttribute.label", [""], 1));
 
       removeAttribute.setAttribute("disabled", "true");
       removeAttribute.setAttribute("label",
         strings.formatStringFromName(
-          "inspector.menu.removeAttribute.label", [''], 1));
+          "inspector.menu.removeAttribute.label", [""], 1));
     }
   },
 
-  _resetNodeMenu: function() {
+  _resetNodeMenu: function () {
     // Remove any extra items
     while (this.lastNodemenuItem.nextSibling) {
       let toDelete = this.lastNodemenuItem.nextSibling;
       toDelete.parentNode.removeChild(toDelete);
     }
   },
 
   /**
    * Link menu items can be shown or hidden depending on the context and
    * selected node, and their labels can vary.
    */
-  _setupNodeLinkMenu: function() {
+  _setupNodeLinkMenu: function () {
     let linkSeparator = this.panelDoc.getElementById("node-menu-link-separator");
     let linkFollow = this.panelDoc.getElementById("node-menu-link-follow");
     let linkCopy = this.panelDoc.getElementById("node-menu-link-copy");
 
     // Hide all by default.
     linkSeparator.setAttribute("hidden", "true");
     linkFollow.setAttribute("hidden", "true");
     linkCopy.setAttribute("hidden", "true");
@@ -972,17 +972,17 @@ InspectorPanel.prototype = {
     } else if (type === "idref") {
       linkSeparator.removeAttribute("hidden");
       linkFollow.removeAttribute("hidden");
       linkFollow.setAttribute("label", strings.formatStringFromName(
         "inspector.menu.selectElement.label", [popupNode.dataset.link], 1));
     }
   },
 
-  _initMarkup: function() {
+  _initMarkup: function () {
     let doc = this.panelDoc;
 
     this._markupBox = doc.getElementById("markup-box");
 
     // create tool iframe
     this._markupFrame = doc.createElement("iframe");
     this._markupFrame.setAttribute("flex", "1");
     this._markupFrame.setAttribute("tooltip", "aHTMLTooltip");
@@ -992,29 +992,29 @@ InspectorPanel.prototype = {
     this._markupFrame.addEventListener("load", this._onMarkupFrameLoad, true);
 
     this._markupBox.setAttribute("collapsed", true);
     this._markupBox.appendChild(this._markupFrame);
     this._markupFrame.setAttribute("src", "chrome://devtools/content/inspector/markup/markup.xhtml");
     this._markupFrame.setAttribute("aria-label", strings.GetStringFromName("inspector.panelLabel.markupView"));
   },
 
-  _onMarkupFrameLoad: function() {
+  _onMarkupFrameLoad: function () {
     this._markupFrame.removeEventListener("load", this._onMarkupFrameLoad, true);
 
     this._markupFrame.contentWindow.focus();
 
     this._markupBox.removeAttribute("collapsed");
 
     this.markup = new MarkupView(this, this._markupFrame, this._toolbox.win);
 
     this.emit("markuploaded");
   },
 
-  _destroyMarkup: function() {
+  _destroyMarkup: function () {
     let destroyPromise;
 
     if (this._markupFrame) {
       this._markupFrame.removeEventListener("load", this._onMarkupFrameLoad, true);
     }
 
     if (this.markup) {
       destroyPromise = this.markup.destroy();
@@ -1032,17 +1032,17 @@ InspectorPanel.prototype = {
 
     return destroyPromise;
   },
 
   /**
    * When the pane toggle button is clicked, toggle the pane, change the button
    * state and tooltip.
    */
-  onPaneToggleButtonClicked: function(e) {
+  onPaneToggleButtonClicked: function (e) {
     let sidePane = this.panelDoc.querySelector("#inspector-sidebar");
     let button = this._paneToggleButton;
     let isVisible = !button.hasAttribute("pane-collapsed");
 
     // Make sure the sidebar has width and height attributes before collapsing
     // because ViewHelpers needs it.
     if (isVisible) {
       let rect = sidePane.getBoundingClientRect();
@@ -1088,49 +1088,49 @@ InspectorPanel.prototype = {
 
     // Select the new node (this will auto-expand its parent).
     this.selection.setNodeFront(nodes[0], "node-inserted");
   }),
 
   /**
    * Toggle a pseudo class.
    */
-  togglePseudoClass: function(aPseudo) {
+  togglePseudoClass: function (aPseudo) {
     if (this.selection.isElementNode()) {
       let node = this.selection.nodeFront;
       if (node.hasPseudoClassLock(aPseudo)) {
         return this.walker.removePseudoClassLock(node, aPseudo, {parents: true});
       }
 
       let hierarchical = aPseudo == ":hover" || aPseudo == ":active";
       return this.walker.addPseudoClassLock(node, aPseudo, {parents: hierarchical});
     }
   },
 
   /**
    * Show DOM properties
    */
-  showDOMProperties: function() {
+  showDOMProperties: function () {
     this._toolbox.openSplitConsole().then(() => {
       let panel = this._toolbox.getPanel("webconsole");
       let jsterm = panel.hud.jsterm;
 
       jsterm.execute("inspect($0)");
       jsterm.focus();
     });
   },
 
   /**
    * Use in Console.
    *
    * Takes the currently selected node in the inspector and assigns it to a
    * temp variable on the content window.  Also opens the split console and
    * autofills it with the temp variable.
    */
-  useInConsole: function() {
+  useInConsole: function () {
     this._toolbox.openSplitConsole().then(() => {
       let panel = this._toolbox.getPanel("webconsole");
       let jsterm = panel.hud.jsterm;
 
       let evalString = `{ let i = 0;
         while (window.hasOwnProperty("temp" + i) && i < 1000) {
           i++;
         }
@@ -1146,91 +1146,91 @@ InspectorPanel.prototype = {
         this.emit("console-var-ready");
       });
     });
   },
 
   /**
    * Clear any pseudo-class locks applied to the current hierarchy.
    */
-  clearPseudoClasses: function() {
+  clearPseudoClasses: function () {
     if (!this.walker) {
       return;
     }
     return this.walker.clearPseudoClassLocks().then(null, console.error);
   },
 
   /**
    * Edit the outerHTML of the selected Node.
    */
-  editHTML: function() {
+  editHTML: function () {
     if (!this.selection.isNode()) {
       return;
     }
     if (this.markup) {
       this.markup.beginEditingOuterHTML(this.selection.nodeFront);
     }
   },
 
   /**
    * Paste the contents of the clipboard into the selected Node's outer HTML.
    */
-  pasteOuterHTML: function() {
+  pasteOuterHTML: function () {
     let content = this._getClipboardContentForPaste();
     if (!content)
       return promise.reject("No clipboard content for paste");
 
     let node = this.selection.nodeFront;
     return this.markup.getNodeOuterHTML(node).then(oldContent => {
       this.markup.updateNodeOuterHTML(node, content, oldContent);
     });
   },
 
   /**
    * Paste the contents of the clipboard into the selected Node's inner HTML.
    */
-  pasteInnerHTML: function() {
+  pasteInnerHTML: function () {
     let content = this._getClipboardContentForPaste();
     if (!content)
       return promise.reject("No clipboard content for paste");
 
     let node = this.selection.nodeFront;
     return this.markup.getNodeInnerHTML(node).then(oldContent => {
       this.markup.updateNodeInnerHTML(node, content, oldContent);
     });
   },
 
   /**
    * Paste the contents of the clipboard as adjacent HTML to the selected Node.
    * @param position The position as specified for Element.insertAdjacentHTML
    *        (i.e. "beforeBegin", "afterBegin", "beforeEnd", "afterEnd").
    */
-  pasteAdjacentHTML: function(position) {
+  pasteAdjacentHTML: function (position) {
     let content = this._getClipboardContentForPaste();
     if (!content)
       return promise.reject("No clipboard content for paste");
 
     let node = this.selection.nodeFront;
     return this.markup.insertAdjacentHTMLToNode(node, position, content);
   },
 
   /**
    * Copy the innerHTML of the selected Node to the clipboard.
    */
-  copyInnerHTML: function() {
+  copyInnerHTML: function () {
     if (!this.selection.isNode()) {
       return;
     }
     this._copyLongString(this.walker.innerHTML(this.selection.nodeFront));
   },
 
   /**
    * Copy the outerHTML of the selected Node to the clipboard.
    */
-  copyOuterHTML: function() {
+  copyOuterHTML: function () {
     if (!this.selection.isNode()) {
       return;
     }
     let node = this.selection.nodeFront;
 
     switch (node.nodeType) {
       case Ci.nsIDOMNode.ELEMENT_NODE :
         this._copyLongString(this.walker.outerHTML(node));
@@ -1244,104 +1244,104 @@ InspectorPanel.prototype = {
         clipboardHelper.copyString(node.doctypeString);
         break;
     }
   },
 
   /**
    * Copy the data-uri for the currently selected image in the clipboard.
    */
-  copyImageDataUri: function() {
+  copyImageDataUri: function () {
     let container = this.markup.getContainer(this.selection.nodeFront);
     if (container && container.isPreviewable()) {
       container.copyImageDataUri();
     }
   },
 
   /**
    * Copy the content of a longString (via a promise resolving a LongStringActor) to the clipboard
    * @param  {Promise} longStringActorPromise promise expected to resolve a LongStringActor instance
    * @return {Promise} promise resolving (with no argument) when the string is sent to the clipboard
    */
-  _copyLongString: function(longStringActorPromise) {
+  _copyLongString: function (longStringActorPromise) {
     return this._getLongString(longStringActorPromise).then(string => {
       clipboardHelper.copyString(string);
     }).catch(e => console.error(e));
   },
 
   /**
    * Retrieve the content of a longString (via a promise resolving a LongStringActor)
    * @param  {Promise} longStringActorPromise promise expected to resolve a LongStringActor instance
    * @return {Promise} promise resolving with the retrieved string as argument
    */
-  _getLongString: function(longStringActorPromise) {
+  _getLongString: function (longStringActorPromise) {
     return longStringActorPromise.then(longStringActor => {
       return longStringActor.string().then(string => {
         longStringActor.release().catch(e => console.error(e));
         return string;
       });
     }).catch(e => console.error(e));
   },
 
   /**
    * Copy a unique selector of the selected Node to the clipboard.
    */
-  copyUniqueSelector: function() {
+  copyUniqueSelector: function () {
     if (!this.selection.isNode()) {
       return;
     }
 
     this.selection.nodeFront.getUniqueSelector().then((selector) => {
       clipboardHelper.copyString(selector);
     }).then(null, console.error);
   },
 
   /**
    * Initiate gcli screenshot command on selected node
    */
-  screenshotNode: function() {
+  screenshotNode: function () {
     CommandUtils.createRequisition(this._target, {
-      environment: CommandUtils.createEnvironment(this, '_target')
+      environment: CommandUtils.createEnvironment(this, "_target")
     }).then(requisition => {
       // Bug 1180314 -  CssSelector might contain white space so need to make sure it is
       // passed to screenshot as a single parameter.  More work *might* be needed if
       // CssSelector could contain escaped single- or double-quotes, backslashes, etc.
       requisition.updateExec("screenshot --selector '" + this.selectionCssSelector + "'");
     });
   },
 
   /**
    * Scroll the node into view.
    */
-  scrollNodeIntoView: function() {
+  scrollNodeIntoView: function () {
     if (!this.selection.isNode()) {
       return;
     }
 
     this.selection.nodeFront.scrollIntoView();
   },
 
   /**
    * Duplicate the selected node
    */
-  duplicateNode: function() {
+  duplicateNode: function () {
     let selection = this.selection;
     if (!selection.isElementNode() ||
         selection.isRoot() ||
         selection.isAnonymousNode() ||
         selection.isPseudoElementNode()) {
       return;
     }
     this.walker.duplicateNode(selection.nodeFront).catch(e => console.error(e));
   },
 
   /**
    * Delete the selected node.
    */
-  deleteNode: function() {
+  deleteNode: function () {
     if (!this.selection.isNode() ||
          this.selection.isRoot()) {
       return;
     }
 
     // If the markup panel is active, use the markup panel to delete
     // the node, making this an undoable action.
     if (this.markup) {
@@ -1351,64 +1351,64 @@ InspectorPanel.prototype = {
       this.walker.removeNode(this.selection.nodeFront);
     }
   },
 
   /**
    * Add attribute to node.
    * Used for node context menu and shouldn't be called directly.
    */
-  onAddAttribute: function() {
+  onAddAttribute: function () {
     let container = this.markup.getContainer(this.selection.nodeFront);
     container.addAttribute();
   },
 
   /**
    * Edit attribute for node.
    * Used for node context menu and shouldn't be called directly.
    */
-  onEditAttribute: function() {
+  onEditAttribute: function () {
     let container = this.markup.getContainer(this.selection.nodeFront);
     container.editAttribute(this.nodeMenuTriggerInfo.name);
   },
 
   /**
    * Remove attribute from node.
    * Used for node context menu and shouldn't be called directly.
    */
-  onRemoveAttribute: function() {
+  onRemoveAttribute: function () {
     let container = this.markup.getContainer(this.selection.nodeFront);
     container.removeAttribute(this.nodeMenuTriggerInfo.name);
   },
 
-  expandNode: function() {
+  expandNode: function () {
     this.markup.expandAll(this.selection.nodeFront);
   },
 
-  collapseNode: function() {
+  collapseNode: function () {
     this.markup.collapseNode(this.selection.nodeFront);
   },
 
   /**
    * This method is here for the benefit of the node-menu-link-follow menu item
    * in the inspector contextual-menu.
    */
-  onFollowLink: function() {
+  onFollowLink: function () {
     let type = this.panelDoc.popupNode.dataset.type;
     let link = this.panelDoc.popupNode.dataset.link;
 
     this.followAttributeLink(type, link);
   },
 
   /**
    * Given a type and link found in a node's attribute in the markup-view,
    * attempt to follow that link (which may result in opening a new tab, the
    * style editor or debugger).
    */
-  followAttributeLink: function(type, link) {
+  followAttributeLink: function (type, link) {
     if (!type || !link) {
       return;
     }
 
     if (type === "uri" || type === "cssresource" || type === "jsresource") {
       // Open link in a new tab.
       // When the inspector menu was setup on click (see _setupNodeLinkMenu), we
       // already checked that resolveRelativeURL existed.
@@ -1435,25 +1435,25 @@ InspectorPanel.prototype = {
       }).catch(e => console.error(e));
     }
   },
 
   /**
    * This method is here for the benefit of the node-menu-link-copy menu item
    * in the inspector contextual-menu.
    */
-  onCopyLink: function() {
+  onCopyLink: function () {
     let link = this.panelDoc.popupNode.dataset.link;
 
     this.copyAttributeLink(link);
   },
 
   /**
    * This method is here for the benefit of copying links.
    */
-  copyAttributeLink: function(link) {
+  copyAttributeLink: function (link) {
     // When the inspector menu was setup on click (see _setupNodeLinkMenu), we
     // already checked that resolveRelativeURL existed.
     this.inspector.resolveRelativeURL(link, this.selection.nodeFront).then(url => {
       clipboardHelper.copyString(url);
     }, console.error);
   }
 };
--- a/devtools/client/inspector/inspector-search.js
+++ b/devtools/client/inspector/inspector-search.js
@@ -47,29 +47,29 @@ function InspectorSearch(inspector, inpu
 
 exports.InspectorSearch = InspectorSearch;
 
 InspectorSearch.prototype = {
   get walker() {
     return this.inspector.walker;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.searchBox.removeEventListener("keydown", this._onKeyDown, true);
     this.searchBox.removeEventListener("command", this._onCommand, true);
     this.searchBox = null;
     this.autocompleter.destroy();
   },
 
-  _onSearch: function(reverse = false) {
+  _onSearch: function (reverse = false) {
     this.doFullTextSearch(this.searchBox.value, reverse)
         .catch(e => console.error(e));
   },
 
-  doFullTextSearch: Task.async(function*(query, reverse) {
+  doFullTextSearch: Task.async(function* (query, reverse) {
     let lastSearched = this._lastSearched;
     this._lastSearched = query;
 
     if (query.length === 0) {
       this.searchBox.classList.remove("devtools-no-search-result");
       if (!lastSearched || lastSearched.length > 0) {
         this.emit("search-cleared");
       }
@@ -90,23 +90,23 @@ InspectorSearch.prototype = {
       res.query = query;
       this.emit("search-result", res);
     } else {
       this.searchBox.classList.add("devtools-no-search-result");
       this.emit("search-result");
     }
   }),
 
-  _onCommand: function() {
+  _onCommand: function () {
     if (this.searchBox.value.length === 0) {
       this._onSearch();
     }
   },
 
-  _onKeyDown: function(event) {
+  _onKeyDown: function (event) {
     if (this.searchBox.value.length === 0) {
       this.searchBox.removeAttribute("filled");
     } else {
       this.searchBox.setAttribute("filled", true);
     }
     if (event.keyCode === event.DOM_VK_RETURN) {
       this._onSearch(event.shiftKey);
     }
@@ -240,19 +240,19 @@ SelectorAutocompleter.prototype = {
           }
           break;
 
         case this.States.CLASS:
           if (subQuery.match(/[\.]+[^\.]*$/)[0].length > 2) {
             // Checks whether the subQuery has atleast one [a-zA-Z] after the '.'.
             if (lastChar == " " || lastChar == ">") {
               this._state = this.States.TAG;
-            } else if(lastChar == "#") {
+            } else if (lastChar == "#") {
               this._state = this.States.ID;
-            } else if(lastChar == "[") {
+            } else if (lastChar == "[") {
               this._state = this.States.ATTRIBUTE;
             } else {
               this._state = this.States.CLASS;
             }
           }
           break;
 
         case this.States.ID:
@@ -287,32 +287,32 @@ SelectorAutocompleter.prototype = {
       }
     }
     return this._state;
   },
 
   /**
    * Removes event listeners and cleans up references.
    */
-  destroy: function() {
+  destroy: function () {
     this.searchBox.removeEventListener("input", this.showSuggestions, true);
     this.searchBox.removeEventListener("keypress", this._onSearchKeypress, true);
     this.inspector.off("markupmutation", this._onMarkupMutation);
     this.searchPopup.destroy();
     this.searchPopup = null;
     this.searchBox = null;
     this.panelDoc = null;
   },
 
   /**
    * Handles keypresses inside the input box.
    */
-  _onSearchKeypress: function(event) {
+  _onSearchKeypress: function (event) {
     let query = this.searchBox.value;
-    switch(event.keyCode) {
+    switch (event.keyCode) {
       case event.DOM_VK_RETURN:
       case event.DOM_VK_TAB:
         if (this.searchPopup.isOpen &&
             this.searchPopup.getItemAtIndex(this.searchPopup.itemCount - 1)
                 .preLabel == query) {
           this.searchPopup.selectedIndex = this.searchPopup.itemCount - 1;
           this.searchBox.value = this.searchPopup.selectedItem.label;
           this.hidePopup();
@@ -354,18 +354,18 @@ SelectorAutocompleter.prototype = {
     event.preventDefault();
     event.stopPropagation();
     this.emit("processing-done");
   },
 
   /**
    * Handles keypress and mouse click on the suggestions richlistbox.
    */
-  _onListBoxKeypress: function(event) {
-    switch(event.keyCode || event.button) {
+  _onListBoxKeypress: function (event) {
+    switch (event.keyCode || event.button) {
       case event.DOM_VK_RETURN:
       case event.DOM_VK_TAB:
       case 0: // left mouse button
         event.stopPropagation();
         event.preventDefault();
         this.searchBox.value = this.searchPopup.selectedItem.label;
         this.searchBox.focus();
         this.hidePopup();
@@ -410,30 +410,30 @@ SelectorAutocompleter.prototype = {
     }
     this.emit("processing-done");
   },
 
   /**
    * Reset previous search results on markup-mutations to make sure we search
    * again after nodes have been added/removed/changed.
    */
-  _onMarkupMutation: function() {
+  _onMarkupMutation: function () {
     this._searchResults = null;
     this._lastSearched = null;
   },
 
   /**
    * Populates the suggestions list and show the suggestion popup.
    */
-  _showPopup: function(list, firstPart, aState) {
+  _showPopup: function (list, firstPart, aState) {
     let total = 0;
     let query = this.searchBox.value;
     let items = [];
 
-    for (let [value, /*count*/, state] of list) {
+    for (let [value, /* count*/, state] of list) {
       if (query.match(/[\s>+]$/)) {
         // for cases like 'div ' or 'div >' or 'div+'
         value = query + value;
       } else if (query.match(/[\s>+][\.#a-zA-Z][^\s>+\.#\[]*$/)) {
         // for cases like 'div #a' or 'div .a' or 'div > d' and likewise
         let lastPart = query.match(/[\s>+][\.#a-zA-Z][^\s>+\.#\[]*$/)[0];
         value = query.slice(0, -1 * lastPart.length + 1) + value;
       } else if (query.match(/[a-zA-Z][#\.][^#\.\s+>]*$/)) {
@@ -478,27 +478,27 @@ SelectorAutocompleter.prototype = {
       this.hidePopup();
     }
   },
 
 
   /**
    * Hide the suggestion popup if necessary.
    */
-  hidePopup: function() {
+  hidePopup: function () {
     if (this.searchPopup.isOpen) {
       this.searchPopup.hidePopup();
     }
   },
 
   /**
    * Suggests classes,ids and tags based on the user input as user types in the
    * searchbox.
    */
-  showSuggestions: function() {
+  showSuggestions: function () {
     let query = this.searchBox.value;
     let state = this.state;
     let firstPart = "";
 
     if (query.endsWith("*") || state === this.States.ATTRIBUTE) {
       // Hide the popup if the query ends with * (because we don't want to
       // suggest all nodes) or if it is an attribute selector (because
       // it would give a lot of useless results).
--- a/devtools/client/inspector/test/browser_inspector_addNode_01.js
+++ b/devtools/client/inspector/test/browser_inspector_addNode_01.js
@@ -3,17 +3,17 @@
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that the add node button and context menu items are present in the UI.
 
 const TEST_URL = "data:text/html;charset=utf-8,<h1>Add node</h1>";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector} = yield openInspectorForURL(TEST_URL);
   let {panelDoc} = inspector;
 
   let toolbarButton =
     panelDoc.querySelector("#inspector-toolbar #inspector-element-add-button");
   let menuItem =
     panelDoc.querySelector("#inspector-node-popup #node-menu-add");
 
--- a/devtools/client/inspector/test/browser_inspector_addNode_02.js
+++ b/devtools/client/inspector/test/browser_inspector_addNode_02.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Test that the add node button and context menu items have the right state
 // depending on the current selection.
 
 const TEST_URL = URL_ROOT + "doc_inspector_add_node.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector} = yield openInspectorForURL(TEST_URL);
 
   info("Select the DOCTYPE element");
   let {nodes} = yield inspector.walker.children(inspector.walker.rootNode);
   yield selectNode(nodes[0], inspector);
   assertState(false, inspector,
     "The button and item are disabled on DOCTYPE");
 
--- a/devtools/client/inspector/test/browser_inspector_breadcrumbs_highlight_hover.js
+++ b/devtools/client/inspector/test/browser_inspector_breadcrumbs_highlight_hover.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that hovering over nodes on the breadcrumb buttons in the inspector shows the highlighter over
 // those nodes
-add_task(function*() {
+add_task(function* () {
   info("Loading the test document and opening the inspector");
   let {toolbox, inspector, testActor} = yield openInspectorForURL("data:text/html;charset=utf-8,<h1>foo</h1><span>bar</span>");
   info("Selecting the test node");
   yield selectNode("span", inspector);
   let bcButtons = inspector.breadcrumbs["container"];
 
   let onNodeHighlighted = toolbox.once("node-highlight");
   let button = bcButtons.childNodes[1];
--- a/devtools/client/inspector/test/browser_inspector_destroy-before-ready.js
+++ b/devtools/client/inspector/test/browser_inspector_destroy-before-ready.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that switching to the inspector panel and not waiting for it to be fully
 // loaded doesn't fail the test with unhandled rejected promises.
 
-add_task(function*() {
+add_task(function* () {
   // At least one assertion is needed to avoid failing the test, but really,
   // what we're interested in is just having the test pass when switching to the
   // inspector.
   ok(true);
 
   yield addTab("data:text/html;charset=utf-8,test inspector destroy");
 
   info("Open the toolbox on the debugger panel");
--- a/devtools/client/inspector/test/browser_inspector_expand-collapse.js
+++ b/devtools/client/inspector/test/browser_inspector_expand-collapse.js
@@ -6,49 +6,49 @@
 
 // Tests that context menu items exapnd all and collapse are shown properly.
 
 const TEST_URL = "data:text/html;charset=utf-8,<div id='parent-node'><div id='child-node'></div></div>";
 
 add_task(function* () {
 
     // Test is often exceeding time-out threshold, similar to Bug 1137765
-    requestLongerTimeout(2);
+  requestLongerTimeout(2);
 
-    let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
+  let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
-    let nodeMenuCollapseElement = inspector.panelDoc.getElementById("node-menu-collapse");
-    let nodeMenuExpandElement = inspector.panelDoc.getElementById("node-menu-expand");
+  let nodeMenuCollapseElement = inspector.panelDoc.getElementById("node-menu-collapse");
+  let nodeMenuExpandElement = inspector.panelDoc.getElementById("node-menu-expand");
 
-    info("Selecting the parent node");
+  info("Selecting the parent node");
 
-    let front = yield getNodeFrontForSelector("#parent-node", inspector);
+  let front = yield getNodeFrontForSelector("#parent-node", inspector);
 
-    yield selectNode(front, inspector);
+  yield selectNode(front, inspector);
 
-    info("Simulating context menu click on the selected node container.");
-    contextMenuClick(getContainerForNodeFront(front, inspector).tagLine);
+  info("Simulating context menu click on the selected node container.");
+  contextMenuClick(getContainerForNodeFront(front, inspector).tagLine);
 
-    ok(nodeMenuCollapseElement.hasAttribute("disabled"), "Collapse option is disabled");
+  ok(nodeMenuCollapseElement.hasAttribute("disabled"), "Collapse option is disabled");
 
-    ok(!nodeMenuExpandElement.hasAttribute("disabled"), "ExpandAll option is enabled");
+  ok(!nodeMenuExpandElement.hasAttribute("disabled"), "ExpandAll option is enabled");
 
-    info("Testing whether expansion works properly");
-    dispatchCommandEvent(nodeMenuExpandElement);
-    info("Waiting for expansion to occur");
-    yield waitForMultipleChildrenUpdates(inspector);
-    let markUpContainer = getContainerForNodeFront(front, inspector);
-    ok(markUpContainer.expanded, "node has been successfully expanded");
+  info("Testing whether expansion works properly");
+  dispatchCommandEvent(nodeMenuExpandElement);
+  info("Waiting for expansion to occur");
+  yield waitForMultipleChildrenUpdates(inspector);
+  let markUpContainer = getContainerForNodeFront(front, inspector);
+  ok(markUpContainer.expanded, "node has been successfully expanded");
 
-    //reslecting node after expansion
-    yield selectNode(front, inspector);
+    // reslecting node after expansion
+  yield selectNode(front, inspector);
 
-    info("Testing whether collapse works properly");
-    info("Simulating context menu click on the selected node container.");
-    contextMenuClick(getContainerForNodeFront(front, inspector).tagLine);
+  info("Testing whether collapse works properly");
+  info("Simulating context menu click on the selected node container.");
+  contextMenuClick(getContainerForNodeFront(front, inspector).tagLine);
 
-    ok(!nodeMenuCollapseElement.hasAttribute("disabled"), "Collapse option is enabled");
+  ok(!nodeMenuCollapseElement.hasAttribute("disabled"), "Collapse option is enabled");
 
-    dispatchCommandEvent(nodeMenuCollapseElement);
-    info("Waiting for collapse to occur");
-    yield waitForMultipleChildrenUpdates(inspector);
-    ok(!markUpContainer.expanded, "node has been successfully collapsed");
-});
\ No newline at end of file
+  dispatchCommandEvent(nodeMenuCollapseElement);
+  info("Waiting for collapse to occur");
+  yield waitForMultipleChildrenUpdates(inspector);
+  ok(!markUpContainer.expanded, "node has been successfully collapsed");
+});
--- a/devtools/client/inspector/test/browser_inspector_gcli-inspect-command.js
+++ b/devtools/client/inspector/test/browser_inspector_gcli-inspect-command.js
@@ -3,132 +3,132 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // Testing that the gcli 'inspect' command works as it should.
 
 const TEST_URI = URL_ROOT + "doc_inspector_gcli-inspect-command.html";
 
 add_task(function* () {
-  return helpers.addTabWithToolbar(TEST_URI, function(options) {
+  return helpers.addTabWithToolbar(TEST_URI, function (options) {
     return helpers.audit(options, [
       {
         setup: "inspect",
         check: {
-          input:  'inspect',
-          hints:         ' <selector>',
-          markup: 'VVVVVVV',
-          status: 'ERROR',
+          input:  "inspect",
+          hints:         " <selector>",
+          markup: "VVVVVVV",
+          status: "ERROR",
           args: {
             selector: {
-              message: 'Value required for \u2018selector\u2019.'
+              message: "Value required for \u2018selector\u2019."
             },
           }
         },
       },
       {
         setup: "inspect h1",
         check: {
-          input:  'inspect h1',
-          hints:            '',
-          markup: 'VVVVVVVVII',
-          status: 'ERROR',
+          input:  "inspect h1",
+          hints:            "",
+          markup: "VVVVVVVVII",
+          status: "ERROR",
           args: {
-            selector: { message: 'No matches' },
+            selector: { message: "No matches" },
           }
         },
       },
       {
         setup: "inspect span",
         check: {
-          input:  'inspect span',
-          hints:              '',
-          markup: 'VVVVVVVVEEEE',
-          status: 'ERROR',
+          input:  "inspect span",
+          hints:              "",
+          markup: "VVVVVVVVEEEE",
+          status: "ERROR",
           args: {
-            selector: { message: 'Too many matches (2)' },
+            selector: { message: "Too many matches (2)" },
           }
         },
       },
       {
         setup: "inspect div",
         check: {
-          input:  'inspect div',
-          hints:             '',
-          markup: 'VVVVVVVVVVV',
-          status: 'VALID',
+          input:  "inspect div",
+          hints:             "",
+          markup: "VVVVVVVVVVV",
+          status: "VALID",
           args: {
-            selector: { message: '' },
+            selector: { message: "" },
           }
         },
       },
       {
         setup: "inspect .someclas",
         check: {
-          input:  'inspect .someclas',
-          hints:                   '',
-          markup: 'VVVVVVVVIIIIIIIII',
-          status: 'ERROR',
+          input:  "inspect .someclas",
+          hints:                   "",
+          markup: "VVVVVVVVIIIIIIIII",
+          status: "ERROR",
           args: {
-            selector: { message: 'No matches' },
+            selector: { message: "No matches" },
           }
         },
       },
       {
         setup: "inspect .someclass",
         check: {
-          input:  'inspect .someclass',
-          hints:                    '',
-          markup: 'VVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "inspect .someclass",
+          hints:                    "",
+          markup: "VVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            selector: { message: '' },
+            selector: { message: "" },
           }
         },
       },
       {
         setup: "inspect #someid",
         check: {
-          input:  'inspect #someid',
-          hints:                 '',
-          markup: 'VVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "inspect #someid",
+          hints:                 "",
+          markup: "VVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            selector: { message: '' },
+            selector: { message: "" },
           }
         },
       },
       {
         setup: "inspect button[disabled]",
         check: {
-          input:  'inspect button[disabled]',
-          hints:                          '',
-          markup: 'VVVVVVVVVVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "inspect button[disabled]",
+          hints:                          "",
+          markup: "VVVVVVVVVVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            selector: { message: '' },
+            selector: { message: "" },
           }
         },
       },
       {
         setup: "inspect p>strong",
         check: {
-          input:  'inspect p>strong',
-          hints:                  '',
-          markup: 'VVVVVVVVVVVVVVVV',
-          status: 'VALID',
+          input:  "inspect p>strong",
+          hints:                  "",
+          markup: "VVVVVVVVVVVVVVVV",
+          status: "VALID",
           args: {
-            selector: { message: '' },
+            selector: { message: "" },
           }
         },
       },
       {
         setup: "inspect :root",
         check: {
-          input:  'inspect :root',
-          hints:               '',
-          markup: 'VVVVVVVVVVVVV',
-          status: 'VALID'
+          input:  "inspect :root",
+          hints:               "",
+          markup: "VVVVVVVVVVVVV",
+          status: "VALID"
         },
       },
     ]); // helpers.audit
   }); // helpers.addTabWithToolbar
 }); // add_task
--- a/devtools/client/inspector/test/browser_inspector_highlighter-01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-01.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that hovering over nodes in the markup-view shows the highlighter over
 // those nodes
-add_task(function*() {
+add_task(function* () {
   info("Loading the test document and opening the inspector");
   let {toolbox, inspector, testActor} = yield openInspectorForURL("data:text/html;charset=utf-8,<h1>foo</h1><span>bar</span>");
 
   let isVisible = yield testActor.isHighlighting(toolbox);
   ok(!isVisible, "The highlighter is hidden by default");
 
   info("Selecting the test node");
   yield selectNode("span", inspector);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-02.js
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that the highlighter is correctly displayed over a variety of elements
 
 const TEST_URI = URL_ROOT + "doc_inspector_highlighter.html";
 
-add_task(function*() {
+add_task(function* () {
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URI);
 
   info("Selecting the simple, non-transformed DIV");
   yield selectAndHighlightNode("#simple-div", inspector);
 
   let isVisible = yield testActor.isHighlighting();
   ok(isVisible, "The highlighter is shown");
   ok((yield testActor.assertHighlightedNode("#simple-div")),
--- a/devtools/client/inspector/test/browser_inspector_highlighter-04.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-04.js
@@ -21,17 +21,17 @@ const ELEMENTS = ["box-model-root",
                   "box-model-guide-left",
                   "box-model-nodeinfobar-container",
                   "box-model-nodeinfobar-tagname",
                   "box-model-nodeinfobar-id",
                   "box-model-nodeinfobar-classes",
                   "box-model-nodeinfobar-pseudo-classes",
                   "box-model-nodeinfobar-dimensions"];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   info("Show the box-model highlighter");
   let divFront = yield getNodeFront("div", inspector);
   yield toolbox.highlighter.showBoxModel(divFront);
 
   for (let id of ELEMENTS) {
     let foundId = yield testActor.getHighlighterNodeAttribute(id, "id");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-by-type.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-by-type.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Check that custom highlighters can be retrieved by type and that they expose
 // the expected API.
 
 const TEST_URL = "data:text/html;charset=utf-8,custom highlighters";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox} = yield openInspectorForURL(TEST_URL);
 
   yield onlyOneInstanceOfMainHighlighter(inspector);
   yield manyInstancesOfCustomHighlighters(inspector);
   yield showHideMethodsAreAvailable(inspector);
   yield unknownHighlighterTypeShouldntBeAccepted(inspector);
 });
 
--- a/devtools/client/inspector/test/browser_inspector_highlighter-comments.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-comments.js
@@ -1,16 +1,16 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("false");
 
 // Test that hovering over the markup-view's containers doesn't always show the
 // highlighter, depending on the type of node hovered over.
--- a/devtools/client/inspector/test/browser_inspector_highlighter-csstransform_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-csstransform_01.js
@@ -7,17 +7,17 @@
 // Test the creation of the SVG highlighter elements of the css transform
 // highlighter.
 
 const TEST_URL = "data:text/html;charset=utf-8," +
                  "<div id='transformed' style='border:1px solid red;width:100px;height:100px;transform:skew(13deg);'></div>" +
                  "<div id='untransformed' style='border:1px solid blue;width:100px;height:100px;'></div>" +
                  "<span id='inline' style='transform:rotate(90deg);'>this is an inline transformed element</span>";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
 
   let highlighter = yield front.getHighlighterByType("CssTransformHighlighter");
 
   yield isHiddenByDefault(testActor, highlighter);
   yield has2PolygonsAnd4Lines(testActor, highlighter);
   yield isNotShownForUntransformed(testActor, inspector, highlighter);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-csstransform_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-csstransform_02.js
@@ -15,17 +15,17 @@ There's a separate test for checking tha
 sensible values
 (devtools/client/shared/test/browser_layoutHelpers-getBoxQuads.js),
 so the present test doesn't care about that, it just verifies that the css
 transform highlighter applies those values correctly to the SVG elements
 */
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_csstransform.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
 
   let highlighter = yield front.getHighlighterByType("CssTransformHighlighter");
 
   let nodeFront = yield getNodeFront("#test-node", inspector);
 
   info("Displaying the transform highlighter on test node");
@@ -33,21 +33,21 @@ add_task(function*() {
 
   let data = yield testActor.getAllAdjustedQuads("#test-node");
   let [expected] = data.border;
 
   let points = yield testActor.getHighlighterNodeAttribute("css-transform-transformed", "points", highlighter);
   let polygonPoints = points.split(" ").map(p => {
     return {
       x: +p.substring(0, p.indexOf(",")),
-      y: +p.substring(p.indexOf(",")+1)
+      y: +p.substring(p.indexOf(",") + 1)
     };
   });
 
-  for (let i = 1; i < 5; i ++) {
+  for (let i = 1; i < 5; i++) {
     is(polygonPoints[i - 1].x, expected["p" + i].x,
       "p" + i + " x coordinate is correct");
     is(polygonPoints[i - 1].y, expected["p" + i].y,
       "p" + i + " y coordinate is correct");
   }
 
   info("Hiding the transform highlighter");
   yield highlighter.hide();
--- a/devtools/client/inspector/test/browser_inspector_highlighter-embed.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-embed.js
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that the highlighter can go inside <embed> elements
 
 const TEST_URL = URL_ROOT + "doc_inspector_embed.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector} = yield openInspectorForURL(TEST_URL);
 
   info("Get a node inside the <embed> element and select/highlight it");
   let body = yield getEmbeddedBody(inspector);
   yield selectAndHighlightNode(body, inspector);
 
   let selectedNode = inspector.selection.nodeFront;
   is(selectedNode.tagName.toLowerCase(), "body", "The selected node is <body>");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-hover_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-hover_01.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Test that when first hovering over a node and immediately after selecting it
 // by clicking on it leaves the highlighter visible for as long as the mouse is
 // over the node
 
 const TEST_URL = "data:text/html;charset=utf-8,<p>It's going to be legen....</p>";
 
-add_task(function*() {
+add_task(function* () {
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
   info("hovering over the <p> line in the markup-view");
   yield hoverContainer("p", inspector);
   let isVisible = yield testActor.isHighlighting();
   ok(isVisible, "the highlighter is still visible");
 
   info("selecting the <p> line by clicking in the markup-view");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-hover_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-hover_02.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Test that when after an element is selected and highlighted on hover, if the
 // mouse leaves the markup-view and comes back again on the same element, that
 // the highlighter is shown again on the node
 
 const TEST_URL = "data:text/html;charset=utf-8,<p>Select me!</p>";
 
-add_task(function*() {
+add_task(function* () {
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
   info("hover over the <p> line in the markup-view so that it's the currently hovered node");
   yield hoverContainer("p", inspector);
 
   info("select the <p> markup-container line by clicking");
   yield clickContainer("p", inspector);
   let isVisible = yield testActor.isHighlighting();
--- a/devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-hover_03.js
@@ -6,31 +6,31 @@
 
 // Test that once a node has been hovered over and marked as such, if it is
 // navigated away using the keyboard, the highlighter moves to the new node, and
 // if it is then navigated back to, it is briefly highlighted again
 
 const TEST_PAGE = "data:text/html;charset=utf-8," +
                   "<p id=\"one\">one</p><p id=\"two\">two</p>";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector} = yield openInspectorForURL(TEST_PAGE);
 
   info("Making sure the markup-view frame is focused");
   inspector.markup._frame.focus();
 
   // Mock the highlighter to easily track which node gets highlighted.
   // We don't need to test here that the highlighter is actually visible, we
   // just care about whether the markup-view asks it to be shown
   let highlightedNode = null;
-  inspector.toolbox._highlighter.showBoxModel = function(nodeFront) {
+  inspector.toolbox._highlighter.showBoxModel = function (nodeFront) {
     highlightedNode = nodeFront;
     return promise.resolve();
   };
-  inspector.toolbox._highlighter.hideBoxModel = function() {
+  inspector.toolbox._highlighter.hideBoxModel = function () {
     return promise.resolve();
   };
 
   function* isHighlighting(selector, desc) {
     let nodeFront = yield getNodeFront(selector, inspector);
     is(highlightedNode, nodeFront, desc);
   }
 
--- a/devtools/client/inspector/test/browser_inspector_highlighter-iframes_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-iframes_01.js
@@ -14,32 +14,32 @@ const NESTED_FRAME_SRC = "data:text/html
 const OUTER_FRAME_SRC = "data:text/html;charset=utf-8," +
   "little frame<div>little div</div>" +
   "<iframe src='" + NESTED_FRAME_SRC + "' />";
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "iframe tests for inspector" +
   "<iframe src=\"" + OUTER_FRAME_SRC + "\" />";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URI);
   let outerFrame = "iframe";
   let outerFrameDiv = ["iframe", "div"];
   let innerFrame = ["iframe", "iframe"];
   let innerFrameDiv = ["iframe", "iframe", "div"];
 
   info("Waiting for element picker to activate.");
   yield startPicker(inspector.toolbox);
 
   info("Moving mouse over outerFrameDiv");
   yield moveMouseOver(testActor, outerFrameDiv);
   ok((yield testActor.assertHighlightedNode(outerFrameDiv)), "outerFrameDiv is highlighted.");
 
   info("Moving mouse over innerFrameDiv");
-  yield moveMouseOver(testActor,innerFrameDiv);
+  yield moveMouseOver(testActor, innerFrameDiv);
   ok((yield testActor.assertHighlightedNode(innerFrameDiv)), "innerFrameDiv is highlighted.");
 
   info("Selecting root node");
   yield selectNode(inspector.walker.rootNode, inspector);
 
   info("Selecting an element from the nested iframe directly");
   let innerFrameFront = yield getNodeFrontInFrame("iframe", "iframe", inspector);
   let innerFrameDivFront = yield getNodeFrontInFrame("div", innerFrameFront, inspector);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-iframes_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-iframes_02.js
@@ -8,17 +8,17 @@
 // Test that the highlighter is correctly positioned when switching context
 // to an iframe that has an offset from the parent viewport (eg. 100px margin)
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<div id=\"outer\"></div>" +
   "<iframe style='margin:100px' src='data:text/html," +
   "<div id=\"inner\">Look I am here!</div>'>";
 
-add_task(function*() {
+add_task(function* () {
   info("Enable command-button-frames preference setting");
   Services.prefs.setBoolPref("devtools.command-button-frames.enabled", true);
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URI);
 
   info("Switch to the iframe context.");
   yield switchToFrameContext(1, toolbox, inspector);
 
   info("Check navigation was successful.");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-inline.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-inline.js
@@ -16,17 +16,17 @@ const TEST_DATA = [
   "h2",
   "h2 em",
   "p",
   "p span",
   // The following test case used to fail. See bug 1139925.
   "[dir=rtl] > span"
 ];
 
-add_task(function*() {
+add_task(function* () {
   info("Loading the test document and opening the inspector");
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
   for (let selector of TEST_DATA) {
     info("Selecting and highlighting node " + selector);
     yield selectAndHighlightNode(selector, inspector);
 
     info("Get all quads for this node");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_01.js
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that the keybindings for Picker work alright
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_dom.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   yield startPicker(toolbox);
 
   info("Selecting the simple-div1 DIV");
   yield moveMouseOver("#simple-div1");
 
   ok((yield testActor.assertHighlightedNode("#simple-div1")), "The highlighter shows #simple-div1. OK.");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_02.js
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that the keybindings for Picker work alright
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_dom.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   yield startPicker(toolbox);
 
   // Previously chosen child memory
   info("Testing whether previously chosen child is remembered");
 
   info("Selecting the ahoy paragraph DIV");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_03.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_03.js
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test that the keybindings for Picker work alright
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_dom.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   yield startPicker(toolbox);
 
   info("Selecting the #another DIV");
   yield moveMouseOver("#another");
 
   // Testing pick-node shortcut
--- a/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_04.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-keybinding_04.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Tests that pressing ESC twice while in picker mode first stops the picker and
 // then opens the split-console (see bug 988278).
 
 const TEST_URL = "data:text/html;charset=utf8,<div></div>";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   yield startPicker(toolbox);
 
   info("Start using the picker by hovering over nodes");
   let onHover = toolbox.once("picker-node-hovered");
   testActor.synthesizeMouse({
     options: {type: "mousemove"},
--- a/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js
@@ -14,17 +14,17 @@ const TEST_URL = `data:text/html;charset
                     </div>`;
 
 const PREFIX = "measuring-tool-highlighter-";
 const HIGHLIGHTER_TYPE = "MeasuringToolHighlighter";
 
 const X = 32;
 const Y = 20;
 
-add_task(function*() {
+add_task(function* () {
   let helper = yield openInspectorForURL(TEST_URL)
                        .then(getHighlighterHelperFor(HIGHLIGHTER_TYPE));
 
   let { finalize } = helper;
 
   helper.prefix = PREFIX;
 
   yield isHiddenByDefault(helper);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js
@@ -19,17 +19,17 @@ const HIGHLIGHTER_TYPE = "MeasuringToolH
 const SIDES = ["top", "right", "bottom", "left"];
 
 const X = 32;
 const Y = 20;
 const WIDTH = 160;
 const HEIGHT = 100;
 const HYPOTENUSE = Math.hypot(WIDTH, HEIGHT).toFixed(2);
 
-add_task(function*() {
+add_task(function* () {
   let helper = yield openInspectorForURL(TEST_URL)
                        .then(getHighlighterHelperFor(HIGHLIGHTER_TYPE));
 
   let { show, finalize } = helper;
 
   helper.prefix = PREFIX;
 
   yield show();
--- a/devtools/client/inspector/test/browser_inspector_highlighter-options.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-options.js
@@ -15,95 +15,95 @@ const TEST_URL = "data:text/html;charset
 // - desc: a string that will be output to the console.
 // - options: json object to be passed as options to the highlighter.
 // - checkHighlighter: a generator (async) function that should check the
 //   highlighter is correct.
 const TEST_DATA = [
   {
     desc: "Guides and infobar should be shown by default",
     options: {},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let hidden = yield testActor.getHighlighterNodeAttribute("box-model-nodeinfobar-container", "hidden");
       ok(!hidden, "Node infobar is visible");
 
       hidden = yield testActor.getHighlighterNodeAttribute("box-model-elements", "hidden");
       ok(!hidden, "SVG container is visible");
 
       for (let side of ["top", "right", "bottom", "left"]) {
         hidden = yield testActor.getHighlighterNodeAttribute("box-model-guide-" + side, "hidden");
         ok(!hidden, side + " guide is visible");
       }
     }
   },
   {
     desc: "All regions should be shown by default",
     options: {},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       for (let region of ["margin", "border", "padding", "content"]) {
         let {d} = yield testActor.getHighlighterRegionPath(region);
         ok(d, "Region " + region + " has set coordinates");
       }
     }
   },
   {
     desc: "Guides can be hidden",
     options: {hideGuides: true},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       for (let side of ["top", "right", "bottom", "left"]) {
         let hidden = yield testActor.getHighlighterNodeAttribute("box-model-guide-" + side, "hidden");
         is(hidden, "true", side + " guide has been hidden");
       }
     }
   },
   {
     desc: "Infobar can be hidden",
     options: {hideInfoBar: true},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let hidden = yield testActor.getHighlighterNodeAttribute("box-model-nodeinfobar-container", "hidden");
       is(hidden, "true", "nodeinfobar has been hidden");
     }
   },
   {
     desc: "One region only can be shown (1)",
     options: {showOnly: "content"},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let {d} = yield testActor.getHighlighterRegionPath("margin");
       ok(!d, "margin region is hidden");
 
       ({d} = yield testActor.getHighlighterRegionPath("border"));
       ok(!d, "border region is hidden");
 
       ({d} = yield testActor.getHighlighterRegionPath("padding"));
       ok(!d, "padding region is hidden");
 
       ({d} = yield testActor.getHighlighterRegionPath("content"));
       ok(d, "content region is shown");
     }
   },
   {
     desc: "One region only can be shown (2)",
     options: {showOnly: "margin"},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let {d} = yield testActor.getHighlighterRegionPath("margin");
       ok(d, "margin region is shown");
 
       ({d} = yield testActor.getHighlighterRegionPath("border"));
       ok(!d, "border region is hidden");
 
       ({d} = yield testActor.getHighlighterRegionPath("padding"));
       ok(!d, "padding region is hidden");
 
       ({d} = yield testActor.getHighlighterRegionPath("content"));
       ok(!d, "content region is hidden");
     }
   },
   {
     desc: "Guides can be drawn around a given region (1)",
     options: {region: "padding"},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let topY1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-top", "y1");
       let rightX1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-right", "x1");
       let bottomY1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-bottom", "y1");
       let leftX1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-left", "x1");
 
       let {points} = yield testActor.getHighlighterRegionPath("padding");
       points = points[0];
 
@@ -111,17 +111,17 @@ const TEST_DATA = [
       is(Math.floor(rightX1), points[1][0], "Right guide's x1 is correct");
       is(Math.floor(bottomY1), points[2][1], "Bottom guide's y1 is correct");
       is(Math.ceil(leftX1), points[3][0], "Left guide's x1 is correct");
     }
   },
   {
     desc: "Guides can be drawn around a given region (2)",
     options: {region: "margin"},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       let topY1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-top", "y1");
       let rightX1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-right", "x1");
       let bottomY1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-bottom", "y1");
       let leftX1 = yield testActor.getHighlighterNodeAttribute("box-model-guide-left", "x1");
 
       let {points} = yield testActor.getHighlighterRegionPath("margin");
       points = points[0];
 
@@ -129,17 +129,17 @@ const TEST_DATA = [
       is(Math.floor(rightX1), points[1][0], "Right guide's x1 is correct");
       is(Math.floor(bottomY1), points[2][1], "Bottom guide's y1 is correct");
       is(Math.ceil(leftX1), points[3][0], "Left guide's x1 is correct");
     }
   },
   {
     desc: "When showOnly is used, other regions can be faded",
     options: {showOnly: "margin", onlyRegionArea: true},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       for (let region of ["margin", "border", "padding", "content"]) {
         let {d} = yield testActor.getHighlighterRegionPath(region);
         ok(d, "Region " + region + " is shown (it has a d attribute)");
 
         let faded = yield testActor.getHighlighterNodeAttribute(
                           "box-model-" + region, "faded");
         if (region === "margin") {
           ok(!faded, "The margin region is not faded");
@@ -147,34 +147,34 @@ const TEST_DATA = [
           is(faded, "true", "Region " + region + " is faded");
         }
       }
     }
   },
   {
     desc: "When showOnly is used, other regions can be faded (2)",
     options: {showOnly: "padding", onlyRegionArea: true},
-    checkHighlighter: function*(testActor) {
+    checkHighlighter: function* (testActor) {
       for (let region of ["margin", "border", "padding", "content"]) {
         let {d} = yield testActor.getHighlighterRegionPath(region);
         ok(d, "Region " + region + " is shown (it has a d attribute)");
 
         let faded = yield testActor.getHighlighterNodeAttribute(
                           "box-model-" + region, "faded");
         if (region === "padding") {
           ok(!faded, "The padding region is not faded");
         } else {
           is(faded, "true", "Region " + region + " is faded");
         }
       }
     }
   }
 ];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   let divFront = yield getNodeFront("div", inspector);
 
   for (let {desc, options, checkHighlighter} of TEST_DATA) {
     info("Running test: " + desc);
 
     info("Show the box-model highlighter with options " + options);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-rect_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-rect_01.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Test that the custom rect highlighter provides the right API, ensures that
 // the input is valid and that it does create a box with the right dimensions,
 // at the right position.
 
 const TEST_URL = "data:text/html;charset=utf-8,Rect Highlighter Test";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("RectHighlighter");
   let body = yield getNodeFront("body", inspector);
 
   info("Make sure the highlighter returned is correct");
 
   ok(highlighter, "The RectHighlighter custom type was created");
--- a/devtools/client/inspector/test/browser_inspector_highlighter-rect_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-rect_02.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Test that the custom rect highlighter positions the rectangle relative to the
 // viewport of the context node we pass to it.
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_rect.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("RectHighlighter");
 
   info("Showing the rect highlighter in the context of the iframe");
 
   // Get the reference to a context node inside the iframe
   let childBody = yield getNodeFrontInFrame("body", "iframe", inspector);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-rulers_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-rulers_01.js
@@ -2,29 +2,29 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test the creation of the geometry highlighter elements.
 
 const TEST_URL = "data:text/html;charset=utf-8," +
-                 "<div style='position:absolute;left: 0; top: 0; width: 40000px; height: 8000px'></div>"
+                 "<div style='position:absolute;left: 0; top: 0; width: 40000px; height: 8000px'></div>";
 
 const ID = "rulers-highlighter-";
 
 // Maximum size, in pixel, for the horizontal ruler and vertical ruler
 // used by RulersHighlighter
 const RULERS_MAX_X_AXIS = 10000;
 const RULERS_MAX_Y_AXIS = 15000;
 // Number of steps after we add a text in RulersHighliter;
 // currently the unit is in pixel.
 const RULERS_TEXT_STEP = 100;
 
-add_task(function*() {
+add_task(function* () {
   let { inspector, toolbox, testActor } = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
 
   let highlighter = yield front.getHighlighterByType("RulersHighlighter");
 
   yield isHiddenByDefault(highlighter, inspector, testActor);
   yield hasRightLabelsContent(highlighter, inspector, testActor);
 
@@ -53,19 +53,19 @@ function* isHiddenByDefault(highlighterF
 
 function* hasRightLabelsContent(highlighterFront, inspector, testActor) {
   info("Checking the rulers have the proper text, based on rulers' size");
 
   let contentX = yield testActor.getHighlighterNodeTextContent(`${ID}x-axis-text`, highlighterFront);
   let contentY = yield testActor.getHighlighterNodeTextContent(`${ID}y-axis-text`, highlighterFront);
 
   let expectedX = "";
-  for (let i = RULERS_TEXT_STEP; i < RULERS_MAX_X_AXIS; i+= RULERS_TEXT_STEP)
+  for (let i = RULERS_TEXT_STEP; i < RULERS_MAX_X_AXIS; i += RULERS_TEXT_STEP)
     expectedX += i;
 
   is(contentX, expectedX, "x axis text content is correct");
 
   let expectedY = "";
-  for (let i = RULERS_TEXT_STEP; i < RULERS_MAX_Y_AXIS; i+= RULERS_TEXT_STEP)
+  for (let i = RULERS_TEXT_STEP; i < RULERS_MAX_Y_AXIS; i += RULERS_TEXT_STEP)
     expectedY += i;
 
   is(contentY, expectedY, "y axis text content is correct");
 }
--- a/devtools/client/inspector/test/browser_inspector_highlighter-rulers_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-rulers_02.js
@@ -2,21 +2,21 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Test the creation of the geometry highlighter elements.
 
 const TEST_URL = "data:text/html;charset=utf-8," +
-                 "<div style='position:absolute;left: 0; top: 0; width: 40000px; height: 8000px'></div>"
+                 "<div style='position:absolute;left: 0; top: 0; width: 40000px; height: 8000px'></div>";
 
 const ID = "rulers-highlighter-";
 
-add_task(function*() {
+add_task(function* () {
   let { inspector, toolbox, testActor } = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
 
   let highlighter = yield front.getHighlighterByType("RulersHighlighter");
 
   // the rulers doesn't need any node, but as highligher it seems mandatory
   // ones, so the body is given
   let body = yield getNodeFront("body", inspector);
--- a/devtools/client/inspector/test/browser_inspector_highlighter-selector_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-selector_01.js
@@ -32,17 +32,17 @@ const TEST_DATA = [{
 }, {
   selector: ".item",
   containerCount: 5
 }, {
   selector: "#test-node, ul, .item",
   containerCount: 7
 }];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("SelectorHighlighter");
 
   let contextNode = yield getNodeFront("body", inspector);
 
   for (let {selector, containerCount} of TEST_DATA) {
     info("Showing the highlighter on " + selector + ". Expecting " +
--- a/devtools/client/inspector/test/browser_inspector_highlighter-selector_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-selector_02.js
@@ -25,17 +25,17 @@ const TEST_DATA = [{
   selector: ".root-level-node",
   containerCount: 0
 }, {
   inIframe: true,
   selector: ".sub-level-node",
   containerCount: 1
 }];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("SelectorHighlighter");
 
   for (let {inIframe, selector, containerCount} of TEST_DATA) {
     info("Showing the highlighter on " + selector + ". Expecting " +
       containerCount + " highlighter containers");
 
--- a/devtools/client/inspector/test/browser_inspector_highlighter-xbl.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-xbl.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that the picker works correctly with XBL anonymous nodes
 
 const TEST_URL = URL_ROOT + "doc_inspector_highlighter_xbl.xul";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, toolbox, testActor} = yield openInspectorForURL(TEST_URL);
 
   yield startPicker(toolbox);
 
   info("Selecting the scale");
   yield moveMouseOver("#scale");
   yield doKeyPick({key: "VK_RETURN", options: {}});
   is(inspector.selection.nodeFront.className, "scale-slider",
--- a/devtools/client/inspector/test/browser_inspector_highlighter-zoom.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-zoom.js
@@ -19,17 +19,17 @@ const TEST_LEVELS = [{
 }, {
   level: 1,
   expected: "position:absolute;width:100%;height:100%;"
 }, {
   level: .5,
   expected: "position:absolute;transform-origin:top left;transform:scale(2);width:50%;height:50%;"
 }];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
   info("Highlighting the test node");
 
   yield hoverElement("div", inspector);
   let isVisible = yield testActor.isHighlighting();
   ok(isVisible, "The highlighter is visible");
 
--- a/devtools/client/inspector/test/browser_inspector_infobar_01.js
+++ b/devtools/client/inspector/test/browser_inspector_infobar_01.js
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Check the position and text content of the highlighter nodeinfo bar.
 
 const TEST_URI = URL_ROOT + "doc_inspector_infobar_01.html";
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URI);
 
   let testData = [
     {
       selector: "#top",
       position: "bottom",
       tag: "DIV",
       id: "top",
@@ -58,19 +58,19 @@ function* testPosition(test, inspector, 
   let position = yield testActor.getHighlighterNodeAttribute("box-model-nodeinfobar-container", "position");
   is(position, test.position, "Node " + test.selector + ": position matches");
 
   let tag = yield testActor.getHighlighterNodeTextContent("box-model-nodeinfobar-tagname");
   is(tag, test.tag, "node " + test.selector + ": tagName matches.");
 
   if (test.id) {
     let id = yield testActor.getHighlighterNodeTextContent("box-model-nodeinfobar-id");
-    is(id, "#" + test.id, "node " + test.selector  + ": id matches.");
+    is(id, "#" + test.id, "node " + test.selector + ": id matches.");
   }
 
   let classes = yield testActor.getHighlighterNodeTextContent("box-model-nodeinfobar-classes");
-  is(classes, test.classes, "node " + test.selector  + ": classes match.");
+  is(classes, test.classes, "node " + test.selector + ": classes match.");
 
   if (test.dims) {
     let dims = yield testActor.getHighlighterNodeTextContent("box-model-nodeinfobar-dimensions");
-    is(dims, test.dims, "node " + test.selector  + ": dims match.");
+    is(dims, test.dims, "node " + test.selector + ": dims match.");
   }
 }
--- a/devtools/client/inspector/test/browser_inspector_invalidate.js
+++ b/devtools/client/inspector/test/browser_inspector_invalidate.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Test that highlighter handles geometry changes correctly.
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "browser_inspector_invalidate.js\n" +
   "<div style=\"width: 100px; height: 100px; background:yellow;\"></div>";
 
-add_task(function*() {
+add_task(function* () {
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URI);
   let divFront = yield getNodeFront("div", inspector);
 
   info("Waiting for highlighter to activate");
   yield inspector.toolbox.highlighter.showBoxModel(divFront);
 
   let rect = yield testActor.getSimpleBorderRect();
   is(rect.width, 100, "The highlighter has the right width.");
--- a/devtools/client/inspector/test/browser_inspector_keyboard-shortcuts-copy-outerhtml.js
+++ b/devtools/client/inspector/test/browser_inspector_keyboard-shortcuts-copy-outerhtml.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
 http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // Test copy outer HTML from the keyboard/copy event
 
 const TEST_URL = URL_ROOT + "doc_inspector_outerhtml.html";
 
-add_task(function*() {
+add_task(function* () {
   let { inspector } = yield openInspectorForURL(TEST_URL);
   let root = inspector.markup._elt;
 
   info("Test copy outerHTML for COMMENT node");
   let comment = getElementByType(inspector, Ci.nsIDOMNode.COMMENT_NODE);
   yield setSelectionNodeFront(comment, inspector);
   yield checkClipboard("<!-- Comment -->", root);
 
--- a/devtools/client/inspector/test/browser_inspector_menu-01-sensitivity.js
+++ b/devtools/client/inspector/test/browser_inspector_menu-01-sensitivity.js
@@ -210,17 +210,17 @@ const TEST_CASES = [
   }
 ];
 
 var clipboard = require("sdk/clipboard");
 registerCleanupFunction(() => {
   clipboard = null;
 });
 
-add_task(function *() {
+add_task(function* () {
   let { inspector } = yield openInspectorForURL(TEST_URL);
   for (let test of TEST_CASES) {
     let { desc, disabled, selector, attributeTrigger } = test;
 
     info(`Test ${desc}`);
     setupClipboard(test.clipboardData, test.clipboardDataType);
 
     let front = yield getNodeFrontForSelector(selector, inspector);
@@ -274,17 +274,17 @@ function setupClipboard(data, type) {
     clipboard.set("", "text");
   }
 }
 
 /**
  * A helper that simulates a contextmenu event on the given chrome DOM element.
  */
 function contextMenuClick(element) {
-  let evt = element.ownerDocument.createEvent('MouseEvents');
+  let evt = element.ownerDocument.createEvent("MouseEvents");
   let button = 2;  // right click
 
-  evt.initMouseEvent('contextmenu', true, true,
+  evt.initMouseEvent("contextmenu", true, true,
        element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
        false, false, false, button, null);
 
   element.dispatchEvent(evt);
 }
--- a/devtools/client/inspector/test/browser_inspector_menu-02-copy-items.js
+++ b/devtools/client/inspector/test/browser_inspector_menu-02-copy-items.js
@@ -29,17 +29,17 @@ const COPY_ITEMS_TEST_DATA = [
     desc: "copy image data uri",
     id: "node-menu-copyimagedatauri",
     selector: "#copyimage",
     text: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABC" +
       "AAAAAA6fptVAAAACklEQVQYV2P4DwABAQEAWk1v8QAAAABJRU5ErkJggg==",
   },
 ];
 
-add_task(function*() {
+add_task(function* () {
   let { inspector } = yield openInspectorForURL(TEST_URL);
   for (let {desc, id, selector, text} of COPY_ITEMS_TEST_DATA) {
     info("Testing " + desc);
     yield selectNode(selector, inspector);
 
     let item = inspector.panelDoc.getElementById(id);
     ok(item, "The popup has a " + desc + " menu item.");
 
--- a/devtools/client/inspector/test/browser_inspector_menu-03-paste-items.js
+++ b/devtools/client/inspector/test/browser_inspector_menu-03-paste-items.js
@@ -129,20 +129,20 @@ add_task(function* () {
     let commandEvent = document.createEvent("XULCommandEvent");
     commandEvent.initCommandEvent("command", true, true, window, 0, false, false,
                                   false, false, null);
     node.dispatchEvent(commandEvent);
   }
 
   function contextMenuClick(element) {
     info("Simulating contextmenu event on " + element);
-    let evt = element.ownerDocument.createEvent('MouseEvents');
+    let evt = element.ownerDocument.createEvent("MouseEvents");
     let button = 2;  // right click
 
-    evt.initMouseEvent('contextmenu', true, true,
+    evt.initMouseEvent("contextmenu", true, true,
          element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
          false, false, false, button, null);
 
     element.dispatchEvent(evt);
   }
 
   function getLabelFor(elt) {
     if (typeof elt === "string")
--- a/devtools/client/inspector/test/browser_inspector_menu-05-attribute-items.js
+++ b/devtools/client/inspector/test/browser_inspector_menu-05-attribute-items.js
@@ -18,17 +18,17 @@ add_task(function* () {
   function* testAddAttribute() {
     info("Testing 'Add Attribute' menu item");
     let addAttribute = getMenuItem("node-menu-add-attribute");
 
     info("Triggering 'Add Attribute' and waiting for mutation to occur");
     dispatchCommandEvent(addAttribute);
     EventUtils.synthesizeKey('class="u-hidden"', {});
     let onMutation = inspector.once("markupmutation");
-    EventUtils.synthesizeKey('VK_RETURN', {});
+    EventUtils.synthesizeKey("VK_RETURN", {});
     yield onMutation;
 
     let hasAttribute = testActor.hasNode("#attributes.u-hidden");
     ok(hasAttribute, "attribute was successfully added");
   }
 
   function* testEditAttribute() {
     info("Testing 'Edit Attribute' menu item");
@@ -37,17 +37,17 @@ add_task(function* () {
     info("Triggering 'Edit Attribute' and waiting for mutation to occur");
     inspector.nodeMenuTriggerInfo = {
       type: "attribute",
       name: "data-edit"
     };
     dispatchCommandEvent(editAttribute);
     EventUtils.synthesizeKey("data-edit='edited'", {});
     let onMutation = inspector.once("markupmutation");
-    EventUtils.synthesizeKey('VK_RETURN', {});
+    EventUtils.synthesizeKey("VK_RETURN", {});
     yield onMutation;
 
     let isAttributeChanged =
       yield testActor.hasNode("#attributes[data-edit='edited']");
     ok(isAttributeChanged, "attribute was successfully edited");
   }
 
   function* testRemoveAttribute() {
@@ -58,17 +58,17 @@ add_task(function* () {
     inspector.nodeMenuTriggerInfo = {
       type: "attribute",
       name: "data-remove"
     };
     let onMutation = inspector.once("markupmutation");
     dispatchCommandEvent(removeAttribute);
     yield onMutation;
 
-    let hasAttribute = yield testActor.hasNode("#attributes[data-remove]")
+    let hasAttribute = yield testActor.hasNode("#attributes[data-remove]");
     ok(!hasAttribute, "attribute was successfully removed");
   }
 
   function getMenuItem(id) {
     let attribute = inspector.panelDoc.getElementById(id);
     ok(attribute, "Menu item '" + id + "' found");
     return attribute;
   }
--- a/devtools/client/inspector/test/browser_inspector_menu-06-other.js
+++ b/devtools/client/inspector/test/browser_inspector_menu-06-other.js
@@ -22,17 +22,17 @@ add_task(function* () {
     info("Triggering 'Show DOM Properties' and waiting for inspector open");
     dispatchCommandEvent(showDOMPropertiesNode);
     yield consoleOpened;
 
     let webconsoleUI = toolbox.getPanel("webconsole").hud.ui;
     let messagesAdded = webconsoleUI.once("new-messages");
     yield messagesAdded;
     info("Checking if 'inspect($0)' was evaluated");
-    ok(webconsoleUI.jsterm.history[0] === 'inspect($0)');
+    ok(webconsoleUI.jsterm.history[0] === "inspect($0)");
     yield toolbox.toggleSplitConsole();
   }
   function* testDuplicateNode() {
     info("Testing 'Duplicate Node' menu item for normal elements.");
 
     yield selectNode(".duplicate", inspector);
     is((yield testActor.getNumberOfElementMatches(".duplicate")), 1,
        "There should initially be 1 .duplicate node");
--- a/devtools/client/inspector/test/browser_inspector_pane-toggle-04.js
+++ b/devtools/client/inspector/test/browser_inspector_pane-toggle-04.js
@@ -54,12 +54,12 @@ add_task(function* () {
     "The panel height has not been modified when changing the layout.");
   is(panel.style.marginBottom, currentPanelMarginBottom,
     "The panel margin-bottom has not been modified when changing the layout.");
 
   info("Restoring window original size.");
   hostWindow.resizeTo(originalWidth, originalHeight);
 });
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   // Restore the host type for other tests.
   Services.prefs.clearUserPref("devtools.toolbox.host");
 });
--- a/devtools/client/inspector/test/browser_inspector_pseudoclass-lock.js
+++ b/devtools/client/inspector/test/browser_inspector_pseudoclass-lock.js
@@ -1,28 +1,28 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 // Test that locking the pseudoclass displays correctly in the ruleview
 
 const PSEUDO = ":hover";
-const TEST_URL = 'data:text/html;charset=UTF-8,' +
-                 '<head>' +
-                 '  <style>div {color:red;} div:hover {color:blue;}</style>' +
-                 '</head>' +
-                 '<body>' +
+const TEST_URL = "data:text/html;charset=UTF-8," +
+                 "<head>" +
+                 "  <style>div {color:red;} div:hover {color:blue;}</style>" +
+                 "</head>" +
+                 "<body>" +
                  '  <div id="parent-div">' +
                  '    <div id="div-1">test div</div>' +
                  '    <div id="div-2">test div2</div>' +
-                 '  </div>' +
-                 '</body>';
+                 "  </div>" +
+                 "</body>";
 
-add_task(function*() {
+add_task(function* () {
   info("Creating the test tab and opening the rule-view");
   let {toolbox, inspector, testActor} = yield openInspectorForURL(TEST_URL);
 
   info("Selecting the ruleview sidebar");
   inspector.sidebar.select("ruleview");
 
   let view = inspector.ruleview.view;
 
--- a/devtools/client/inspector/test/browser_inspector_pseudoclass-menu.js
+++ b/devtools/client/inspector/test/browser_inspector_pseudoclass-menu.js
@@ -6,17 +6,17 @@
 // Test that the inspector has the correct pseudo-class locking menu items and
 // that these items actually work
 
 const TEST_URI = "data:text/html;charset=UTF-8," +
                  "pseudo-class lock node menu tests" +
                  "<div>test div</div>";
 const PSEUDOS = ["hover", "active", "focus"];
 
-add_task(function*() {
+add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URI);
   yield selectNode("div", inspector);
 
   info("Getting the inspector ctx menu and opening it");
   let menu = inspector.panelDoc.getElementById("inspector-node-popup");
   yield openMenu(menu);
 
   yield testMenuItems(testActor, menu, inspector);
--- a/devtools/client/inspector/test/browser_inspector_reload-02.js
+++ b/devtools/client/inspector/test/browser_inspector_reload-02.js
@@ -10,23 +10,23 @@
 // Reload should reselect the currently selected markup view element.
 // This should work even when an element whose selector is inaccessible
 // is selected (bug 1038651).
 const TEST_URI = 'data:text/xml,<?xml version="1.0" standalone="no"?>' +
 '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"' +
 '  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">' +
 '<svg width="4cm" height="4cm" viewBox="0 0 400 400"' +
 '     xmlns="http://www.w3.org/2000/svg" version="1.1">' +
-'  <title>Example triangle01- simple example of a path</title>' +
-'  <desc>A path that draws a triangle</desc>' +
+"  <title>Example triangle01- simple example of a path</title>" +
+"  <desc>A path that draws a triangle</desc>" +
 '  <rect x="1" y="1" width="398" height="398"' +
 '        fill="none" stroke="blue" />' +
 '  <path d="M 100 100 L 300 100 L 200 300 z"' +
 '        fill="red" stroke="blue" stroke-width="3" />' +
-'</svg>';
+"</svg>";
 
 add_task(function* () {
   let { inspector, testActor } = yield openInspectorForURL(TEST_URI);
 
   let markupLoaded = inspector.once("markuploaded");
 
   info("Reloading page.");
   yield testActor.eval("location.reload()");
--- a/devtools/client/inspector/test/browser_inspector_search-01.js
+++ b/devtools/client/inspector/test/browser_inspector_search-01.js
@@ -69,17 +69,17 @@ add_task(function* () {
   for (let [ key, id, isValid ] of KEY_STATES) {
     info(index + ": Pressing key " + key + " to get id " + id + ".");
     let done = inspector.searchSuggestions.once("processing-done");
     EventUtils.synthesizeKey(key, {}, inspector.panelWin);
     yield done;
     info("Got processing-done event");
 
     if (key === "VK_RETURN") {
-      info ("Waiting for " + (isValid ? "NO " : "") + "results");
+      info("Waiting for " + (isValid ? "NO " : "") + "results");
       yield inspector.search.once("search-result");
     }
 
     info("Waiting for search query to complete");
     yield inspector.searchSuggestions._lastQuery;
 
     info(inspector.selection.nodeFront.id + " is selected with text " +
          searchBox.value);
--- a/devtools/client/inspector/test/browser_inspector_search-02.js
+++ b/devtools/client/inspector/test/browser_inspector_search-02.js
@@ -147,17 +147,17 @@ add_task(function* () {
 
     info("Waiting for search query to complete");
     yield inspector.searchSuggestions._lastQuery;
 
     info("Query completed. Performing checks for input '" + searchBox.value +
       "' - key pressed: " + key);
     let actualSuggestions = popup.getItems().reverse();
 
-    is(popup.isOpen ? actualSuggestions.length: 0, suggestions.length,
+    is(popup.isOpen ? actualSuggestions.length : 0, suggestions.length,
        "There are expected number of suggestions.");
 
     for (let i = 0; i < suggestions.length; i++) {
       is(actualSuggestions[i].label, suggestions[i].label,
          "The suggestion at " + i + "th index is correct.");
     }
   }
 });
--- a/devtools/client/inspector/test/browser_inspector_search-03.js
+++ b/devtools/client/inspector/test/browser_inspector_search-03.js
@@ -227,17 +227,17 @@ add_task(function* () {
     yield command;
 
     info("Waiting for search query to complete");
     yield inspector.searchSuggestions._lastQuery;
 
     info("Query completed. Performing checks for input '" + searchBox.value + "'");
     let actualSuggestions = popup.getItems().reverse();
 
-    is(popup.isOpen ? actualSuggestions.length: 0, suggestions.length,
+    is(popup.isOpen ? actualSuggestions.length : 0, suggestions.length,
        "There are expected number of suggestions.");
 
     for (let i = 0; i < suggestions.length; i++) {
       is(actualSuggestions[i].label, suggestions[i].label,
          "The suggestion at " + i + "th index is correct.");
     }
   }
 });
--- a/devtools/client/inspector/test/browser_inspector_search-04.js
+++ b/devtools/client/inspector/test/browser_inspector_search-04.js
@@ -89,17 +89,17 @@ add_task(function* () {
     yield command;
 
     info("Waiting for search query to complete");
     yield inspector.searchSuggestions._lastQuery;
 
     info("Query completed. Performing checks for input '" + searchBox.value + "'");
     let actualSuggestions = popup.getItems().reverse();
 
-    is(popup.isOpen ? actualSuggestions.length: 0, suggestions.length,
+    is(popup.isOpen ? actualSuggestions.length : 0, suggestions.length,
        "There are expected number of suggestions.");
 
     for (let i = 0; i < suggestions.length; i++) {
       is(actualSuggestions[i].label, suggestions[i].label,
          "The suggestion at " + i + "th index is correct.");
     }
   }
 });
--- a/devtools/client/inspector/test/browser_inspector_search-05.js
+++ b/devtools/client/inspector/test/browser_inspector_search-05.js
@@ -70,17 +70,17 @@ add_task(function* () {
   info("Press enter to cycle through multiple nodes matching this suggestion");
   onSelect = inspector.once("inspector-updated");
   EventUtils.synthesizeKey("VK_RETURN", {}, inspector.panelWin);
   yield onSelect;
 
   yield checkCorrectButton(inspector, "#iframe-1");
 });
 
-let checkCorrectButton = Task.async(function*(inspector, frameSelector) {
+let checkCorrectButton = Task.async(function* (inspector, frameSelector) {
   let {walker} = inspector;
   let node = inspector.selection.nodeFront;
 
   ok(node.id, "b1", "The selected node is #b1");
   ok(node.tagName.toLowerCase(), "button",
     "The selected node is <button>");
 
   let selectedNodeDoc = yield walker.document(node);
--- a/devtools/client/inspector/test/browser_inspector_search-reserved.js
+++ b/devtools/client/inspector/test/browser_inspector_search-reserved.js
@@ -109,17 +109,17 @@ add_task(function* () {
     yield command;
 
     info("Waiting for search query to complete");
     yield inspector.searchSuggestions._lastQuery;
 
     info("Query completed. Performing checks for input '" + searchBox.value + "'");
     let actualSuggestions = popup.getItems().reverse();
 
-    is(popup.isOpen ? actualSuggestions.length: 0, suggestions.length,
+    is(popup.isOpen ? actualSuggestions.length : 0, suggestions.length,
        "There are expected number of suggestions.");
 
     for (let i = 0; i < suggestions.length; i++) {
       is(suggestions[i].label, actualSuggestions[i].label,
          "The suggestion at " + i + "th index is correct.");
     }
   }
 });
--- a/devtools/client/inspector/test/browser_inspector_search-selection.js
+++ b/devtools/client/inspector/test/browser_inspector_search-selection.js
@@ -41,17 +41,17 @@ add_task(function* () {
     msg = "Press ctrl-g to cycle through multiple nodes";
     yield sendKeyAndCheck(inspector, msg, "VK_G", { ctrlKey: true }, "#p2");
 
     msg = "Press shift+ctrl-g to select the previous node";
     yield sendKeyAndCheck(inspector, msg, "VK_G", { ctrlKey: true, shiftKey: true }, "#p1");
   }
 });
 
-let sendKeyAndCheck = Task.async(function*(inspector, description, key, modifiers, expectedId) {
+let sendKeyAndCheck = Task.async(function* (inspector, description, key, modifiers, expectedId) {
   info(description);
   let onSelect = inspector.once("inspector-updated");
   EventUtils.synthesizeKey(key, modifiers, inspector.panelWin);
   yield onSelect;
 
   let selectedNode = inspector.selection.nodeFront;
   info(selectedNode.id + " is selected with text " + inspector.searchBox.value);
   let targetNode = yield getNodeFront(expectedId, inspector);
--- a/devtools/client/inspector/test/browser_inspector_search-suggests-ids-and-classes.js
+++ b/devtools/client/inspector/test/browser_inspector_search-suggests-ids-and-classes.js
@@ -72,17 +72,17 @@ function test()
   function startTest(aInspector)
   {
     inspector = aInspector;
 
     searchBox =
       inspector.panelWin.document.getElementById("inspector-searchbox");
     popup = inspector.searchSuggestions.searchPopup;
 
-    focusSearchBoxUsingShortcut(inspector.panelWin, function() {
+    focusSearchBoxUsingShortcut(inspector.panelWin, function () {
       searchBox.addEventListener("command", checkState, true);
       checkStateAndMoveOn(0);
     });
   }
 
   function checkStateAndMoveOn(index) {
     if (index == keyStates.length) {
       finishUp();
@@ -96,26 +96,26 @@ function test()
          JSON.stringify(suggestions));
     EventUtils.synthesizeKey(key, {}, inspector.panelWin);
   }
 
   function checkState(event) {
     inspector.searchSuggestions._lastQuery.then(() => {
       let [key, suggestions] = keyStates[state];
       let actualSuggestions = popup.getItems();
-      is(popup.isOpen ? actualSuggestions.length: 0, suggestions.length,
+      is(popup.isOpen ? actualSuggestions.length : 0, suggestions.length,
          "There are expected number of suggestions at " + state + "th step.");
       actualSuggestions.reverse();
       for (let i = 0; i < suggestions.length; i++) {
         is(suggestions[i][0], actualSuggestions[i].label,
            "The suggestion at " + i + "th index for " + state +
-           "th step is correct.")
+           "th step is correct.");
         is(suggestions[i][1] || 1, actualSuggestions[i].count,
            "The count for suggestion at " + i + "th index for " + state +
-           "th step is correct.")
+           "th step is correct.");
       }
       checkStateAndMoveOn(state + 1);
     });
   }
 
   function finishUp() {
     searchBox = null;
     popup = null;
--- a/devtools/client/inspector/test/browser_inspector_search_keyboard_trap.js
+++ b/devtools/client/inspector/test/browser_inspector_search_keyboard_trap.js
@@ -64,17 +64,17 @@ const TEST_DATA = [
       {
         key: "VK_TAB",
         options: { shiftKey: true }
       }
     ]
   }
 ];
 
-add_task(function*() {
+add_task(function* () {
   let { inspector } = yield openInspectorForURL(TEST_URL);
   let { searchBox } = inspector;
   let doc = inspector.panelDoc;
 
   yield selectNode("#b1", inspector);
   yield focusSearchBoxUsingShortcut(inspector.panelWin);
 
   // Ensure a searchbox is focused.
--- a/devtools/client/inspector/test/browser_inspector_select-docshell.js
+++ b/devtools/client/inspector/test/browser_inspector_select-docshell.js
@@ -7,17 +7,17 @@
 // Test frame selection switching at toolbox level
 // when using the inspector
 
 const FrameURL = "data:text/html;charset=UTF-8," +
                  encodeURI("<div id=\"frame\">frame</div>");
 const URL = "data:text/html;charset=UTF-8," +
             encodeURI("<iframe src=\"" + FrameURL + "\"></iframe><div id=\"top\">top</div>");
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setBoolPref("devtools.command-button-frames.enabled", true);
 
   let {inspector, toolbox, testActor} = yield openInspectorForURL(URL);
 
   // Verify we are on the top level document
   ok((yield testActor.hasNode("#top")), "We have the test node on the top level document");
 
   assertMarkupViewIsLoaded(inspector);
--- a/devtools/client/inspector/test/head.js
+++ b/devtools/client/inspector/test/head.js
@@ -32,17 +32,17 @@ DevToolsUtils.testing = true;
 registerCleanupFunction(() => {
   DevToolsUtils.testing = false;
 });
 
 registerCleanupFunction(() => {
   Services.prefs.clearUserPref("devtools.inspector.activeSidebar");
 });
 
-registerCleanupFunction(function*() {
+registerCleanupFunction(function* () {
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   yield gDevTools.closeToolbox(target);
 
   // Move the mouse outside inspector. If the test happened fake a mouse event
   // somewhere over inspector the pointer is considered to be there when the
   // next test begins. This might cause unexpected events to be emitted when
   // another test moves the mouse.
   EventUtils.synthesizeMouseAtPoint(1, 1, {type: "mousemove"}, window);
@@ -92,17 +92,17 @@ function getNode(nodeOrSelector, options
   info("Looking for a node but selector was not a string.");
   return nodeOrSelector;
 }
 
 /**
  * Start the element picker and focus the content window.
  * @param {Toolbox} toolbox
  */
-var startPicker = Task.async(function*(toolbox) {
+var startPicker = Task.async(function* (toolbox) {
   info("Start the element picker");
   yield toolbox.highlighterUtils.startPicker();
   // Make sure the content window is focused since the picker does not focus
   // the content window by default.
   yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
     content.focus();
   });
 });
@@ -126,17 +126,17 @@ function selectAndHighlightNode(selector
  * selector
  * @param {String|NodeFront} selector
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @param {String} reason Defaults to "test" which instructs the inspector not
  * to highlight the node upon selection
  * @return {Promise} Resolves when the inspector is updated with the new node
  */
-var selectNode = Task.async(function*(selector, inspector, reason="test") {
+var selectNode = Task.async(function* (selector, inspector, reason = "test") {
   info("Selecting the node for '" + selector + "'");
   let nodeFront = yield getNodeFront(selector, inspector);
   let updated = inspector.once("inspector-updated");
   inspector.selection.setNodeFront(nodeFront, reason);
   yield updated;
 });
 
 /**
@@ -155,28 +155,28 @@ function clearCurrentNodeSelection(inspe
 
 /**
  * Open the inspector in a tab with given URL.
  * @param {string} url  The URL to open.
  * @param {String} hostType Optional hostType, as defined in Toolbox.HostType
  * @return A promise that is resolved once the tab and inspector have loaded
  *         with an object: { tab, toolbox, inspector }.
  */
-var openInspectorForURL = Task.async(function*(url, hostType) {
+var openInspectorForURL = Task.async(function* (url, hostType) {
   let tab = yield addTab(url);
   let { inspector, toolbox, testActor } = yield openInspector(hostType);
   return { tab, inspector, toolbox, testActor };
 });
 
 /**
  * Open the toolbox, with the inspector tool visible.
  * @param {String} hostType Optional hostType, as defined in Toolbox.HostType
  * @return a promise that resolves when the inspector is ready
  */
-var openInspector = Task.async(function*(hostType) {
+var openInspector = Task.async(function* (hostType) {
   info("Opening the inspector");
 
   let toolbox = yield openToolboxForTab(gBrowser.selectedTab, "inspector", hostType);
   let inspector = toolbox.getPanel("inspector");
 
   info("Waiting for the inspector to update");
   if (inspector._updateProgress) {
     yield inspector.once("inspector-updated");
@@ -194,17 +194,17 @@ function getActiveInspector() {
 }
 
 /**
  * Right click on a node in the test page and click on the inspect menu item.
  * @param {TestActor}
  * @param {String} selector The selector for the node to click on in the page.
  * @return {Promise} Resolves to the inspector when it has opened and is updated
  */
-var clickOnInspectMenuItem = Task.async(function*(testActor, selector) {
+var clickOnInspectMenuItem = Task.async(function* (testActor, selector) {
   info("Showing the contextual menu on node " + selector);
   let contentAreaContextMenu = document.querySelector("#contentAreaContextMenu");
   let contextOpened = once(contentAreaContextMenu, "popupshown");
 
   yield testActor.synthesizeMouse({
     selector: selector,
     center: true,
     options: {type: "contextmenu", button: 2}
@@ -327,18 +327,18 @@ function getNodeFront(selector, {walker}
  * @param {String|NodeFront} frameSelector A selector that matches the iframe
  * the node is in
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @param {String} reason Defaults to "test" which instructs the inspector not
  * to highlight the node upon selection
  * @return {Promise} Resolves when the inspector is updated with the new node
  */
-var getNodeFrontInFrame = Task.async(function*(selector, frameSelector,
-                                               inspector, reason="test") {
+var getNodeFrontInFrame = Task.async(function* (selector, frameSelector,
+                                               inspector, reason = "test") {
   let iframe = yield getNodeFront(frameSelector, inspector);
   let {nodes} = yield inspector.walker.children(iframe);
   return inspector.walker.querySelector(nodes[0], selector);
 });
 
 var focusSearchBoxUsingShortcut = Task.async(function* (panelWin, callback) {
   info("Focusing search box");
   let searchBox = panelWin.document.getElementById("inspector-searchbox");
@@ -371,34 +371,34 @@ function getContainerForNodeFront(nodeFr
 /**
  * Get the MarkupContainer object instance that corresponds to the given
  * selector
  * @param {String|NodeFront} selector
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @return {MarkupContainer}
  */
-var getContainerForSelector = Task.async(function*(selector, inspector) {
+var getContainerForSelector = Task.async(function* (selector, inspector) {
   info("Getting the markup-container for node " + selector);
   let nodeFront = yield getNodeFront(selector, inspector);
   let container = getContainerForNodeFront(nodeFront, inspector);
   info("Found markup-container " + container);
   return container;
 });
 
 /**
  * Simulate a mouse-over on the markup-container (a line in the markup-view)
  * that corresponds to the selector passed.
  * @param {String|NodeFront} selector
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @return {Promise} Resolves when the container is hovered and the higlighter
  * is shown on the corresponding node
  */
-var hoverContainer = Task.async(function*(selector, inspector) {
+var hoverContainer = Task.async(function* (selector, inspector) {
   info("Hovering over the markup-container for node " + selector);
 
   let nodeFront = yield getNodeFront(selector, inspector);
   let container = getContainerForNodeFront(nodeFront, inspector);
 
   let highlit = inspector.toolbox.once("node-highlight");
   EventUtils.synthesizeMouseAtCenter(container.tagLine, {type: "mousemove"},
     inspector.markup.doc.defaultView);
@@ -408,17 +408,17 @@ var hoverContainer = Task.async(function
 /**
  * Simulate a click on the markup-container (a line in the markup-view)
  * that corresponds to the selector passed.
  * @param {String|NodeFront} selector
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @return {Promise} Resolves when the node has been selected.
  */
-var clickContainer = Task.async(function*(selector, inspector) {
+var clickContainer = Task.async(function* (selector, inspector) {
   info("Clicking on the markup-container for node " + selector);
 
   let nodeFront = yield getNodeFront(selector, inspector);
   let container = getContainerForNodeFront(nodeFront, inspector);
 
   let updated = inspector.once("inspector-updated");
   EventUtils.synthesizeMouseAtCenter(container.tagLine, {type: "mousedown"},
     inspector.markup.doc.defaultView);
@@ -506,20 +506,20 @@ function dispatchCommandEvent(node) {
                                 false, false, null);
   node.dispatchEvent(commandEvent);
 }
 
 /**
  * A helper that simulates a contextmenu event on the given chrome DOM element.
  */
 function contextMenuClick(element) {
-  let evt = element.ownerDocument.createEvent('MouseEvents');
+  let evt = element.ownerDocument.createEvent("MouseEvents");
   let button = 2;  // right click
 
-  evt.initMouseEvent('contextmenu', true, true,
+  evt.initMouseEvent("contextmenu", true, true,
        element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
        false, false, false, button, null);
 
   element.dispatchEvent(evt);
 }
 
 /**
  * A helper that fetches a front for a node that matches the given selector or
@@ -543,133 +543,133 @@ function* getNodeFrontForSelector(select
  *
  * @param  {String}
  *    The highlighter's type
  * @return
  *    A generator function that takes an object with `inspector` and `testActor`
  *    properties. (see `openInspector`)
  */
 const getHighlighterHelperFor = (type) => Task.async(
-  function*({inspector, testActor}) {
+  function* ({inspector, testActor}) {
     let front = inspector.inspector;
     let highlighter = yield front.getHighlighterByType(type);
 
     let prefix = "";
 
     // Internals for mouse events
     let prevX, prevY;
 
     // Highlighted node
-    let  highlightedNode = null;
+    let highlightedNode = null;
 
     return {
       set prefix(value) {
         prefix = value;
       },
       get highlightedNode() {
         if (!highlightedNode) {
           return null;
         }
 
         return {
-          getComputedStyle: function*(options = {}) {
+          getComputedStyle: function* (options = {}) {
             return yield inspector.pageStyle.getComputed(
               highlightedNode, options);
           }
         };
       },
 
-      show: function*(selector = ":root") {
+      show: function* (selector = ":root") {
         highlightedNode = yield getNodeFront(selector, inspector);
         return yield highlighter.show(highlightedNode);
       },
 
-      hide: function*() {
+      hide: function* () {
         yield highlighter.hide();
       },
 
-      isElementHidden: function*(id) {
+      isElementHidden: function* (id) {
         return (yield testActor.getHighlighterNodeAttribute(
           prefix + id, "hidden", highlighter)) === "true";
       },
 
-      getElementTextContent: function*(id) {
+      getElementTextContent: function* (id) {
         return yield testActor.getHighlighterNodeTextContent(
           prefix + id, highlighter);
       },
 
-      getElementAttribute: function*(id, name) {
+      getElementAttribute: function* (id, name) {
         return yield testActor.getHighlighterNodeAttribute(
           prefix + id, name, highlighter);
       },
 
-      synthesizeMouse: function*(options) {
+      synthesizeMouse: function* (options) {
         options = Object.assign({selector: ":root"}, options);
         yield testActor.synthesizeMouse(options);
       },
 
       // This object will synthesize any "mouse" prefixed event to the
       // `testActor`, using the name of method called as suffix for the
       // event's name.
       // If no x, y coords are given, the previous ones are used.
       //
       // For example:
       //   mouse.down(10, 20); // synthesize "mousedown" at 10,20
       //   mouse.move(20, 30); // synthesize "mousemove" at 20,30
       //   mouse.up();         // synthesize "mouseup" at 20,30
       mouse: new Proxy({}, {
         get: (target, name) =>
-          function*(x = prevX, y = prevY) {
+          function* (x = prevX, y = prevY) {
             prevX = x;
             prevY = y;
             yield testActor.synthesizeMouse({
               selector: ":root", x, y, options: {type: "mouse" + name}});
           }
       }),
 
-      reflow: function*() {
+      reflow: function* () {
         yield testActor.reflow();
       },
 
-      finalize: function*() {
+      finalize: function* () {
         highlightedNode = null;
         yield highlighter.finalize();
       }
     };
   }
 );
 
 // The expand all operation of the markup-view calls itself recursively and
 // there's not one event we can wait for to know when it's done
 // so use this helper function to wait until all recursive children updates are done.
 function* waitForMultipleChildrenUpdates(inspector) {
 // As long as child updates are queued up while we wait for an update already
 // wait again
-    if (inspector.markup._queuedChildUpdates &&
+  if (inspector.markup._queuedChildUpdates &&
         inspector.markup._queuedChildUpdates.size) {
-        yield waitForChildrenUpdated(inspector);
-        return yield waitForMultipleChildrenUpdates(inspector);
-    }
+    yield waitForChildrenUpdated(inspector);
+    return yield waitForMultipleChildrenUpdates(inspector);
+  }
 }
 
 /**
  * Using the markupview's _waitForChildren function, wait for all queued
  * children updates to be handled.
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @return a promise that resolves when all queued children updates have been
  * handled
  */
 function waitForChildrenUpdated({markup}) {
-    info("Waiting for queued children updates to be handled");
-    let def = promise.defer();
-    markup._waitForChildren().then(() => {
-        executeSoon(def.resolve);
-    });
-    return def.promise;
+  info("Waiting for queued children updates to be handled");
+  let def = promise.defer();
+  markup._waitForChildren().then(() => {
+    executeSoon(def.resolve);
+  });
+  return def.promise;
 }
 
 /**
  * Wait for the toolbox to emit the styleeditor-selected event and when done
  * wait for the stylesheet identified by href to be loaded in the stylesheet
  * editor
  *
  * @param {Toolbox} toolbox
@@ -753,17 +753,17 @@ function containsFocus(doc, container) {
 }
 
 /**
  * Listen for a new tab to open and return a promise that resolves when one
  * does and completes the load event.
  *
  * @return a promise that resolves to the tab object
  */
-var waitForTab = Task.async(function*() {
+var waitForTab = Task.async(function* () {
   info("Waiting for a tab to open");
   yield once(gBrowser.tabContainer, "TabOpen");
   let tab = gBrowser.selectedTab;
   let browser = tab.linkedBrowser;
   yield once(browser, "load", true);
   info("The tab load completed");
   return tab;
 });
--- a/devtools/client/memory/actions/census-display.js
+++ b/devtools/client/memory/actions/census-display.js
@@ -2,30 +2,30 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { actions } = require("../constants");
 const { refresh } = require("./refresh");
 
-exports.setCensusDisplayAndRefresh = function(heapWorker, display) {
-  return function*(dispatch, getState) {
+exports.setCensusDisplayAndRefresh = function (heapWorker, display) {
+  return function* (dispatch, getState) {
     dispatch(setCensusDisplay(display));
     yield dispatch(refresh(heapWorker));
   };
 };
 
 /**
  * Clears out all cached census data in the snapshots and sets new display data
  * for censuses.
  *
  * @param {censusDisplayModel} display
  */
-const setCensusDisplay = exports.setCensusDisplay = function(display) {
+const setCensusDisplay = exports.setCensusDisplay = function (display) {
   assert(typeof display === "object"
          && display
          && display.breakdown
          && display.breakdown.by,
     `Breakdowns must be an object with a \`by\` property, attempted to set: ${uneval(display)}`);
 
   return {
     type: actions.SET_CENSUS_DISPLAY,
--- a/devtools/client/memory/actions/diffing.js
+++ b/devtools/client/memory/actions/diffing.js
@@ -14,17 +14,17 @@ const {
 } = require("../utils");
 // This is a circular dependency, so do not destructure the needed properties.
 const snapshotActions = require("./snapshot");
 
 /**
  * Toggle diffing mode on or off.
  */
 const toggleDiffing = exports.toggleDiffing = function () {
-  return function(dispatch, getState) {
+  return function (dispatch, getState) {
     dispatch({
       type: actions.CHANGE_VIEW,
       newViewState: getState().diffing ? viewState.CENSUS : viewState.DIFFING,
       oldDiffing: getState().diffing,
       oldSelected: findSelectedSnapshot(getState()),
     });
   };
 };
@@ -43,17 +43,17 @@ const selectSnapshotForDiffing = exports
 /**
  * Compute the difference between the first and second snapshots.
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {snapshotModel} first
  * @param {snapshotModel} second
  */
 const takeCensusDiff = exports.takeCensusDiff = function (heapWorker, first, second) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     assert(snapshotIsDiffable(first),
            `First snapshot must be in a diffable state, found ${first.state}`);
     assert(snapshotIsDiffable(second),
            `Second snapshot must be in a diffable state, found ${second.state}`);
 
     let report, parentMap;
     let display = getState().censusDisplay;
     let filter = getState().filter;
@@ -121,17 +121,17 @@ const takeCensusDiff = exports.takeCensu
 /**
  * Ensure that the current diffing data is up to date with the currently
  * selected display, filter, etc. If the state is not up-to-date, then a
  * recompute is triggered.
  *
  * @param {HeapAnalysesClient} heapWorker
  */
 const refreshDiffing = exports.refreshDiffing = function (heapWorker) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     if (getState().diffing.secondSnapshotId === null) {
       return;
     }
 
     assert(getState().diffing.firstSnapshotId,
            "Should have first snapshot id");
 
     if (getState().diffing.state === diffingState.TAKING_DIFF) {
@@ -151,17 +151,17 @@ const refreshDiffing = exports.refreshDi
 /**
  * Select the given snapshot for diffing and refresh the diffing data if
  * necessary (for example, if two snapshots are now selected for diffing).
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {snapshotModel} snapshot
  */
 const selectSnapshotForDiffingAndRefresh = exports.selectSnapshotForDiffingAndRefresh = function (heapWorker, snapshot) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     assert(getState().diffing,
            "If we are selecting for diffing, we must be in diffing mode");
     dispatch(selectSnapshotForDiffing(snapshot));
     yield dispatch(refreshDiffing(heapWorker));
   };
 };
 
 /**
--- a/devtools/client/memory/actions/label-display.js
+++ b/devtools/client/memory/actions/label-display.js
@@ -6,18 +6,18 @@
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { actions } = require("../constants");
 const { refresh } = require("./refresh");
 
 /**
  * Change the display we use for labeling individual nodes and refresh the
  * current data.
  */
-exports.setLabelDisplayAndRefresh = function(heapWorker, display) {
-  return function*(dispatch, getState) {
+exports.setLabelDisplayAndRefresh = function (heapWorker, display) {
+  return function* (dispatch, getState) {
     // Clears out all stored census data and sets the display.
     dispatch(setLabelDisplay(display));
     yield dispatch(refresh(heapWorker));
   };
 };
 
 /**
  * Change the display we use for labeling individual nodes.
--- a/devtools/client/memory/actions/snapshot.js
+++ b/devtools/client/memory/actions/snapshot.js
@@ -30,17 +30,17 @@ const TaskCache = require("./task-cache"
  * A series of actions are fired from this task to save, read and generate the
  * initial census from a snapshot.
  *
  * @param {MemoryFront}
  * @param {HeapAnalysesClient}
  * @param {Object}
  */
 const takeSnapshotAndCensus = exports.takeSnapshotAndCensus = function (front, heapWorker) {
-  return function *(dispatch, getState) {
+  return function* (dispatch, getState) {
     const id = yield dispatch(takeSnapshot(front));
     if (id === null) {
       return;
     }
 
     yield dispatch(readSnapshot(heapWorker, id));
     if (getSnapshot(getState(), id).state !== states.READ) {
       return;
@@ -53,18 +53,18 @@ const takeSnapshotAndCensus = exports.ta
 /**
  * Create the census for the snapshot with the provided snapshot id. If the
  * current view is the DOMINATOR_TREE view, create the dominator tree for this
  * snapshot as well.
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {snapshotId} id
  */
-const computeSnapshotData = exports.computeSnapshotData = function(heapWorker, id) {
-  return function*(dispatch, getState) {
+const computeSnapshotData = exports.computeSnapshotData = function (heapWorker, id) {
+  return function* (dispatch, getState) {
     if (getSnapshot(getState(), id).state !== states.READ) {
       return;
     }
 
     // Decide which type of census to take.
     const censusTaker = getCurrentCensusTaker(getState().view.state);
     yield dispatch(censusTaker(heapWorker, id));
 
@@ -78,34 +78,34 @@ const computeSnapshotData = exports.comp
 /**
  * Selects a snapshot and if the snapshot's census is using a different
  * display, take a new census.
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {snapshotId} id
  */
 const selectSnapshotAndRefresh = exports.selectSnapshotAndRefresh = function (heapWorker, id) {
-  return function *(dispatch, getState) {
+  return function* (dispatch, getState) {
     if (getState().diffing || getState().individuals) {
       dispatch(view.changeView(viewState.CENSUS));
     }
 
     dispatch(selectSnapshot(id));
     yield dispatch(refresh.refresh(heapWorker));
   };
 };
 
 /**
  * Take a snapshot and return its id on success, or null on failure.
  *
  * @param {MemoryFront} front
  * @returns {Number|null}
  */
 const takeSnapshot = exports.takeSnapshot = function (front) {
-  return function *(dispatch, getState) {
+  return function* (dispatch, getState) {
     telemetry.countTakeSnapshot();
 
     if (getState().diffing || getState().individuals) {
       dispatch(view.changeView(viewState.CENSUS));
     }
 
     const snapshot = createSnapshot(getState());
     const id = snapshot.id;
@@ -134,17 +134,17 @@ const takeSnapshot = exports.takeSnapsho
  * @param {snapshotId} id
  */
 const readSnapshot = exports.readSnapshot =
 TaskCache.declareCacheableTask({
   getCacheKey(_, id) {
     return id;
   },
 
-  task: function*(heapWorker, id, removeFromCache, dispatch, getState) {
+  task: function* (heapWorker, id, removeFromCache, dispatch, getState) {
     const snapshot = getSnapshot(getState(), id);
     assert([states.SAVED, states.IMPORTING].includes(snapshot.state),
            `Should only read a snapshot once. Found snapshot in state ${snapshot.state}`);
 
     let creationTime;
 
     dispatch({ type: actions.READ_SNAPSHOT_START, id });
     try {
@@ -186,17 +186,17 @@ function makeTakeCensusTask({ getDisplay
    * @see `js/src/doc/Debugger/Debugger.Memory.md` for breakdown details
    */
   let thisTakeCensusTaskId = ++takeCensusTaskCounter;
   return TaskCache.declareCacheableTask({
     getCacheKey(_, id) {
       return `take-census-task-${thisTakeCensusTaskId}-${id}`;
     },
 
-    task: function*(heapWorker, id, removeFromCache, dispatch, getState) {
+    task: function* (heapWorker, id, removeFromCache, dispatch, getState) {
       const snapshot = getSnapshot(getState(), id);
       if (!snapshot) {
         removeFromCache();
         return;
       }
 
       // Assert that snapshot is in a valid state
       assert(canTakeCensus(snapshot),
@@ -301,51 +301,51 @@ const defaultCensusTaker = takeTreeMap;
 /**
  * Pick the default census taker when taking a snapshot. This should be
  * determined by the current view. If the view doesn't include a census, then
  * use the default one defined above. Some census information is always needed
  * to display some basic information about a snapshot.
  *
  * @param {string} value from viewState
  */
-const getCurrentCensusTaker = exports.getCurrentCensusTaker = function(currentView) {
+const getCurrentCensusTaker = exports.getCurrentCensusTaker = function (currentView) {
   switch (currentView) {
     case viewState.TREE_MAP:
       return takeTreeMap;
     case viewState.CENSUS:
       return takeCensus;
     default:
       return defaultCensusTaker;
   }
 };
 
 /**
  * Focus the given node in the individuals view.
  *
  * @param {DominatorTreeNode} node.
  */
-const focusIndividual = exports.focusIndividual = function(node) {
+const focusIndividual = exports.focusIndividual = function (node) {
   return {
     type: actions.FOCUS_INDIVIDUAL,
     node,
   };
 };
 
 /**
  * Fetch the individual `DominatorTreeNodes` for the census group specified by
  * `censusBreakdown` and `reportLeafIndex`.
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {SnapshotId} id
  * @param {Object} censusBreakdown
  * @param {Set<Number> | Number} reportLeafIndex
  */
 const fetchIndividuals = exports.fetchIndividuals =
-function(heapWorker, id, censusBreakdown, reportLeafIndex) {
-  return function*(dispatch, getState) {
+function (heapWorker, id, censusBreakdown, reportLeafIndex) {
+  return function* (dispatch, getState) {
     if (getState().view.state !== viewState.INDIVIDUALS) {
       dispatch(view.changeView(viewState.INDIVIDUALS));
     }
 
     const snapshot = getSnapshot(getState(), id);
     assert(snapshot && snapshot.state === states.READ,
            "The snapshot should already be read into memory");
 
@@ -407,18 +407,18 @@ function(heapWorker, id, censusBreakdown
   };
 };
 
 /**
  * Refresh the current individuals view.
  *
  * @param {HeapAnalysesClient} heapWorker
  */
-const refreshIndividuals = exports.refreshIndividuals = function(heapWorker) {
-  return function*(dispatch, getState) {
+const refreshIndividuals = exports.refreshIndividuals = function (heapWorker) {
+  return function* (dispatch, getState) {
     assert(getState().view.state === viewState.INDIVIDUALS,
            "Should be in INDIVIDUALS view.");
 
     const { individuals } = getState();
 
     switch (individuals.state) {
       case individualsState.COMPUTING_DOMINATOR_TREE:
       case individualsState.FETCHING:
@@ -449,17 +449,17 @@ const refreshIndividuals = exports.refre
 
 /**
  * Refresh the selected snapshot's census data, if need be (for example,
  * display configuration changed).
  *
  * @param {HeapAnalysesClient} heapWorker
  */
 const refreshSelectedCensus = exports.refreshSelectedCensus = function (heapWorker) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     let snapshot = getState().snapshots.find(s => s.selected);
     if (!snapshot || snapshot.state !== states.READ) {
       return;
     }
 
     // Intermediate snapshot states will get handled by the task action that is
     // orchestrating them. For example, if the snapshot census's state is
     // SAVING, then the takeCensus action will keep taking a census until
@@ -475,17 +475,17 @@ const refreshSelectedCensus = exports.re
 
 /**
  * Refresh the selected snapshot's tree map data, if need be (for example,
  * display configuration changed).
  *
  * @param {HeapAnalysesClient} heapWorker
  */
 const refreshSelectedTreeMap = exports.refreshSelectedTreeMap = function (heapWorker) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     let snapshot = getState().snapshots.find(s => s.selected);
     if (!snapshot || snapshot.state !== states.READ) {
       return;
     }
 
     // Intermediate snapshot states will get handled by the task action that is
     // orchestrating them. For example, if the snapshot census's state is
     // SAVING, then the takeCensus action will keep taking a census until
@@ -509,17 +509,17 @@ const refreshSelectedTreeMap = exports.r
  * @returns {Promise<DominatorTreeId>}
  */
 const computeDominatorTree = exports.computeDominatorTree =
 TaskCache.declareCacheableTask({
   getCacheKey(_, id) {
     return id;
   },
 
-  task: function*(heapWorker, id, removeFromCache, dispatch, getState) {
+  task: function* (heapWorker, id, removeFromCache, dispatch, getState) {
     const snapshot = getSnapshot(getState(), id);
     assert(!(snapshot.dominatorTree && snapshot.dominatorTree.dominatorTreeId),
            "Should not re-compute dominator trees");
 
     dispatch({ type: actions.COMPUTE_DOMINATOR_TREE_START, id });
 
     let dominatorTreeId;
     try {
@@ -547,17 +547,17 @@ TaskCache.declareCacheableTask({
  * @returns {Promise<DominatorTreeNode>}
  */
 const fetchDominatorTree = exports.fetchDominatorTree =
 TaskCache.declareCacheableTask({
   getCacheKey(_, id) {
     return id;
   },
 
-  task: function*(heapWorker, id, removeFromCache, dispatch, getState) {
+  task: function* (heapWorker, id, removeFromCache, dispatch, getState) {
     const snapshot = getSnapshot(getState(), id);
     assert(dominatorTreeIsComputed(snapshot),
            "Should have dominator tree model and it should be computed");
 
     let display;
     let root;
     do {
       display = getState().labelDisplay;
@@ -597,17 +597,17 @@ TaskCache.declareCacheableTask({
  * @param {DominatorTreeLazyChildren} lazyChildren
  */
 const fetchImmediatelyDominated = exports.fetchImmediatelyDominated =
 TaskCache.declareCacheableTask({
   getCacheKey(_, id, lazyChildren) {
     return `${id}-${lazyChildren.key()}`;
   },
 
-  task: function*(heapWorker, id, lazyChildren, removeFromCache, dispatch, getState) {
+  task: function* (heapWorker, id, lazyChildren, removeFromCache, dispatch, getState) {
     const snapshot = getSnapshot(getState(), id);
     assert(snapshot.dominatorTree, "Should have dominator tree model");
     assert(snapshot.dominatorTree.state === dominatorTreeState.LOADED ||
            snapshot.dominatorTree.state === dominatorTreeState.INCREMENTAL_FETCHING,
            "Cannot fetch immediately dominated nodes in a dominator tree unless " +
            " the dominator tree has already been computed");
 
     let display;
@@ -656,17 +656,17 @@ TaskCache.declareCacheableTask({
  * @returns {Promise<DominatorTreeNode>}
  */
 const computeAndFetchDominatorTree = exports.computeAndFetchDominatorTree =
 TaskCache.declareCacheableTask({
   getCacheKey(_, id) {
     return id;
   },
 
-  task: function*(heapWorker, id, removeFromCache, dispatch, getState) {
+  task: function* (heapWorker, id, removeFromCache, dispatch, getState) {
     const dominatorTreeId = yield dispatch(computeDominatorTree(heapWorker, id));
     if (dominatorTreeId === null) {
       removeFromCache();
       return null;
     }
 
     const root = yield dispatch(fetchDominatorTree(heapWorker, id));
     removeFromCache();
@@ -680,17 +680,17 @@ TaskCache.declareCacheableTask({
 });
 
 /**
  * Update the currently selected snapshot's dominator tree.
  *
  * @param {HeapAnalysesClient} heapWorker
  */
 const refreshSelectedDominatorTree = exports.refreshSelectedDominatorTree = function (heapWorker) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     let snapshot = getState().snapshots.find(s => s.selected);
     if (!snapshot) {
       return;
     }
 
     if (snapshot.dominatorTree &&
         !(snapshot.dominatorTree.state === dominatorTreeState.COMPUTED ||
           snapshot.dominatorTree.state === dominatorTreeState.LOADED ||
@@ -703,17 +703,17 @@ const refreshSelectedDominatorTree = exp
         yield dispatch(fetchDominatorTree(heapWorker, snapshot.id));
       } else {
         yield dispatch(computeAndFetchDominatorTree(heapWorker, snapshot.id));
       }
     } else {
         // If there was an error, we can't continue. If we are still saving or
         // reading the snapshot, then takeSnapshotAndCensus will finish the job
         // for us.
-        return;
+      return;
     }
   };
 };
 
 /**
  * Select the snapshot with the given id.
  *
  * @param {snapshotId} id
@@ -727,17 +727,17 @@ const selectSnapshot = exports.selectSna
 };
 
 /**
  * Delete all snapshots that are in the READ or ERROR state
  *
  * @param {HeapAnalysesClient} heapWorker
  */
 const clearSnapshots = exports.clearSnapshots = function (heapWorker) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     let snapshots = getState().snapshots.filter(s => {
       let snapshotReady = s.state === states.READ || s.state === states.ERROR;
       let censusReady = (s.treeMap && s.treeMap.state === treeMapState.SAVED) ||
                         (s.census && s.census.state === censusState.SAVED);
 
       return snapshotReady && censusReady;
     });
 
@@ -765,17 +765,17 @@ const clearSnapshots = exports.clearSnap
 
 /**
  * Delete a snapshot
  *
  * @param {HeapAnalysesClient} heapWorker
  * @param {snapshotModel} snapshot
  */
 const deleteSnapshot = exports.deleteSnapshot = function (heapWorker, snapshot) {
-  return function*(dispatch, getState) {
+  return function* (dispatch, getState) {
     dispatch({ type: actions.DELETE_SNAPSHOTS_START, ids: [snapshot.id] });
 
     try {
       yield heapWorker.deleteHeapSnapshot(snapshot.path);
     } catch (error) {
       reportException("deleteSnapshot", error);
       dispatch({ type: actions.SNAPSHOT_ERROR, id: snapshot.id, error });
     }
--- a/devtools/client/memory/actions/task-cache.js
+++ b/devtools/client/memory/actions/task-cache.js
@@ -56,36 +56,36 @@ const TaskCache = module.exports = class
  * Create a new action-orchestrating task that is automatically cached. The
  * tasks themselves are responsible from removing themselves from the cache.
  *
  * @param {Function(...args) -> Any} getCacheKey
  * @param {Generator(...args) -> Any} task
  *
  * @returns Cacheable, Action-Creating Task
  */
-TaskCache.declareCacheableTask = function({ getCacheKey, task }) {
+TaskCache.declareCacheableTask = function ({ getCacheKey, task }) {
   const cache = new TaskCache();
 
-  return function(...args) {
-    return function*(dispatch, getState) {
+  return function (...args) {
+    return function* (dispatch, getState) {
       const key = getCacheKey(...args);
 
       const extantResult = cache.get(key);
       if (extantResult) {
         return extantResult;
       }
 
       // Ensure that we have our new entry in the cache *before* dispatching the
       // task!
       let resolve;
       cache.put(key, new Promise(r => {
         resolve = r;
       }));
 
-      resolve(dispatch(function*() {
+      resolve(dispatch(function* () {
         try {
           args.push(() => cache.remove(key), dispatch, getState);
           return yield* task(...args);
         } catch (error) {
           // Don't perma-cache errors.
           if (cache.get(key)) {
             cache.remove(key);
           }
--- a/devtools/client/memory/actions/tree-map-display.js
+++ b/devtools/client/memory/actions/tree-map-display.js
@@ -5,30 +5,30 @@
 
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { actions } = require("../constants");
 const { refresh } = require("./refresh");
 /**
  * Sets the tree map display as the current display and refreshes the tree map
  * census.
  */
-exports.setTreeMapAndRefresh = function(heapWorker, display) {
-  return function*(dispatch, getState) {
+exports.setTreeMapAndRefresh = function (heapWorker, display) {
+  return function* (dispatch, getState) {
     dispatch(setTreeMap(display));
     yield dispatch(refresh(heapWorker));
   };
 };
 
 /**
  * Clears out all cached census data in the snapshots and sets new display data
  * for tree maps.
  *
  * @param {treeMapModel} display
  */
-const setTreeMap = exports.setTreeMap = function(display) {
+const setTreeMap = exports.setTreeMap = function (display) {
   assert(typeof display === "object"
          && display
          && display.breakdown
          && display.breakdown.by,
     `Breakdowns must be an object with a \`by\` property, attempted to set: ${uneval(display)}`);
 
   return {
     type: actions.SET_TREE_MAP_DISPLAY,
--- a/devtools/client/memory/actions/view.js
+++ b/devtools/client/memory/actions/view.js
@@ -9,32 +9,32 @@ const { findSelectedSnapshot } = require
 const refresh = require("./refresh");
 
 /**
  * Change the currently selected view.
  *
  * @param {viewState} view
  */
 const changeView = exports.changeView = function (view) {
-  return function(dispatch, getState) {
+  return function (dispatch, getState) {
     dispatch({
       type: actions.CHANGE_VIEW,
       newViewState: view,
       oldDiffing: getState().diffing,
       oldSelected: findSelectedSnapshot(getState()),
     });
   };
 };
 
 /**
  * Given that we are in the INDIVIDUALS view state, go back to the state we were
  * in before.
  */
 const popView = exports.popView = function () {
-  return function(dispatch, getState) {
+  return function (dispatch, getState) {
     const { previous } = getState().view;
     assert(previous);
     dispatch({
       type: actions.POP_VIEW,
       previousView: previous,
     });
   };
 };
@@ -54,14 +54,14 @@ exports.changeViewAndRefresh = function 
 };
 
 /**
  * Given that we are in the INDIVIDUALS view state, go back to the state we were
  * previously in and refresh our data.
  *
  * @param {HeapAnalysesClient} heapWorker
  */
-exports.popViewAndRefresh = function(heapWorker) {
+exports.popViewAndRefresh = function (heapWorker) {
   return function* (dispatch, getState) {
     dispatch(popView());
     yield dispatch(refresh.refresh(heapWorker));
   };
 };
--- a/devtools/client/memory/app.js
+++ b/devtools/client/memory/app.js
@@ -310,13 +310,13 @@ const MemoryApp = createClass({
     );
   },
 });
 
 /**
  * Passed into react-redux's `connect` method that is called on store change
  * and passed to components.
  */
-function mapStateToProps (state) {
+function mapStateToProps(state) {
   return state;
 }
 
 module.exports = connect(mapStateToProps)(MemoryApp);
--- a/devtools/client/memory/components/dominator-tree.js
+++ b/devtools/client/memory/components/dominator-tree.js
@@ -142,17 +142,17 @@ const DominatorTree = module.exports = c
         if (node.moreChildrenAvailable) {
           children.push(new DominatorTreeLazyChildren(node.nodeId, children.length));
         }
         return children;
       },
       isExpanded: node => {
         return node instanceof DominatorTreeLazyChildren
           ? false
-          : dominatorTree.expanded.has(node.nodeId)
+          : dominatorTree.expanded.has(node.nodeId);
       },
       onExpand: item => {
         if (item instanceof DominatorTreeLazyChildren) {
           return;
         }
 
         if (item.moreChildrenAvailable && (!item.children || !item.children.length)) {
           const startIndex = item.children ? item.children.length : 0;
@@ -200,17 +200,17 @@ const DominatorTree = module.exports = c
         return DominatorTreeItem({
           item,
           depth,
           focused,
           arrow,
           expanded,
           getPercentSize: size => (size / dominatorTree.root.retainedSize) * 100,
           onViewSourceInDebugger,
-        })
+        });
       },
       getRoots: () => [dominatorTree.root],
       getKey: node =>
         node instanceof DominatorTreeLazyChildren ? node.key() : node.nodeId,
       itemHeight: TREE_ROW_HEIGHT,
     });
   }
 });
--- a/devtools/client/memory/components/heap.js
+++ b/devtools/client/memory/components/heap.js
@@ -44,17 +44,17 @@ function getState(view, snapshot, diffin
       return snapshot.census
         ? snapshot.census.state
         : snapshot.state;
 
     case viewState.DIFFING:
       return diffing.state;
 
     case viewState.TREE_MAP:
-    return snapshot.treeMap
+      return snapshot.treeMap
       ? snapshot.treeMap.state
       : snapshot.state;
 
     case viewState.DOMINATOR_TREE:
       return snapshot.dominatorTree
         ? snapshot.dominatorTree.state
         : snapshot.state;
 
@@ -320,19 +320,19 @@ const Heap = module.exports = createClas
       dom.pre({}, safeErrorString(error))
     );
   },
 
   _renderCensus(state, census, diffing, onViewSourceInDebugger, onViewIndividuals) {
     assert(census.report, "Should not render census that does not have a report");
 
     if (!census.report.children) {
-      const msg = diffing       ? L10N.getStr("heapview.no-difference")
+      const msg = diffing ? L10N.getStr("heapview.no-difference")
                 : census.filter ? L10N.getStr("heapview.none-match")
-                : /* else */      L10N.getStr("heapview.empty");
+                : L10N.getStr("heapview.empty");
       return this._renderHeapView(state, dom.div({ className: "empty" }, msg));
     }
 
     const contents = [];
 
     if (census.display.breakdown.by === "allocationStack"
         && census.report.children
         && census.report.children.length === 1
--- a/devtools/client/memory/components/shortest-paths.js
+++ b/devtools/client/memory/components/shortest-paths.js
@@ -158,17 +158,17 @@ module.exports = createClass({
     renderer.drawNodes();
     renderer.drawEdgePaths();
 
     const svg = d3.select("#graph-svg");
     const target = d3.select("#graph-target");
 
     let zoom = this.state.zoom;
     if (!zoom) {
-      zoom = d3.behavior.zoom().on("zoom", function() {
+      zoom = d3.behavior.zoom().on("zoom", function () {
         target.attr(
           "transform",
           `translate(${d3.event.translate}) scale(${d3.event.scale})`
         );
       });
       svg.call(zoom);
       this.setState({ zoom });
     }
--- a/devtools/client/memory/components/toolbar.js
+++ b/devtools/client/memory/components/toolbar.js
@@ -118,19 +118,19 @@ module.exports = createClass({
       );
     } else if (view.state == viewState.TREE_MAP) {
       assert(treeMapDisplays.length >= 1,
        "Should always have at least one tree map display");
 
       // Only show the dropdown if there are multiple display options
       viewToolbarOptions = treeMapDisplays.length > 1
         ? dom.div(
-            {
-              className: "toolbar-group"
-            },
+          {
+            className: "toolbar-group"
+          },
 
             dom.label(
               {
                 className: "display-by",
                 title: L10N.getStr("toolbar.displayBy.tooltip"),
               },
               L10N.getStr("toolbar.displayBy"),
               dom.select(
--- a/devtools/client/memory/components/tree-map/canvas-utils.js
+++ b/devtools/client/memory/components/tree-map/canvas-utils.js
@@ -28,17 +28,17 @@ const FULLSCREEN_STYLE = {
 /**
  * Create the canvases, resize handlers, and return references to them all
  *
  * @param  {HTMLDivElement} parentEl
  * @param  {Number} debounceRate
  * @return {Object}
  */
 function Canvases(parentEl, debounceRate) {
-  EventEmitter.decorate(this)
+  EventEmitter.decorate(this);
   this.container = createContainingDiv(parentEl);
 
   // This canvas contains all of the treemap
   this.main = createCanvas(this.container, "main");
   // This canvas contains only the zoomed in portion, overlaying the main canvas
   this.zoom = createCanvas(this.container, "zoom");
 
   this.removeHandlers = handleResizes(this, debounceRate);
@@ -46,22 +46,22 @@ function Canvases(parentEl, debounceRate
 
 Canvases.prototype = {
 
   /**
    * Remove the handlers and elements
    *
    * @return {type}  description
    */
-  destroy : function() {
+  destroy : function () {
     this.removeHandlers();
     this.container.removeChild(this.main.canvas);
     this.container.removeChild(this.zoom.canvas);
   }
-}
+};
 
 module.exports = Canvases;
 
 /**
  * Create the containing div
  *
  * @param  {HTMLDivElement} parentEl
  * @return {HTMLDivElement}
@@ -112,17 +112,17 @@ function handleResizes(canvases, debounc
     let width = container.offsetWidth * window.devicePixelRatio;
     let height = container.offsetHeight * window.devicePixelRatio;
 
     main.canvas.width = width;
     main.canvas.height = height;
     zoom.canvas.width = width;
     zoom.canvas.height = height;
 
-    canvases.emit('resize');
+    canvases.emit("resize");
   }
 
   // Tests may not need debouncing
   let debouncedResize = debounceRate > 0
     ? debounce(resize, debounceRate)
     : resize;
 
   window.addEventListener("resize", debouncedResize, false);
--- a/devtools/client/memory/components/tree-map/drag-zoom.js
+++ b/devtools/client/memory/components/tree-map/drag-zoom.js
@@ -243,18 +243,18 @@ function setScrollHandlers(container, dr
     // Calculate the updated width and height
     let prevZoomedWidth = container.offsetWidth * (1 + prevZoom);
     let prevZoomedHeight = container.offsetHeight * (1 + prevZoom);
     dragZoom.zoomedWidth = container.offsetWidth * (1 + dragZoom.zoom);
     dragZoom.zoomedHeight = container.offsetHeight * (1 + dragZoom.zoom);
     let deltaWidth = dragZoom.zoomedWidth - prevZoomedWidth;
     let deltaHeight = dragZoom.zoomedHeight - prevZoomedHeight;
 
-    let mouseOffsetX = dragZoom.mouseX - container.offsetWidth / 2
-    let mouseOffsetY = dragZoom.mouseY - container.offsetHeight / 2
+    let mouseOffsetX = dragZoom.mouseX - container.offsetWidth / 2;
+    let mouseOffsetY = dragZoom.mouseY - container.offsetHeight / 2;
 
     // The ratio of where the center of the mouse is in regards to the total
     // zoomed width/height
     let ratioZoomX = (prevZoomedWidth / 2 + mouseOffsetX - dragZoom.translateX)
       / prevZoomedWidth;
     let ratioZoomY = (prevZoomedHeight / 2 + mouseOffsetY - dragZoom.translateY)
       / prevZoomedHeight;
 
--- a/devtools/client/memory/components/tree-map/draw.js
+++ b/devtools/client/memory/components/tree-map/draw.js
@@ -46,17 +46,17 @@ const COUNT_LABEL = L10N.getStr("tree-ma
  * @param  {Object} report
  * @param  {Object} canvases
  *         A CanvasUtils object that contains references to the main and zoom
  *         canvases and contexts
  * @param  {Object} dragZoom
  *         A DragZoom object representing the current state of the dragging
  *         and zooming behavior
  */
-exports.setupDraw = function(report, canvases, dragZoom) {
+exports.setupDraw = function (report, canvases, dragZoom) {
   let getTreemap = configureD3Treemap.bind(null, canvases.main.canvas);
 
   let treemap, nodes;
 
   function drawFullTreemap() {
     treemap = getTreemap();
     nodes = treemap(report);
     drawTreemap(canvases.main, nodes, NO_SCROLL);
@@ -74,17 +74,17 @@ exports.setupDraw = function(report, can
 };
 
 /**
  * Returns a configured d3 treemap function
  *
  * @param  {HTMLCanvasElement} canvas
  * @return {Function}
  */
-const configureD3Treemap = exports.configureD3Treemap = function(canvas) {
+const configureD3Treemap = exports.configureD3Treemap = function (canvas) {
   let window = canvas.ownerDocument.defaultView;
   let ratio = window.devicePixelRatio;
   let treemap = window.d3.layout.treemap()
     .size([
       // The d3 layout includes the padding around everything, add some
       // extra padding to the size to compensate for thi
       canvas.width + (PADDING[1] + PADDING[3]) * ratio,
       canvas.height + (PADDING[0] + PADDING[2]) * ratio
@@ -130,17 +130,17 @@ const configureD3Treemap = exports.confi
  * @param  {Number} x
  *         the position of the text
  * @param  {Number} y
  *         the position of the text
  * @param  {Number} innerWidth
  *         the inner width of the containing treemap cell
  * @param  {Text} name
  */
-const drawTruncatedName = exports.drawTruncatedName = function(ctx, x, y,
+const drawTruncatedName = exports.drawTruncatedName = function (ctx, x, y,
                                                                innerWidth,
                                                                name) {
   let truncated = name.substr(0, Math.floor(name.length / 2));
   let formatted = truncated + ELLIPSIS;
 
   if (ctx.measureText(formatted).width > innerWidth) {
     drawTruncatedName(ctx, x, y, innerWidth, truncated);
   } else {
@@ -159,17 +159,17 @@ const drawTruncatedName = exports.drawTr
  * ...
  *
  * @param  {CanvasRenderingContext2D} ctx
  * @param  {Object} node
  * @param  {Number} borderWidth
  * @param  {Object} dragZoom
  * @param  {Array}  padding
  */
-const drawText = exports.drawText = function(ctx, node, borderWidth, ratio,
+const drawText = exports.drawText = function (ctx, node, borderWidth, ratio,
                                               dragZoom, padding) {
   let { dx, dy, name, totalBytes, totalCount } = node;
   let scale = dragZoom.zoom + 1;
   dx *= scale;
   dy *= scale;
 
   // Start checking to see how much text we can fit in, optimizing for the
   // common case of lots of small leaf nodes
@@ -215,17 +215,17 @@ const drawText = exports.drawText = func
  *
  * @param  {CanvasRenderingContext2D} ctx
  * @param  {Object} node
  * @param  {Number} borderWidth
  * @param  {Number} ratio
  * @param  {Object} dragZoom
  * @param  {Array}  padding
  */
-const drawBox = exports.drawBox = function(ctx, node, borderWidth, dragZoom,
+const drawBox = exports.drawBox = function (ctx, node, borderWidth, dragZoom,
                                            padding) {
   let border = borderWidth(node);
   let fillHSL = colorCoarseType(node);
   let strokeHSL = [fillHSL[0], fillHSL[1], fillHSL[2] * 0.5];
   let scale = 1 + dragZoom.zoom;
 
   // Offset the draw so that box strokes don't overlap
   let x = scale * (node.x - padding[0]) - dragZoom.offsetX + border / 2;
@@ -244,17 +244,17 @@ const drawBox = exports.drawBox = functi
 /**
  * Draw the overall treemap
  *
  * @param  {HTMLCanvasElement} canvas
  * @param  {CanvasRenderingContext2D} ctx
  * @param  {Array} nodes
  * @param  {Objbect} dragZoom
  */
-const drawTreemap = exports.drawTreemap = function({canvas, ctx}, nodes,
+const drawTreemap = exports.drawTreemap = function ({canvas, ctx}, nodes,
                                                    dragZoom) {
   let window = canvas.ownerDocument.defaultView;
   let ratio = window.devicePixelRatio;
   let canvasArea = canvas.width * canvas.height;
   // Subtract the outer padding from the tree map layout.
   let padding = [PADDING[3] * ratio, PADDING[0] * ratio];
 
   ctx.clearRect(0, 0, canvas.width, canvas.height);
@@ -280,16 +280,16 @@ const drawTreemap = exports.drawTreemap 
 /**
  * Set the position of the zoomed in canvas. It always take up 100% of the view
  * window, but is transformed relative to the zoomed in containing element,
  * essentially reversing the transform of the containing element.
  *
  * @param  {HTMLCanvasElement} canvas
  * @param  {Object} dragZoom
  */
-const positionZoomedCanvas = function(canvas, dragZoom) {
+const positionZoomedCanvas = function (canvas, dragZoom) {
   let scale = 1 / (1 + dragZoom.zoom);
   let x = -dragZoom.translateX;
   let y = -dragZoom.translateY;
   canvas.style.transform = `scale(${scale}) translate(${x}px, ${y}px)`;
 };
 
 exports.positionZoomedCanvas = positionZoomedCanvas;
--- a/devtools/client/memory/constants.js
+++ b/devtools/client/memory/constants.js
@@ -9,17 +9,17 @@ exports.ALLOCATION_RECORDING_OPTIONS = {
   probability: 1,
   maxLogLength: 1
 };
 
 // If TREE_ROW_HEIGHT changes, be sure to change `var(--heap-tree-row-height)`
 // in `devtools/client/themes/memory.css`
 exports.TREE_ROW_HEIGHT = 18;
 
-/*** Actions ******************************************************************/
+/** * Actions ******************************************************************/
 
 const actions = exports.actions = {};
 
 // Fired by UI to request a snapshot from the actor.
 actions.TAKE_SNAPSHOT_START = "take-snapshot-start";
 actions.TAKE_SNAPSHOT_END = "take-snapshot-end";
 
 // When a heap snapshot is read into memory -- only fired
@@ -113,17 +113,17 @@ actions.FETCH_DOMINATOR_TREE_END = "fetc
 actions.DOMINATOR_TREE_ERROR = "dominator-tree-error";
 actions.FETCH_IMMEDIATELY_DOMINATED_START = "fetch-immediately-dominated-start";
 actions.FETCH_IMMEDIATELY_DOMINATED_END = "fetch-immediately-dominated-end";
 actions.EXPAND_DOMINATOR_TREE_NODE = "expand-dominator-tree-node";
 actions.COLLAPSE_DOMINATOR_TREE_NODE = "collapse-dominator-tree-node";
 
 actions.RESIZE_SHORTEST_PATHS = "resize-shortest-paths";
 
-/*** Census Displays ***************************************************************/
+/** * Census Displays ***************************************************************/
 
 const COUNT = Object.freeze({ by: "count", count: true, bytes: true });
 const INTERNAL_TYPE = Object.freeze({ by: "internalType", then: COUNT });
 const ALLOCATION_STACK = Object.freeze({ by: "allocationStack", then: COUNT, noStack: COUNT });
 const OBJECT_CLASS = Object.freeze({ by: "objectClass", then: COUNT, other: COUNT });
 const COARSE_TYPE = Object.freeze({
   by: "coarseType",
   objects: OBJECT_CLASS,
@@ -216,29 +216,29 @@ exports.treeMapDisplays = Object.freeze(
       const { L10N } = require("./utils");
       return L10N.getStr("treeMapDisplays.coarseType.tooltip");
     },
     breakdown: COARSE_TYPE,
     inverted: false,
   })
 });
 
-/*** View States **************************************************************/
+/** * View States **************************************************************/
 
 /**
  * The various main views that the tool can be in.
  */
 const viewState = exports.viewState = Object.create(null);
 viewState.CENSUS = "view-state-census";
 viewState.DIFFING = "view-state-diffing";
 viewState.DOMINATOR_TREE = "view-state-dominator-tree";
 viewState.TREE_MAP = "view-state-tree-map";
 viewState.INDIVIDUALS = "view-state-individuals";
 
-/*** Snapshot States **********************************************************/
+/** * Snapshot States **********************************************************/
 
 const snapshotState = exports.snapshotState = Object.create(null);
 
 /**
  * Various states a snapshot can be in.
  * An FSM describing snapshot states:
  *
  *     SAVING -> SAVED -> READING -> READ
@@ -280,17 +280,17 @@ censusState.ERROR = "census-state-error"
  */
 
 const treeMapState = exports.treeMapState = Object.create(null);
 
 treeMapState.SAVING = "tree-map-state-saving";
 treeMapState.SAVED = "tree-map-state-saved";
 treeMapState.ERROR = "tree-map-state-error";
 
-/*** Diffing States ***********************************************************/
+/** * Diffing States ***********************************************************/
 
 /*
  * Various states the diffing model can be in.
  *
  *     SELECTING --> TAKING_DIFF <---> TOOK_DIFF
  *                       |
  *                       V
  *                     ERROR
@@ -304,34 +304,34 @@ diffingState.SELECTING = "diffing-state-
 diffingState.TAKING_DIFF = "diffing-state-taking-diff";
 
 // Have the diff between the two selected snapshots.
 diffingState.TOOK_DIFF = "diffing-state-took-diff";
 
 // An error occurred while computing the diff.
 diffingState.ERROR = "diffing-state-error";
 
-/*** Dominator Tree States ****************************************************/
+/** * Dominator Tree States ****************************************************/
 
 /*
  * Various states the dominator tree model can be in.
  *
  *     COMPUTING -> COMPUTED -> FETCHING -> LOADED <--> INCREMENTAL_FETCHING
  *
  * Any state may lead to the ERROR state, from which it can never leave.
  */
 const dominatorTreeState = exports.dominatorTreeState = Object.create(null);
 dominatorTreeState.COMPUTING = "dominator-tree-state-computing";
 dominatorTreeState.COMPUTED = "dominator-tree-state-computed";
 dominatorTreeState.FETCHING = "dominator-tree-state-fetching";
 dominatorTreeState.LOADED = "dominator-tree-state-loaded";
 dominatorTreeState.INCREMENTAL_FETCHING = "dominator-tree-state-incremental-fetching";
 dominatorTreeState.ERROR = "dominator-tree-state-error";
 
-/*** States for Individuals Model *********************************************/
+/** * States for Individuals Model *********************************************/
 
 /*
  * Various states the individuals model can be in.
  *
  *     COMPUTING_DOMINATOR_TREE -> FETCHING -> FETCHED
  *
  * Any state may lead to the ERROR state, from which it can never leave.
  */
--- a/devtools/client/memory/initializer.js
+++ b/devtools/client/memory/initializer.js
@@ -24,39 +24,39 @@ const { assert } = require("devtools/sha
  */
 var gToolbox, gTarget, gFront, gHeapAnalysesClient;
 
 /**
  * Variables set by `initialize()`
  */
 var gStore, gRoot, gApp, gProvider, unsubscribe, isHighlighted, telemetry;
 
-var initialize = Task.async(function*() {
+var initialize = Task.async(function* () {
   gRoot = document.querySelector("#app");
   gStore = Store();
   gApp = createElement(App, { toolbox: gToolbox, front: gFront, heapWorker: gHeapAnalysesClient });
   gProvider = createElement(Provider, { store: gStore }, gApp);
   ReactDOM.render(gProvider, gRoot);
   unsubscribe = gStore.subscribe(onStateChange);
 });
 
-var destroy = Task.async(function*() {
+var destroy = Task.async(function* () {
   const ok = ReactDOM.unmountComponentAtNode(gRoot);
   assert(ok, "Should successfully unmount the memory tool's top level React component");
 
   unsubscribe();
 
   gStore, gRoot, gApp, gProvider, unsubscribe, isHighlighted;
 });
 
 /**
  * Fired on any state change, currently only handles toggling
  * the highlighting of the tool when recording allocations.
  */
-function onStateChange () {
+function onStateChange() {
   let isRecording = gStore.getState().allocations.recording;
   if (isRecording === isHighlighted) {
     return;
   }
 
   if (isRecording) {
     gToolbox.highlightTool("memory");
   } else {
--- a/devtools/client/memory/models.js
+++ b/devtools/client/memory/models.js
@@ -347,17 +347,17 @@ let diffingModel = exports.diffingModel 
   }),
 });
 
 let previousViewModel = exports.previousView = PropTypes.shape({
   state: catchAndIgnore(function (previous) {
     switch (previous.state) {
       case viewState.DIFFING:
         assert(previous.diffing, "Should have previous diffing state.");
-        assert(!previous.selected, "Should not have a previously selected snapshot.")
+        assert(!previous.selected, "Should not have a previously selected snapshot.");
         break;
 
       case viewState.CENSUS:
       case viewState.DOMINATOR_TREE:
       case viewState.TREE_MAP:
         assert(previous.selected, "Should have a previously selected snapshot.");
         break;
 
@@ -406,17 +406,17 @@ const individualsModel = exports.individ
   censusBreakdown: PropTypes.object,
 
   indices: PropTypes.object,
 
   labelDisplay: labelDisplayModel,
 
   focused: PropTypes.object,
 
-  state: catchAndIgnore(function(individuals) {
+  state: catchAndIgnore(function (individuals) {
     switch (individuals.state) {
       case individualsState.COMPUTING_DOMINATOR_TREE:
       case individualsState.FETCHING:
         assert(!individuals.nodes, "Should not have individual nodes");
         assert(!individuals.dominatorTree, "Should not have dominator tree");
         assert(!individuals.id, "Should not have an id");
         assert(!individuals.censusBreakdown, "Should not have a censusBreakdown");
         assert(!individuals.indices, "Should not have indices");
@@ -472,20 +472,20 @@ let appModel = exports.app = {
 
   // If present, the current diffing state.
   diffing: diffingModel,
 
   // If present, the current individuals state.
   individuals: individualsModel,
 
   // The current type of view.
-  view: function(app) {
+  view: function (app) {
     viewModel.isRequired(app, "view");
 
-    catchAndIgnore(function(app) {
+    catchAndIgnore(function (app) {
       switch (app.view.state) {
         case viewState.DIFFING:
           assert(app.diffing, "Should be diffing");
           break;
 
         case viewState.INDIVIDUALS:
         case viewState.CENSUS:
         case viewState.DOMINATOR_TREE:
@@ -493,17 +493,17 @@ let appModel = exports.app = {
           assert(!app.diffing, "Should not be diffing");
           break;
 
         default:
           assert(false, `Unexpected type of view: ${view.state}`);
       }
     })(app);
 
-    catchAndIgnore(function(app) {
+    catchAndIgnore(function (app) {
       switch (app.view.state) {
         case viewState.INDIVIDUALS:
           assert(app.individuals, "Should have individuals state");
           break;
 
         case viewState.DIFFING:
         case viewState.CENSUS:
         case viewState.DOMINATOR_TREE:
--- a/devtools/client/memory/panel.js
+++ b/devtools/client/memory/panel.js
@@ -6,25 +6,25 @@
 
 const { Cc, Ci, Cu, Cr } = require("chrome");
 const { Task } = require("resource://gre/modules/Task.jsm");
 const EventEmitter = require("devtools/shared/event-emitter");
 const { MemoryFront } = require("devtools/server/actors/memory");
 const HeapAnalysesClient = require("devtools/shared/heapsnapshot/HeapAnalysesClient");
 const promise = require("promise");
 
-function MemoryPanel (iframeWindow, toolbox) {
+function MemoryPanel(iframeWindow, toolbox) {
   this.panelWin = iframeWindow;
   this._toolbox = toolbox;
 
   EventEmitter.decorate(this);
 }
 
 MemoryPanel.prototype = {
-  open: Task.async(function *() {
+  open: Task.async(function* () {
     if (this._opening) {
       return this._opening;
     }
 
     this.panelWin.gToolbox = this._toolbox;
     this.panelWin.gTarget = this.target;
 
     const rootForm = yield this.target.root;
@@ -45,17 +45,17 @@ MemoryPanel.prototype = {
   }),
 
   // DevToolPanel API
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     // Make sure this panel is not already destroyed.
     if (this._destroyer) {
       return this._destroyer;
     }
 
     yield this.panelWin.gFront.detach();
 
     this._destroyer = this.panelWin.destroy().then(() => {
--- a/devtools/client/memory/reducers/census-display.js
+++ b/devtools/client/memory/reducers/census-display.js
@@ -3,19 +3,19 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { actions, censusDisplays } = require("../constants");
 const DEFAULT_CENSUS_DISPLAY = censusDisplays.coarseType;
 
 let handlers = Object.create(null);
 
-handlers[actions.SET_CENSUS_DISPLAY] = function(_, { display }) {
+handlers[actions.SET_CENSUS_DISPLAY] = function (_, { display }) {
   return display;
 };
 
-module.exports = function(state = DEFAULT_CENSUS_DISPLAY, action) {
+module.exports = function (state = DEFAULT_CENSUS_DISPLAY, action) {
   let handle = handlers[action.type];
   if (handle) {
     return handle(state, action);
   }
   return state;
 };
--- a/devtools/client/memory/reducers/errors.js
+++ b/devtools/client/memory/reducers/errors.js
@@ -3,15 +3,15 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const { ERROR_TYPE: TASK_ERROR_TYPE } = require("devtools/client/shared/redux/middleware/task");
 
 /**
  * Handle errors dispatched from task middleware and
  * store them so we can check in tests or dump them out.
  */
-module.exports = function (state=[], action) {
+module.exports = function (state = [], action) {
   switch (action.type) {
     case TASK_ERROR_TYPE:
       return [...state, action.error];
   }
   return state;
 };
--- a/devtools/client/memory/reducers/individuals.js
+++ b/devtools/client/memory/reducers/individuals.js
@@ -3,46 +3,46 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { assert, immutableUpdate } = require("devtools/shared/DevToolsUtils");
 const { actions, individualsState, viewState } = require("../constants");
 
 const handlers = Object.create(null);
 
-handlers[actions.POP_VIEW] = function(_state, _action) {
+handlers[actions.POP_VIEW] = function (_state, _action) {
   return null;
 };
 
-handlers[actions.CHANGE_VIEW] = function(individuals, { newViewState }) {
+handlers[actions.CHANGE_VIEW] = function (individuals, { newViewState }) {
   if (newViewState === viewState.INDIVIDUALS) {
     assert(!individuals,
            "Should not switch to individuals view when already in individuals view");
     return Object.freeze({
       state: individualsState.COMPUTING_DOMINATOR_TREE,
     });
   }
 
   return null;
 };
 
-handlers[actions.FOCUS_INDIVIDUAL] = function(individuals, { node }) {
+handlers[actions.FOCUS_INDIVIDUAL] = function (individuals, { node }) {
   assert(individuals, "Should have individuals");
   return immutableUpdate(individuals, { focused: node });
 };
 
-handlers[actions.FETCH_INDIVIDUALS_START] = function(individuals, action) {
+handlers[actions.FETCH_INDIVIDUALS_START] = function (individuals, action) {
   assert(individuals, "Should have individuals");
   return Object.freeze({
     state: individualsState.FETCHING,
     focused: individuals.focused,
   });
 };
 
-handlers[actions.FETCH_INDIVIDUALS_END] = function(individuals, action) {
+handlers[actions.FETCH_INDIVIDUALS_END] = function (individuals, action) {
   assert(individuals, "Should have individuals");
   assert(!individuals.nodes, "Should not have nodes");
   assert(individuals.state === individualsState.FETCHING,
          "Should only end fetching individuals after starting.");
 
   const focused = individuals.focused
     ? action.nodes.find(n => n.nodeId === individuals.focused.nodeId)
     : null;
@@ -54,17 +54,17 @@ handlers[actions.FETCH_INDIVIDUALS_END] 
     censusBreakdown: action.censusBreakdown,
     indices: action.indices,
     labelDisplay: action.labelDisplay,
     focused,
     dominatorTree: action.dominatorTree,
   });
 };
 
-handlers[actions.INDIVIDUALS_ERROR] = function(_, { error }) {
+handlers[actions.INDIVIDUALS_ERROR] = function (_, { error }) {
   return Object.freeze({
     error,
     nodes: null,
     state: individualsState.ERROR,
   });
 };
 
 module.exports = function (individuals = null, action) {
--- a/devtools/client/memory/test/browser/browser_memory_clear_snapshots.js
+++ b/devtools/client/memory/test/browser/browser_memory_clear_snapshots.js
@@ -1,36 +1,36 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests taking and then clearing snapshots.
  */
 
  const { treeMapState } = require("devtools/client/memory/constants");
-const TEST_URL = "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html";
+ const TEST_URL = "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html";
 
-this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
-  const { gStore, document } = panel.panelWin;
-  const { getState, dispatch } = gStore;
+ this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
+   const { gStore, document } = panel.panelWin;
+   const { getState, dispatch } = gStore;
 
-  let snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
-  is(getState().snapshots.length, 0, "Starts with no snapshots in store");
-  is(snapshotEls.length, 0, "No snapshots visible");
+   let snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
+   is(getState().snapshots.length, 0, "Starts with no snapshots in store");
+   is(snapshotEls.length, 0, "No snapshots visible");
 
-  info("Take two snapshots");
-  takeSnapshot(panel.panelWin);
-  takeSnapshot(panel.panelWin);
-  yield waitUntilState(gStore, state =>
+   info("Take two snapshots");
+   takeSnapshot(panel.panelWin);
+   takeSnapshot(panel.panelWin);
+   yield waitUntilState(gStore, state =>
     state.snapshots.length === 2 &&
     state.snapshots[0].treeMap && state.snapshots[1].treeMap &&
     state.snapshots[0].treeMap.state === treeMapState.SAVED &&
     state.snapshots[1].treeMap.state === treeMapState.SAVED);
 
-  snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
-  is(snapshotEls.length, 2, "Two snapshots visible");
+   snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
+   is(snapshotEls.length, 2, "Two snapshots visible");
 
-  info("Click on Clear Snapshots");
-  yield clearSnapshots(panel.panelWin);
-  is(getState().snapshots.length, 0, "No snapshots in store");
-  snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
-  is(snapshotEls.length, 0, "No snapshot visible");
-});
+   info("Click on Clear Snapshots");
+   yield clearSnapshots(panel.panelWin);
+   is(getState().snapshots.length, 0, "No snapshots in store");
+   snapshotEls = document.querySelectorAll("#memory-tool-container .list li");
+   is(snapshotEls.length, 0, "No snapshot visible");
+ });
--- a/devtools/client/memory/test/browser/browser_memory_tree_map-01.js
+++ b/devtools/client/memory/test/browser/browser_memory_tree_map-01.js
@@ -41,17 +41,17 @@ this.test = makeMemoryTest(TEST_URL, fun
   ok(canvases.main.ctx instanceof window.CanvasRenderingContext2D,
     "Creates the main canvas context");
   ok(canvases.zoom.ctx instanceof window.CanvasRenderingContext2D,
     "Creates the zoom canvas context");
 
   info("Test resizing");
 
   let timesResizeCalled = 0;
-  canvases.on('resize', function() {
+  canvases.on("resize", function () {
     timesResizeCalled++;
   });
 
   let main = canvases.main.canvas;
   let zoom = canvases.zoom.canvas;
   let ratio = window.devicePixelRatio;
 
   is(main.width, 100 * ratio,
--- a/devtools/client/memory/test/browser/browser_memory_tree_map-02.js
+++ b/devtools/client/memory/test/browser/browser_memory_tree_map-02.js
@@ -4,17 +4,17 @@
 
 // Test the drag and zooming behavior
 
 "use strict";
 
 const CanvasUtils = require("devtools/client/memory/components/tree-map/canvas-utils");
 const DragZoom = require("devtools/client/memory/components/tree-map/drag-zoom");
 
-const TEST_URL = `data:text/html,<html><body></body></html>`;
+const TEST_URL = "data:text/html,<html><body></body></html>";
 const PIXEL_SCROLL_MODE = 0;
 const PIXEL_DELTA = 10;
 const MAX_RAF_LOOP = 1000;
 
 this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
   const panelWin = panel.panelWin;
   const panelDoc = panelWin.document;
   const div = panelDoc.createElement("div");
--- a/devtools/client/memory/test/browser/head.js
+++ b/devtools/client/memory/test/browser/head.js
@@ -95,25 +95,25 @@ function waitUntilDominatorTreeState(sto
               return snapshots[i].dominatorTree &&
               snapshots[i].dominatorTree.state === state;
             });
   };
   info(`Waiting for dominator trees to be of state: ${expected}`);
   return waitUntilState(store, predicate);
 }
 
-function takeSnapshot (window) {
+function takeSnapshot(window) {
   let { gStore, document } = window;
   let snapshotCount = gStore.getState().snapshots.length;
-  info(`Taking snapshot...`);
+  info("Taking snapshot...");
   document.querySelector(".devtools-toolbar .take-snapshot").click();
   return waitUntilState(gStore, () => gStore.getState().snapshots.length === snapshotCount + 1);
 }
 
-function clearSnapshots (window) {
+function clearSnapshots(window) {
   let { gStore, document } = window;
   document.querySelector(".devtools-toolbar .clear-snapshots").click();
   return waitUntilState(gStore, () => gStore.getState().snapshots.every(
     (snapshot) => snapshot.state !== states.READ)
   );
 }
 
 /**
@@ -173,22 +173,22 @@ function waitUntilSnapshotSelected(store
 }
 
 
 /**
  * Wait until the state has censuses in a certain state.
  *
  * @return {Promise}
  */
-function waitUntilCensusState (store, getCensus, expected) {
+function waitUntilCensusState(store, getCensus, expected) {
   let predicate = () => {
     let snapshots = store.getState().snapshots;
 
-    info('Current census state:' +
-             snapshots.map(x => getCensus(x) ? getCensus(x).state : null ));
+    info("Current census state:" +
+             snapshots.map(x => getCensus(x) ? getCensus(x).state : null));
 
     return snapshots.length === expected.length &&
            expected.every((state, i) => {
              let census = getCensus(snapshots[i]);
              return (state === "*") ||
                     (!census && !state) ||
                     (census && census.state === state);
            });
@@ -207,25 +207,25 @@ function waitUntilCensusState (store, ge
  *           The mocked raf function
  * @function timesCalled
  *           How many times the RAF has been called
  */
 function createRAFMock() {
   let queuedFns = [];
   let mock = { timesCalled: 0 };
 
-  mock.nextFrame = function() {
+  mock.nextFrame = function () {
     let thisQueue = queuedFns;
     queuedFns = [];
-    for(var i = 0; i < thisQueue.length; i++) {
+    for (var i = 0; i < thisQueue.length; i++) {
       thisQueue[i]();
     }
   };
 
-  mock.raf = function(fn) {
+  mock.raf = function (fn) {
     mock.timesCalled++;
     queuedFns.push(fn);
   };
   return mock;
 }
 
 /**
  * Test to see if two floats are equivalent.
--- a/devtools/client/memory/test/chrome/head.js
+++ b/devtools/client/memory/test/chrome/head.js
@@ -11,17 +11,17 @@ var { require } = BrowserLoader({
   baseURI: "resource://devtools/client/memory/",
   window: this
 });
 var Services = require("Services");
 var { Task } = require("resource://gre/modules/Task.jsm");
 
 var EXPECTED_DTU_ASSERT_FAILURE_COUNT = 0;
 
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   if (DevToolsUtils.assertionFailureCount !== EXPECTED_DTU_ASSERT_FAILURE_COUNT) {
     ok(false, "Should have had the expected number of DevToolsUtils.assert() failures. Expected " +
        EXPECTED_DTU_ASSERT_FAILURE_COUNT + ", got " + DevToolsUtils.assertionFailureCount);
   }
 });
 
 var DevToolsUtils = require("devtools/shared/DevToolsUtils");
 DevToolsUtils.testing = true;
--- a/devtools/client/memory/test/unit/head.js
+++ b/devtools/client/memory/test/unit/head.js
@@ -23,58 +23,58 @@ var HeapSnapshotFileUtils = require("dev
 var HeapAnalysesClient = require("devtools/shared/heapsnapshot/HeapAnalysesClient");
 var { addDebuggerToGlobal } = require("resource://gre/modules/jsdebugger.jsm");
 var Store = require("devtools/client/memory/store");
 var { L10N } = require("devtools/client/memory/utils");
 var SYSTEM_PRINCIPAL = Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal);
 
 var EXPECTED_DTU_ASSERT_FAILURE_COUNT = 0;
 
-do_register_cleanup(function() {
+do_register_cleanup(function () {
   equal(DevToolsUtils.assertionFailureCount, EXPECTED_DTU_ASSERT_FAILURE_COUNT,
         "Should have had the expected number of DevToolsUtils.assert() failures.");
 });
 
 function dumpn(msg) {
   dump(`MEMORY-TEST: ${msg}\n`);
 }
 
-function initDebugger () {
+function initDebugger() {
   let global = new Cu.Sandbox(SYSTEM_PRINCIPAL, { freshZone: true });
   addDebuggerToGlobal(global);
   return new global.Debugger();
 }
 
-function StubbedMemoryFront () {
+function StubbedMemoryFront() {
   this.state = "detached";
   this.recordingAllocations = false;
   this.dbg = initDebugger();
 }
 
-StubbedMemoryFront.prototype.attach = Task.async(function *() {
+StubbedMemoryFront.prototype.attach = Task.async(function* () {
   this.state = "attached";
 });
 
-StubbedMemoryFront.prototype.detach = Task.async(function *() {
+StubbedMemoryFront.prototype.detach = Task.async(function* () {
   this.state = "detached";
 });
 
-StubbedMemoryFront.prototype.saveHeapSnapshot = expectState("attached", Task.async(function *() {
+StubbedMemoryFront.prototype.saveHeapSnapshot = expectState("attached", Task.async(function* () {
   return ThreadSafeChromeUtils.saveHeapSnapshot({ runtime: true });
 }), "saveHeapSnapshot");
 
 StubbedMemoryFront.prototype.startRecordingAllocations = expectState("attached", Task.async(function* () {
   this.recordingAllocations = true;
 }));
 
 StubbedMemoryFront.prototype.stopRecordingAllocations = expectState("attached", Task.async(function* () {
   this.recordingAllocations = false;
 }));
 
-function waitUntilSnapshotState (store, expected) {
+function waitUntilSnapshotState(store, expected) {
   let predicate = () => {
     let snapshots = store.getState().snapshots;
     do_print(snapshots.map(x => x.state));
     return snapshots.length === expected.length &&
            expected.every((state, i) => state === "*" || snapshots[i].state === state);
   };
   do_print(`Waiting for snapshots to be of state: ${expected}`);
   return waitUntilState(store, predicate);
@@ -92,35 +92,35 @@ function findReportLeafIndex(node, name 
         return found;
       }
     }
   }
 
   return null;
 }
 
-function waitUntilCensusState (store, getCensus, expected) {
+function waitUntilCensusState(store, getCensus, expected) {
   let predicate = () => {
     let snapshots = store.getState().snapshots;
 
-    do_print('Current census state:' +
-             snapshots.map(x => getCensus(x) ? getCensus(x).state : null ));
+    do_print("Current census state:" +
+             snapshots.map(x => getCensus(x) ? getCensus(x).state : null));
 
     return snapshots.length === expected.length &&
            expected.every((state, i) => {
              let census = getCensus(snapshots[i]);
              return (state === "*") ||
                     (!census && !state) ||
                     (census && census.state === state);
            });
   };
   do_print(`Waiting for snapshots' censuses to be of state: ${expected}`);
   return waitUntilState(store, predicate);
 }
 
-function *createTempFile () {
+function* createTempFile() {
   let file = FileUtils.getFile("TmpD", ["tmp.fxsnapshot"]);
   file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   let destPath = file.path;
   let stat = yield OS.File.stat(destPath);
   ok(stat.size === 0, "new file is 0 bytes at start");
   return destPath;
 }
--- a/devtools/client/memory/test/unit/test_action-clear-snapshots_01.js
+++ b/devtools/client/memory/test/unit/test_action-clear-snapshots_01.js
@@ -6,17 +6,17 @@
 let { takeSnapshotAndCensus, clearSnapshots } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, actions } = require("devtools/client/memory/constants");
 const { treeMapState } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   yield waitUntilCensusState(store, s => s.treeMap, [treeMapState.SAVED]);
--- a/devtools/client/memory/test/unit/test_action-clear-snapshots_02.js
+++ b/devtools/client/memory/test/unit/test_action-clear-snapshots_02.js
@@ -5,17 +5,17 @@
 
 let { takeSnapshotAndCensus, clearSnapshots, takeSnapshot } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, treeMapState, actions } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   ok(true, "create a snapshot with a census in SAVED state");
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_action-clear-snapshots_03.js
+++ b/devtools/client/memory/test/unit/test_action-clear-snapshots_03.js
@@ -5,17 +5,17 @@
 
 let { takeSnapshotAndCensus, clearSnapshots } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, treeMapState, actions } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   ok(true, "create a snapshot with a treeMap");
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_action-clear-snapshots_04.js
+++ b/devtools/client/memory/test/unit/test_action-clear-snapshots_04.js
@@ -5,17 +5,17 @@
 
 let { takeSnapshotAndCensus, clearSnapshots } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, actions, treeMapState } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   ok(true, "create 3 snapshots with a saved census");
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_action-clear-snapshots_05.js
+++ b/devtools/client/memory/test/unit/test_action-clear-snapshots_05.js
@@ -5,32 +5,32 @@
 
 let { takeSnapshotAndCensus, clearSnapshots } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, actions, treeMapState } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   ok(true, "create 2 snapshots with a saved census");
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   ok(true, "snapshots created with a saved census");
   yield waitUntilCensusState(store, snapshot => snapshot.treeMap,
                              [treeMapState.SAVED, treeMapState.SAVED]);
 
   let errorHeapWorker = {
-    deleteHeapSnapshot: function() {
+    deleteHeapSnapshot: function () {
       return Promise.reject("_");
     }
   };
 
   ok(true, "dispatch clearSnapshots action");
   let deleteEvents = Promise.all([
     waitUntilAction(store, actions.DELETE_SNAPSHOTS_START),
     waitUntilAction(store, actions.DELETE_SNAPSHOTS_END),
--- a/devtools/client/memory/test/unit/test_action-export-snapshot.js
+++ b/devtools/client/memory/test/unit/test_action-export-snapshot.js
@@ -6,17 +6,17 @@
 let { exportSnapshot } = require("devtools/client/memory/actions/io");
 let { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states, actions, treeMapState } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   let destPath = yield createTempFile();
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_action-filter-01.js
+++ b/devtools/client/memory/test/unit/test_action-filter-01.js
@@ -4,17 +4,17 @@
 // Test setting the filter string.
 
 let { setFilterString } = require("devtools/client/memory/actions/filter");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().filter, null, "no filter by default");
 
   dispatch(setFilterString("my filter"));
   equal(getState().filter, "my filter", "now we have the expected filter");
 
--- a/devtools/client/memory/test/unit/test_action-filter-02.js
+++ b/devtools/client/memory/test/unit/test_action-filter-02.js
@@ -9,17 +9,17 @@ let { setFilterStringAndRefresh } = requ
 let { takeSnapshotAndCensus, selectSnapshotAndRefresh } = require("devtools/client/memory/actions/snapshot");
 let { setCensusDisplay } = require("devtools/client/memory/actions/census-display");
 let { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-filter-03.js
+++ b/devtools/client/memory/test/unit/test_action-filter-03.js
@@ -8,17 +8,17 @@ let { snapshotState: states, censusState
 let { setFilterString, setFilterStringAndRefresh } = require("devtools/client/memory/actions/filter");
 let { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
 let { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-import-snapshot-and-census.js
+++ b/devtools/client/memory/test/unit/test_action-import-snapshot-and-census.js
@@ -10,17 +10,17 @@
 let { actions, snapshotState: states, treeMapState } = require("devtools/client/memory/constants");
 let { exportSnapshot, importSnapshotAndCensus } = require("devtools/client/memory/actions/io");
 let { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { subscribe, dispatch, getState } = store;
 
   let destPath = yield createTempFile();
   dispatch(takeSnapshotAndCensus(front, heapWorker));
@@ -57,17 +57,17 @@ add_task(function *() {
       }
     }
   };
 
   let unsubscribe = subscribe(expectStates);
   dispatch(importSnapshotAndCensus(heapWorker, destPath));
 
   yield waitUntilState(store, () => { return snapshotI === snapshotStates.length &&
-                                      censusI === censusStates.length });
+                                      censusI === censusStates.length; });
   unsubscribe();
   equal(snapshotI, snapshotStates.length, "importSnapshotAndCensus() produces the correct sequence of states in a snapshot");
   equal(getState().snapshots[1].state, states.READ, "imported snapshot is in READ state");
   equal(censusI, censusStates.length, "importSnapshotAndCensus() produces the correct sequence of states in a census");
   equal(getState().snapshots[1].treeMap.state, treeMapState.SAVED, "imported snapshot is in READ state");
   ok(getState().snapshots[1].selected, "imported snapshot is selected");
 
   // Check snapshot data
@@ -79,17 +79,17 @@ add_task(function *() {
 
   // Clone the census data so we can destructively remove the ID/parents to compare
   // equal census data
   let census1 = stripUnique(JSON.parse(JSON.stringify(snapshot1.treeMap.report)));
   let census2 = stripUnique(JSON.parse(JSON.stringify(snapshot2.treeMap.report)));
 
   equal(JSON.stringify(census1), JSON.stringify(census2), "Imported snapshot has correct census");
 
-  function stripUnique (obj) {
+  function stripUnique(obj) {
     let children = obj.children || [];
     for (let child of children) {
       delete child.id;
       delete child.parent;
       stripUnique(child);
     }
     delete obj.id;
     delete obj.parent;
--- a/devtools/client/memory/test/unit/test_action-select-snapshot.js
+++ b/devtools/client/memory/test/unit/test_action-select-snapshot.js
@@ -7,17 +7,17 @@
 
 let actions = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   yield front.attach();
   let store = Store();
 
   for (let i = 0; i < 5; i++) {
     store.dispatch(actions.takeSnapshot(front));
   }
 
@@ -29,9 +29,9 @@ add_task(function *() {
     yield waitUntilState(store, ({ snapshots }) => snapshots[i].selected);
 
     let { snapshots } = store.getState();
     ok(snapshots[i].selected, `snapshot[${i}] selected`);
     equal(snapshots.filter(s => !s.selected).length, 4, "All other snapshots are unselected");
   }
 });
 
-function isDone (s) { return s.state === states.SAVED; }
+function isDone(s) { return s.state === states.SAVED; }
--- a/devtools/client/memory/test/unit/test_action-set-display-and-refresh-01.js
+++ b/devtools/client/memory/test/unit/test_action-set-display-and-refresh-01.js
@@ -16,17 +16,17 @@ const { changeView } = require("devtools
 
 function run_test() {
   run_next_test();
 }
 
 // We test setting an invalid display, which triggers an assertion failure.
 EXPECTED_DTU_ASSERT_FAILURE_COUNT = 1;
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-set-display-and-refresh-02.js
+++ b/devtools/client/memory/test/unit/test_action-set-display-and-refresh-02.js
@@ -21,17 +21,17 @@ let CUSTOM = {
     then: { by: "count", bytes: true, count: false }
   }
 };
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
   dispatch(setCensusDisplayAndRefresh(heapWorker, CUSTOM));
--- a/devtools/client/memory/test/unit/test_action-set-display.js
+++ b/devtools/client/memory/test/unit/test_action-set-display.js
@@ -15,17 +15,17 @@ const { changeView } = require("devtools
 
 function run_test() {
   run_next_test();
 }
 
 // We test setting an invalid display, which triggers an assertion failure.
 EXPECTED_DTU_ASSERT_FAILURE_COUNT = 1;
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-take-census.js
+++ b/devtools/client/memory/test/unit/test_action-take-census.js
@@ -13,17 +13,17 @@ var { changeView } = require("devtools/c
 function run_test() {
   run_next_test();
 }
 
 // This tests taking a census on a snapshot that is still being read, which
 // triggers an assertion failure.
 EXPECTED_DTU_ASSERT_FAILURE_COUNT = 1;
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
 
   store.dispatch(changeView(viewState.CENSUS));
 
   store.dispatch(actions.takeSnapshot(front));
--- a/devtools/client/memory/test/unit/test_action-take-snapshot-and-census.js
+++ b/devtools/client/memory/test/unit/test_action-take-snapshot-and-census.js
@@ -8,17 +8,17 @@
 
 let { snapshotState: states, treeMapState } = require("devtools/client/memory/constants");
 let actions = require("devtools/client/memory/actions/snapshot");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
 
   let snapshotI = 0;
   let censusI = 0;
   let snapshotStates = ["SAVING", "SAVED", "READING", "READ"];
@@ -43,16 +43,16 @@ add_task(function *() {
     }
   };
 
 
   let unsubscribe = store.subscribe(expectStates);
   store.dispatch(actions.takeSnapshotAndCensus(front, heapWorker));
 
   yield waitUntilState(store, () => { return snapshotI === snapshotStates.length &&
-                                      censusI === censusStates.length });
+                                      censusI === censusStates.length; });
   unsubscribe();
 
   ok(true, "takeSnapshotAndCensus() produces the correct sequence of states in a snapshot");
   let snapshot = store.getState().snapshots[0];
   ok(snapshot.treeMap, "snapshot has tree map census data");
   ok(snapshot.selected, "snapshot is selected");
 });
--- a/devtools/client/memory/test/unit/test_action-take-snapshot.js
+++ b/devtools/client/memory/test/unit/test_action-take-snapshot.js
@@ -7,27 +7,27 @@
 
 let actions = require("devtools/client/memory/actions/snapshot");
 let { snapshotState: states } = require("devtools/client/memory/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   yield front.attach();
   let store = Store();
 
   let unsubscribe = store.subscribe(checkState);
 
   let foundPendingState = false;
   let foundDoneState = false;
 
-  function checkState () {
+  function checkState() {
     let { snapshots } = store.getState();
     let lastSnapshot = snapshots[snapshots.length - 1];
 
     if (lastSnapshot.state === states.SAVING) {
       foundPendingState = true;
       ok(foundPendingState, "Got state change for pending heap snapshot request");
       ok(!lastSnapshot.path, "Snapshot does not yet have a path");
       ok(!lastSnapshot.census, "Has no census data when loading");
--- a/devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-01.js
+++ b/devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-01.js
@@ -18,17 +18,17 @@ const {
   selectSnapshotAndRefresh,
 } = require("devtools/client/memory/actions/snapshot");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-02.js
+++ b/devtools/client/memory/test/unit/test_action-toggle-inverted-and-refresh-02.js
@@ -12,17 +12,17 @@ const {
   setCensusDisplayAndRefresh,
 } = require("devtools/client/memory/actions/census-display");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action-toggle-inverted.js
+++ b/devtools/client/memory/test/unit/test_action-toggle-inverted.js
@@ -6,17 +6,17 @@
 
 const { censusDisplays } = require("devtools/client/memory/constants");
 const { setCensusDisplay } = require("devtools/client/memory/actions/census-display");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function*() {
+add_task(function* () {
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(setCensusDisplay(censusDisplays.allocationStack));
   equal(getState().censusDisplay.inverted, false,
         "not inverted initially");
 
   dispatch(setCensusDisplay(censusDisplays.invertedAllocationStack));
--- a/devtools/client/memory/test/unit/test_action-toggle-recording-allocations.js
+++ b/devtools/client/memory/test/unit/test_action-toggle-recording-allocations.js
@@ -7,17 +7,17 @@
  */
 
 let { toggleRecordingAllocationStacks } = require("devtools/client/memory/actions/allocations");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().allocations.recording, false, "not recording by default");
   equal(getState().allocations.togglingInProgress, false,
         "not in the process of toggling by default");
--- a/devtools/client/memory/test/unit/test_action_diffing_01.js
+++ b/devtools/client/memory/test/unit/test_action_diffing_01.js
@@ -4,17 +4,17 @@
 // Test toggling of diffing.
 
 const { toggleDiffing } = require("devtools/client/memory/actions/diffing");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().diffing, null, "not diffing by default");
 
--- a/devtools/client/memory/test/unit/test_action_diffing_02.js
+++ b/devtools/client/memory/test/unit/test_action_diffing_02.js
@@ -7,17 +7,17 @@ const { snapshotState, censusState, view
 const { toggleDiffing } = require("devtools/client/memory/actions/diffing");
 const { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_action_diffing_03.js
+++ b/devtools/client/memory/test/unit/test_action_diffing_03.js
@@ -15,17 +15,17 @@ function run_test() {
   run_next_test();
 }
 
 // We test that you (1) cannot select a snapshot that is not in a diffable
 // state, and (2) cannot select more than 2 snapshots for diffing. Both attempts
 // trigger assertion failures.
 EXPECTED_DTU_ASSERT_FAILURE_COUNT = 2;
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
   equal(getState().diffing, null, "not diffing by default");
--- a/devtools/client/memory/test/unit/test_action_diffing_04.js
+++ b/devtools/client/memory/test/unit/test_action_diffing_04.js
@@ -17,17 +17,17 @@ const {
   readSnapshot
 } = require("devtools/client/memory/actions/snapshot");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
   dispatch(changeView(viewState.CENSUS));
 
   equal(getState().diffing, null, "not diffing by default");
--- a/devtools/client/memory/test/unit/test_action_diffing_05.js
+++ b/devtools/client/memory/test/unit/test_action_diffing_05.js
@@ -24,17 +24,17 @@ const {
   readSnapshot,
 } = require("devtools/client/memory/actions/snapshot");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
   dispatch(changeView(viewState.CENSUS));
 
   yield dispatch(setCensusDisplayAndRefresh(heapWorker,
--- a/devtools/client/memory/test/unit/test_dominator_trees_01.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_01.js
@@ -12,17 +12,17 @@ let {
   takeSnapshotAndCensus,
   computeAndFetchDominatorTree,
 } = require("devtools/client/memory/actions/snapshot");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   yield waitUntilCensusState(store, s => s.treeMap, [treeMapState.SAVED]);
--- a/devtools/client/memory/test/unit/test_dominator_trees_02.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_02.js
@@ -16,17 +16,17 @@ const {
 const {
   changeViewAndRefresh
 } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   yield waitUntilCensusState(store, s => s.treeMap, [treeMapState.SAVED]);
--- a/devtools/client/memory/test/unit/test_dominator_trees_03.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_03.js
@@ -15,17 +15,17 @@ const {
 const {
   changeView
 } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
   equal(getState().view.state, viewState.DOMINATOR_TREE,
--- a/devtools/client/memory/test/unit/test_dominator_trees_04.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_04.js
@@ -15,17 +15,17 @@ const {
 const {
   changeView
 } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
 
   for (let intermediateSnapshotState of [states.SAVING,
                                          states.READING,
                                          states.READ]) {
     dumpn(`Testing switching to the DOMINATOR_TREE view in the middle of the ${intermediateSnapshotState} snapshot state`);
--- a/devtools/client/memory/test/unit/test_dominator_trees_05.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_05.js
@@ -16,17 +16,17 @@ let {
 } = require("devtools/client/memory/actions/snapshot");
 
 let { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(takeSnapshotAndCensus(front, heapWorker));
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_dominator_trees_06.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_06.js
@@ -17,17 +17,17 @@ const DominatorTreeLazyChildren
   = require("devtools/client/memory/dominator-tree-lazy-children");
 
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_dominator_trees_07.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_07.js
@@ -18,17 +18,17 @@ const DominatorTreeLazyChildren
   = require("devtools/client/memory/dominator-tree-lazy-children");
 
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_dominator_trees_08.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_08.js
@@ -21,17 +21,17 @@ const {
   takeSnapshotAndCensus,
   computeAndFetchDominatorTree,
 } = require("devtools/client/memory/actions/snapshot");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
 
--- a/devtools/client/memory/test/unit/test_dominator_trees_09.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_09.js
@@ -21,17 +21,17 @@ const {
   takeSnapshotAndCensus,
   computeAndFetchDominatorTree,
 } = require("devtools/client/memory/actions/snapshot");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
 
--- a/devtools/client/memory/test/unit/test_dominator_trees_10.js
+++ b/devtools/client/memory/test/unit/test_dominator_trees_10.js
@@ -20,17 +20,17 @@ const {
 const {
   setLabelDisplayAndRefresh,
 } = require("devtools/client/memory/actions/label-display");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.DOMINATOR_TREE));
   dispatch(takeSnapshotAndCensus(front, heapWorker));
--- a/devtools/client/memory/test/unit/test_individuals_01.js
+++ b/devtools/client/memory/test/unit/test_individuals_01.js
@@ -22,17 +22,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().individuals, null,
         "no individuals state by default");
--- a/devtools/client/memory/test/unit/test_individuals_02.js
+++ b/devtools/client/memory/test/unit/test_individuals_02.js
@@ -25,17 +25,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().individuals, null,
         "no individuals state by default");
--- a/devtools/client/memory/test/unit/test_individuals_03.js
+++ b/devtools/client/memory/test/unit/test_individuals_03.js
@@ -27,17 +27,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_individuals_04.js
+++ b/devtools/client/memory/test/unit/test_individuals_04.js
@@ -25,17 +25,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
   dispatch(setFilterString("Array"));
--- a/devtools/client/memory/test/unit/test_individuals_05.js
+++ b/devtools/client/memory/test/unit/test_individuals_05.js
@@ -26,17 +26,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
   dispatch(setCensusDisplay(censusDisplays.invertedAllocationStack));
--- a/devtools/client/memory/test/unit/test_individuals_06.js
+++ b/devtools/client/memory/test/unit/test_individuals_06.js
@@ -24,17 +24,17 @@ function run_test() {
 }
 
 const EXPECTED_INDIVIDUAL_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
--- a/devtools/client/memory/test/unit/test_pop_view_01.js
+++ b/devtools/client/memory/test/unit/test_pop_view_01.js
@@ -23,17 +23,17 @@ function run_test() {
 }
 
 const TEST_STATES = [
   individualsState.COMPUTING_DOMINATOR_TREE,
   individualsState.FETCHING,
   individualsState.FETCHED,
 ];
 
-add_task(function*() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   const { getState, dispatch } = store;
 
   equal(getState().individuals, null,
         "no individuals state by default");
--- a/devtools/client/memory/test/unit/test_tree-map-01.js
+++ b/devtools/client/memory/test/unit/test_tree-map-01.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const { drawBox } = require("devtools/client/memory/components/tree-map/draw");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let fillRectValues, strokeRectValues;
   let ctx = {
     fillRect: (...args) => fillRectValues = args,
     strokeRect: (...args) => strokeRectValues = args
   };
   let node = {
     x: 20,
     y: 30,
@@ -28,30 +28,30 @@ add_task(function *() {
     offsetY: 0,
     zoom: 0
   };
   drawBox(ctx, node, borderWidth, dragZoom, padding);
   ok(true, JSON.stringify([ctx, fillRectValues, strokeRectValues]));
   equal(ctx.fillStyle, "hsl(210,60%,70%)", "The fillStyle is set");
   equal(ctx.strokeStyle, "hsl(210,60%,35%)", "The strokeStyle is set");
   equal(ctx.lineWidth, 1, "The lineWidth is set");
-  deepEqual(fillRectValues, [10.5,20.5,49,69], "Draws a filled rectangle");
-  deepEqual(strokeRectValues, [10.5,20.5,49,69], "Draws a stroked rectangle");
+  deepEqual(fillRectValues, [10.5, 20.5, 49, 69], "Draws a filled rectangle");
+  deepEqual(strokeRectValues, [10.5, 20.5, 49, 69], "Draws a stroked rectangle");
 
 
   dragZoom.zoom = 0.5;
 
   drawBox(ctx, node, borderWidth, dragZoom, padding);
   ok(true, JSON.stringify([ctx, fillRectValues, strokeRectValues]));
-  deepEqual(fillRectValues, [15.5,30.5,74,104],
+  deepEqual(fillRectValues, [15.5, 30.5, 74, 104],
     "Draws a zoomed filled rectangle");
-  deepEqual(strokeRectValues, [15.5,30.5,74,104],
+  deepEqual(strokeRectValues, [15.5, 30.5, 74, 104],
     "Draws a zoomed stroked rectangle");
 
   dragZoom.offsetX = 110;
   dragZoom.offsetY = 130;
 
   drawBox(ctx, node, borderWidth, dragZoom, padding);
-  deepEqual(fillRectValues, [-94.5,-99.5,74,104],
+  deepEqual(fillRectValues, [-94.5, -99.5, 74, 104],
     "Draws a zoomed and offset filled rectangle");
-  deepEqual(strokeRectValues, [-94.5,-99.5,74,104],
+  deepEqual(strokeRectValues, [-94.5, -99.5, 74, 104],
     "Draws a zoomed and offset stroked rectangle");
 });
--- a/devtools/client/memory/test/unit/test_tree-map-02.js
+++ b/devtools/client/memory/test/unit/test_tree-map-02.js
@@ -4,17 +4,17 @@
 "use strict";
 
 const { drawText } = require("devtools/client/memory/components/tree-map/draw");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function*() {
+add_task(function* () {
   // Mock out the Canvas2dContext
   let ctx = {
     fillText: (...args) => fillTextValues.push(args),
     measureText: (text) => {
       let width = text ? text.length * 10 : 0;
       return { width };
     }
   };
@@ -33,44 +33,44 @@ add_task(function*() {
     offsetX: 0,
     offsetY: 0,
     zoom: 0
   };
   let fillTextValues = [];
   let padding = [10, 10];
 
   drawText(ctx, node, borderWidth, ratio, dragZoom, padding);
-  deepEqual(fillTextValues[0], ["Example Node", 11.5,21.5],
+  deepEqual(fillTextValues[0], ["Example Node", 11.5, 21.5],
     "Fills in the full node name");
-  deepEqual(fillTextValues[1], ["1KiB 100 count", 141.5,21.5],
+  deepEqual(fillTextValues[1], ["1KiB 100 count", 141.5, 21.5],
     "Includes the full byte and count information");
 
   fillTextValues = [];
   node.dx = 250;
   drawText(ctx, node, borderWidth, ratio, dragZoom, padding);
 
-  deepEqual(fillTextValues[0], ["Example Node", 11.5,21.5],
+  deepEqual(fillTextValues[0], ["Example Node", 11.5, 21.5],
     "Fills in the full node name");
   deepEqual(fillTextValues[1], undefined,
     "Drops off the byte and count information if not enough room");
 
   fillTextValues = [];
   node.dx = 100;
   drawText(ctx, node, borderWidth, ratio, dragZoom, padding);
 
-  deepEqual(fillTextValues[0], ["Exampl...", 11.5,21.5],
+  deepEqual(fillTextValues[0], ["Exampl...", 11.5, 21.5],
     "Cuts the name with ellipsis");
   deepEqual(fillTextValues[1], undefined,
     "Drops off the byte and count information if not enough room");
 
   fillTextValues = [];
   node.dx = 40;
   drawText(ctx, node, borderWidth, ratio, dragZoom, padding);
 
-  deepEqual(fillTextValues[0], ["...", 11.5,21.5],
+  deepEqual(fillTextValues[0], ["...", 11.5, 21.5],
     "Shows only ellipsis when smaller");
   deepEqual(fillTextValues[1], undefined,
     "Drops off the byte and count information if not enough room");
 
   fillTextValues = [];
   node.dx = 20;
   drawText(ctx, node, borderWidth, ratio, dragZoom, padding);
 
--- a/devtools/client/memory/test/unit/test_utils-get-snapshot-totals.js
+++ b/devtools/client/memory/test/unit/test_utils-get-snapshot-totals.js
@@ -12,17 +12,17 @@ const { getSnapshotTotals } = require("d
 const { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
 const { setCensusDisplayAndRefresh } = require("devtools/client/memory/actions/census-display");
 const { changeView } = require("devtools/client/memory/actions/view");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let front = new StubbedMemoryFront();
   let heapWorker = new HeapAnalysesClient();
   yield front.attach();
   let store = Store();
   let { getState, dispatch } = store;
 
   dispatch(changeView(viewState.CENSUS));
 
@@ -55,18 +55,18 @@ add_task(function *() {
 
   result = getSnapshotTotals(getState().snapshots[0].census);
   equal(totalBytes, result.bytes,
         "getSnapshotTotals reuslted in correct bytes when inverted");
   equal(totalCount, result.count,
         "getSnapshotTotals reuslted in correct count when inverted");
 });
 
-function aggregate (report) {
+function aggregate(report) {
   let totalBytes = report.bytes;
   let totalCount = report.count;
   for (let child of (report.children || [])) {
     let { bytes, count } = aggregate(child);
-    totalBytes += bytes
+    totalBytes += bytes;
     totalCount += count;
   }
   return { bytes: totalBytes, count: totalCount };
 }
--- a/devtools/client/memory/test/unit/test_utils.js
+++ b/devtools/client/memory/test/unit/test_utils.js
@@ -11,17 +11,17 @@
 let utils = require("devtools/client/memory/utils");
 let { snapshotState: states, viewState } = require("devtools/client/memory/constants");
 let { Preferences } = require("resource://gre/modules/Preferences.jsm");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let s1 = utils.createSnapshot({ view: { state: viewState.CENSUS } });
   let s2 = utils.createSnapshot({ view: { state: viewState.CENSUS } });
   equal(s1.state, states.SAVING, "utils.createSnapshot() creates snapshot in saving state");
   ok(s1.id !== s2.id, "utils.createSnapshot() creates snapshot with unique ids");
 
   let custom = { by: "internalType", then: { by: "count", bytes: true }};
   Preferences.set("devtools.memory.custom-census-displays", JSON.stringify({ "My Display": custom }));
 
--- a/devtools/client/memory/utils.js
+++ b/devtools/client/memory/utils.js
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const { Cu, Cc, Ci } = require("chrome");
 
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
-const STRINGS_URI = "chrome://devtools/locale/memory.properties"
+const STRINGS_URI = "chrome://devtools/locale/memory.properties";
 const L10N = exports.L10N = new LocalizationHelper(STRINGS_URI);
 
 const { OS } = require("resource://gre/modules/osfile.jsm");
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { Preferences } = require("resource://gre/modules/Preferences.jsm");
 const CUSTOM_CENSUS_DISPLAY_PREF = "devtools.memory.custom-census-displays";
 const CUSTOM_LABEL_DISPLAY_PREF = "devtools.memory.custom-label-displays";
 const CUSTOM_TREE_MAP_DISPLAY_PREF = "devtools.memory.custom-tree-map-displays";
@@ -261,17 +261,17 @@ exports.snapshotIsDiffable = function sn
  * Takes an array of snapshots and a snapshot and returns
  * the snapshot instance in `snapshots` that matches
  * the snapshot passed in.
  *
  * @param {appModel} state
  * @param {snapshotId} id
  * @return {snapshotModel|null}
  */
-exports.getSnapshot = function getSnapshot (state, id) {
+exports.getSnapshot = function getSnapshot(state, id) {
   const found = state.snapshots.find(s => s.id === id);
   assert(found, `No matching snapshot found with id = ${id}`);
   return found;
 };
 
 /**
  * Get the ID of the selected snapshot, if one is selected, null otherwise.
  *
@@ -407,17 +407,17 @@ exports.getSnapshotTotals = function (ce
  *        (like "*.json").
  * @param {String} .defaultName
  *        The default name chosen by the file picker window.
  * @param {String} .mode
  *        The mode that this filepicker should open in. Can be "open" or "save".
  * @return {Promise<?nsILocalFile>}
  *        The file selected by the user, or null, if cancelled.
  */
-exports.openFilePicker = function({ title, filters, defaultName, mode }) {
+exports.openFilePicker = function ({ title, filters, defaultName, mode }) {
   mode = mode === "save" ? Ci.nsIFilePicker.modeSave :
          mode === "open" ? Ci.nsIFilePicker.modeOpen : null;
 
   if (mode == void 0) {
     throw new Error("No valid mode specified for nsIFilePicker.");
   }
 
   let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
@@ -443,17 +443,17 @@ exports.openFilePicker = function({ titl
 
 /**
  * Format the provided number with a space every 3 digits, and optionally
  * prefixed by its sign.
  *
  * @param {Number} number
  * @param {Boolean} showSign (defaults to false)
  */
-exports.formatNumber = function(number, showSign = false) {
+exports.formatNumber = function (number, showSign = false) {
   const rounded = Math.round(number);
   if (rounded === 0 || rounded === -0) {
     return "0";
   }
 
   const abs = String(Math.abs(rounded));
   // replace every digit followed by (sets of 3 digits) by (itself and a space)
   const formatted = abs.replace(/(\d)(?=(\d{3})+$)/g, "$1 ");
@@ -467,62 +467,62 @@ exports.formatNumber = function(number, 
 
 /**
  * Format the provided percentage following the same logic as formatNumber and
  * an additional % suffix.
  *
  * @param {Number} percent
  * @param {Boolean} showSign (defaults to false)
  */
-exports.formatPercent = function(percent, showSign = false) {
+exports.formatPercent = function (percent, showSign = false) {
   return exports.L10N.getFormatStr("tree-item.percent",
                            exports.formatNumber(percent, showSign));
 };
 
 /**
  * Change an HSL color array with values ranged 0-1 to a properly formatted
  * ctx.fillStyle string.
  *
  * @param  {Number} h
  *         hue values ranged between [0 - 1]
  * @param  {Number} s
  *         hue values ranged between [0 - 1]
  * @param  {Number} l
  *         hue values ranged between [0 - 1]
  * @return {type}
  */
-exports.hslToStyle = function(h, s, l) {
+exports.hslToStyle = function (h, s, l) {
   h = parseInt(h * 360, 10);
   s = parseInt(s * 100, 10);
   l = parseInt(l * 100, 10);
 
   return `hsl(${h},${s}%,${l}%)`;
 };
 
 /**
  * Linearly interpolate between 2 numbers.
  *
  * @param {Number} a
  * @param {Number} b
  * @param {Number} t
  *        A value of 0 returns a, and 1 returns b
  * @return {Number}
  */
-exports.lerp = function(a, b, t) {
+exports.lerp = function (a, b, t) {
   return a * (1 - t) + b * t;
 };
 
 /**
  * Format a number of bytes as human readable, e.g. 13434 => '13KiB'.
  *
  * @param  {Number} n
  *         Number of bytes
  * @return {String}
  */
-exports.formatAbbreviatedBytes = function(n) {
+exports.formatAbbreviatedBytes = function (n) {
   if (n < BYTES) {
     return n + "B";
   } else if (n < KILOBYTES) {
     return Math.floor(n / BYTES) + "KiB";
   } else if (n < MEGABYTES) {
     return Math.floor(n / KILOBYTES) + "MiB";
   }
   return Math.floor(n / MEGABYTES) + "GiB";
--- a/devtools/client/netmonitor/har/test/browser_net_har_copy_all_as_har.js
+++ b/devtools/client/netmonitor/har/test/browser_net_har_copy_all_as_har.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 /**
  * Basic tests for exporting Network panel content into HAR format.
  */
-add_task(function*() {
+add_task(function* () {
   // The first 'tab' isn't necessary so, don't create a var for it
   // to avoid eslint warning.
   let [ , debuggee, monitor ] = yield initNetMonitor(SIMPLE_URL);
 
   info("Starting test... ");
 
   let { NetMonitorView } = monitor.panelWin;
   let { RequestsMenu } = NetMonitorView;
--- a/devtools/client/netmonitor/har/test/browser_net_har_post_data.js
+++ b/devtools/client/netmonitor/har/test/browser_net_har_post_data.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 /**
  * Tests for exporting POST data into HAR format.
  */
-add_task(function*() {
+add_task(function* () {
   // The first 'tab' isn't necessary so, don't create a var for it
   // to avoid eslint warning.
   let [ , debuggee, monitor ] = yield initNetMonitor(
     HAR_EXAMPLE_URL + "html_har_post-data-test-page.html");
 
   info("Starting test... ");
 
   let { NetMonitorView } = monitor.panelWin;
--- a/devtools/client/netmonitor/test/browser_net_api-calls.js
+++ b/devtools/client/netmonitor/test/browser_net_api-calls.js
@@ -17,20 +17,20 @@ function test() {
     const REQUEST_URIS = [
       "http://example.com/api/fileName.xml",
       "http://example.com/api/file%E2%98%A2.xml",
       "http://example.com/api/ascii/get/",
       "http://example.com/api/unicode/%E2%98%A2/",
       "http://example.com/api/search/?q=search%E2%98%A2"
     ];
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForNetworkEvents(aMonitor, 5);
 
-      REQUEST_URIS.forEach(function(uri, index) {
+      REQUEST_URIS.forEach(function (uri, index) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(index), "GET", uri);
       });
 
       yield teardown(aMonitor);
       finish();
     });
 
     aDebuggee.performRequests();
--- a/devtools/client/netmonitor/test/browser_net_autoscroll.js
+++ b/devtools/client/netmonitor/test/browser_net_autoscroll.js
@@ -1,22 +1,22 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: aValue.content is undefined");
 
 /**
  * Bug 863102 - Automatically scroll down upon new network requests.
  */
-add_task(function*() {
+add_task(function* () {
   requestLongerTimeout(2);
   let monitor, debuggee, requestsContainer, scrollTop;
 
   let [aTab, aDebuggee, aMonitor] = yield initNetMonitor(INFINITE_GET_URL);
   monitor = aMonitor;
   debuggee = aDebuggee;
   let win = monitor.panelWin;
   let topNode = win.document.getElementById("requests-menu-contents");
--- a/devtools/client/netmonitor/test/browser_net_cached-status.js
+++ b/devtools/client/netmonitor/test/browser_net_cached-status.js
@@ -1,93 +1,93 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: can't convert undefined to object");
 
 /**
  * Tests if cached requests have the correct status code
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let [tab, debuggee, monitor] = yield initNetMonitor(STATUS_CODES_URL, null, true);
   info("Starting test... ");
 
   let { document, L10N, NetMonitorView } = monitor.panelWin;
   let { RequestsMenu, NetworkDetails } = NetMonitorView;
 
   RequestsMenu.lazyUpdate = false;
   NetworkDetails._params.lazyEmpty = false;
 
   const REQUEST_DATA = [
     {
-      method: 'GET',
+      method: "GET",
       uri: STATUS_CODES_SJS + "?sts=ok&cached",
       details: {
         status: 200,
-        statusText: 'OK',
+        statusText: "OK",
         type: "plain",
         fullMimeType: "text/plain; charset=utf-8"
       }
     },
     {
-      method: 'GET',
+      method: "GET",
       uri: STATUS_CODES_SJS + "?sts=redirect&cached",
       details: {
         status: 301,
-        statusText: 'Moved Permanently',
+        statusText: "Moved Permanently",
         type: "html",
         fullMimeType: "text/html; charset=utf-8"
       }
     },
     {
-      method: 'GET',
-      uri: 'http://example.com/redirected',
+      method: "GET",
+      uri: "http://example.com/redirected",
       details: {
         status: 404,
-        statusText: 'Not Found',
+        statusText: "Not Found",
         type: "html",
         fullMimeType: "text/html; charset=utf-8"
       }
     },
     {
-      method: 'GET',
+      method: "GET",
       uri: STATUS_CODES_SJS + "?sts=ok&cached",
       details: {
         status: 200,
         statusText: "OK (cached)",
         displayedStatus : "cached",
         type: "plain",
         fullMimeType: "text/plain; charset=utf-8"
       }
     },
     {
-      method: 'GET',
+      method: "GET",
       uri: STATUS_CODES_SJS + "?sts=redirect&cached",
       details: {
         status: 301,
         statusText: "Moved Permanently (cached)",
         displayedStatus: "cached",
         type: "html",
         fullMimeType: "text/html; charset=utf-8"
       }
     },
     {
-      method: 'GET',
-      uri: 'http://example.com/redirected',
+      method: "GET",
+      uri: "http://example.com/redirected",
       details: {
         status: 404,
-        statusText: 'Not Found',
+        statusText: "Not Found",
         type: "html",
         fullMimeType: "text/html; charset=utf-8"
       }
     }
   ];
 
   info("Performing requests #1...");
   debuggee.performCachedRequests();
--- a/devtools/client/netmonitor/test/browser_net_charts-01.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-01.js
@@ -1,12 +1,12 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: can't convert undefined to object");
 
 /**
  * Makes sure Pie Charts have the right internal structure.
--- a/devtools/client/netmonitor/test/browser_net_clear.js
+++ b/devtools/client/netmonitor/test/browser_net_clear.js
@@ -7,18 +7,18 @@
 
 function test() {
   initNetMonitor(SIMPLE_URL).then(([aTab, aDebuggee, aMonitor]) => {
     info("Starting test... ");
 
     let { document, $, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu } = NetMonitorView;
     let detailsPane = $("#details-pane");
-    let detailsPaneToggleButton = $('#details-pane-toggle');
-    let clearButton = $('#requests-menu-clear-button');
+    let detailsPaneToggleButton = $("#details-pane-toggle");
+    let clearButton = $("#requests-menu-clear-button");
 
     RequestsMenu.lazyUpdate = false;
 
     // Make sure we start in a sane state
     assertNoRequestState(RequestsMenu, detailsPaneToggleButton);
 
     // Load one request and assert it shows up in the lis
     aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.NETWORK_EVENT, () => {
--- a/devtools/client/netmonitor/test/browser_net_complex-params.js
+++ b/devtools/client/netmonitor/test/browser_net_complex-params.js
@@ -11,50 +11,50 @@ function test() {
     info("Starting test... ");
 
     let { document, L10N, EVENTS, Editor, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu, NetworkDetails } = NetMonitorView;
 
     RequestsMenu.lazyUpdate = false;
     NetworkDetails._params.lazyEmpty = false;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForNetworkEvents(aMonitor, 1, 6);
 
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.getElementById("details-pane-toggle"));
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.querySelectorAll("#details-pane tab")[2]);
 
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab1('a', '""', '{ "foo": "bar" }', '""');
+      yield testParamsTab1("a", '""', '{ "foo": "bar" }', '""');
 
       RequestsMenu.selectedIndex = 1;
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab1('a', '"b"', '{ "foo": "bar" }', '""');
+      yield testParamsTab1("a", '"b"', '{ "foo": "bar" }', '""');
 
       RequestsMenu.selectedIndex = 2;
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab1('a', '"b"', 'foo', '"bar"');
+      yield testParamsTab1("a", '"b"', "foo", '"bar"');
 
       RequestsMenu.selectedIndex = 3;
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab2('a', '""', '{ "foo": "bar" }', "js");
+      yield testParamsTab2("a", '""', '{ "foo": "bar" }', "js");
 
       RequestsMenu.selectedIndex = 4;
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab2('a', '"b"', '{ "foo": "bar" }', "js");
+      yield testParamsTab2("a", '"b"', '{ "foo": "bar" }', "js");
 
       RequestsMenu.selectedIndex = 5;
       yield waitFor(aMonitor.panelWin, EVENTS.REQUEST_POST_PARAMS_DISPLAYED);
-      yield testParamsTab2('a', '"b"', '?foo=bar', "text");
+      yield testParamsTab2("a", '"b"', "?foo=bar", "text");
 
       RequestsMenu.selectedIndex = 6;
       yield waitFor(aMonitor.panelWin, EVENTS.SIDEBAR_POPULATED);
-      yield testParamsTab3('a', '"b"');
+      yield testParamsTab3("a", '"b"');
 
       yield teardown(aMonitor);
       finish();
     });
 
     function testParamsTab1(
       aQueryStringParamName, aQueryStringParamValue, aFormDataParamName, aFormDataParamValue)
     {
--- a/devtools/client/netmonitor/test/browser_net_content-type.js
+++ b/devtools/client/netmonitor/test/browser_net_content-type.js
@@ -80,17 +80,17 @@ function test() {
           time: true
         });
 
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.getElementById("details-pane-toggle"));
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.querySelectorAll("#details-pane tab")[3]);
 
-      Task.spawn(function*() {
+      Task.spawn(function* () {
         yield waitForResponseBodyDisplayed();
         yield testResponseTab("xml");
         RequestsMenu.selectedIndex = 1;
         yield waitForTabUpdated();
         yield testResponseTab("css");
         RequestsMenu.selectedIndex = 2;
         yield waitForTabUpdated();
         yield testResponseTab("js");
@@ -236,20 +236,20 @@ function test() {
               is(aEditor.getMode(), Editor.modes.text,
                 "The mode active in the source editor is incorrect for the gzip request.");
             });
           }
 
         }
       }
 
-      function waitForTabUpdated () {
+      function waitForTabUpdated() {
         return waitFor(aMonitor.panelWin, aMonitor.panelWin.EVENTS.TAB_UPDATED);
       }
 
-      function waitForResponseBodyDisplayed () {
+      function waitForResponseBodyDisplayed() {
         return waitFor(aMonitor.panelWin, aMonitor.panelWin.EVENTS.RESPONSE_BODY_DISPLAYED);
       }
     });
 
     aDebuggee.performRequests();
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
@@ -22,29 +22,29 @@ function test() {
       "-H 'X-Custom-Header-3: Mon, 3 Mar 2014 11:11:11 GMT'",
       "-H 'Referer: " + CURL_URL + "'",
       "-H 'Connection: keep-alive'",
       "-H 'Pragma: no-cache'",
       "-H 'Cache-Control: no-cache'"
     ].join(" ");
 
     const EXPECTED_WIN_RESULT = [
-      'curl',
+      "curl",
       '"' + SIMPLE_SJS + '"',
       '-H "Host: example.com"',
       '-H "User-Agent: ' + navigator.userAgent + '"',
       '-H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"',
       '-H "Accept-Language: ' + navigator.language + '"',
       "--compressed",
       '-H "X-Custom-Header-1: Custom value"',
       '-H "X-Custom-Header-2: 8.8.8.8"',
       '-H "X-Custom-Header-3: Mon, 3 Mar 2014 11:11:11 GMT"',
       '-H "Referer: ' + CURL_URL + '"',
       '-H "Connection: keep-alive"',
-      '-H "Pragma: no-cache"', 
+      '-H "Pragma: no-cache"',
       '-H "Cache-Control: no-cache"'
     ].join(" ");
 
     const EXPECTED_RESULT = Services.appinfo.OS == "WINNT"
       ? EXPECTED_WIN_RESULT
       : EXPECTED_POSIX_RESULT;
 
     let { NetMonitorView } = aMonitor.panelWin;
@@ -65,13 +65,13 @@ function test() {
         ok(false, "Creating a cURL command for the currently selected item was unsuccessful.");
         cleanUp();
       });
 
     });
 
     aDebuggee.performRequest(SIMPLE_SJS);
 
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(finish);
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_copy_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_headers.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if copying a request's request/response headers works.
  */
 
-add_task(function*() {
+add_task(function* () {
 
   let [ aTab, aDebuggee, aMonitor ] = yield initNetMonitor(SIMPLE_URL);
   info("Starting test... ");
 
   let { NetMonitorView } = aMonitor.panelWin;
   let { RequestsMenu } = NetMonitorView;
 
   RequestsMenu.lazyUpdate = false;
--- a/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
@@ -26,13 +26,13 @@ function test() {
       }, function onFailure() {
         ok(false, "Copying the currently selected image as data uri was unsuccessful.");
         cleanUp();
       });
     });
 
     aDebuggee.performRequests();
 
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(finish);
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_copy_params.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_params.js
@@ -9,17 +9,17 @@ function test() {
   initNetMonitor(PARAMS_URL).then(([aTab, aDebuggee, aMonitor]) => {
     info("Starting test... ");
 
     let { document, L10N, EVENTS, Editor, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu, NetworkDetails } = NetMonitorView;
 
     RequestsMenu.lazyUpdate = false;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForNetworkEvents(aMonitor, 1, 6);
 
       RequestsMenu.selectedItem = RequestsMenu.getItemAtIndex(0);
       yield testCopyUrlParamsHidden(false);
       yield testCopyUrlParams("a");
       yield testCopyPostDataHidden(false);
       yield testCopyPostData("{ \"foo\": \"bar\" }");
 
--- a/devtools/client/netmonitor/test/browser_net_copy_response.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_response.js
@@ -28,13 +28,13 @@ function test() {
       }, function onFailure() {
         ok(false, "Copying the currently selected item's response was unsuccessful.");
         cleanUp();
       });
     });
 
     aDebuggee.performRequests();
 
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(finish);
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
@@ -29,13 +29,13 @@ function test() {
       }, function onFailure() {
         ok(false, "Clipboard contains an invalid data: URI");
         cleanUp();
       });
     });
 
     aDebuggee.performRequest(SVG_URL);
 
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(finish);
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_copy_url.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_url.js
@@ -24,13 +24,13 @@ function test() {
       }, function onFailure() {
         ok(false, "Copying the currently selected item's url was unsuccessful.");
         cleanUp();
       });
     });
 
     aDebuggee.performRequests(1);
 
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(finish);
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_curl-utils.js
+++ b/devtools/client/netmonitor/test/browser_net_curl-utils.js
@@ -17,17 +17,17 @@ function test() {
     waitForNetworkEvents(aMonitor, 1, 3).then(() => {
       let requests = {
         get: RequestsMenu.getItemAtIndex(0),
         post: RequestsMenu.getItemAtIndex(1),
         multipart: RequestsMenu.getItemAtIndex(2),
         multipartForm: RequestsMenu.getItemAtIndex(3)
       };
 
-      Task.spawn(function*() {
+      Task.spawn(function* () {
         yield createCurlData(requests.get.attachment, gNetwork).then((aData) => {
           test_findHeader(aData);
         });
 
         yield createCurlData(requests.post.attachment, gNetwork).then((aData) => {
           test_isUrlEncodedRequest(aData);
           test_writePostDataTextParams(aData);
         });
@@ -115,29 +115,29 @@ function test_removeBinaryDataFromMultip
     "\\r\\n\\r\\n",
     generatedBoundary,
     "--\\r\\n",
     "'"
   ].join("");
 
   const EXPECTED_WIN_RESULT = [
     '"' + boundary + '"^',
-    '\u000d\u000A\u000d\u000A',
+    "\u000d\u000A\u000d\u000A",
     '"Content-Disposition: form-data; name=""param1"""^',
-    '\u000d\u000A\u000d\u000A',
+    "\u000d\u000A\u000d\u000A",
     '"value1"^',
-    '\u000d\u000A',
+    "\u000d\u000A",
     '"' + boundary + '"^',
-    '\u000d\u000A\u000d\u000A',
+    "\u000d\u000A\u000d\u000A",
     '"Content-Disposition: form-data; name=""file""; filename=""filename.png"""^',
-    '\u000d\u000A',
+    "\u000d\u000A",
     '"Content-Type: image/png"^',
-    '\u000d\u000A\u000d\u000A',
+    "\u000d\u000A\u000d\u000A",
     '"' + generatedBoundary + '--"^',
-    '\u000d\u000A',
+    "\u000d\u000A",
     '""'
   ].join("");
 
   if (Services.appinfo.OS != "WINNT") {
     is(CurlUtils.escapeStringPosix(binaryRemoved), EXPECTED_POSIX_RESULT,
       "The mulitpart request payload should not contain binary data.");
   } else {
     is(CurlUtils.escapeStringWin(binaryRemoved), EXPECTED_WIN_RESULT,
@@ -200,17 +200,17 @@ function test_escapeStringWin() {
 
   let newLines = "line1\r\nline2\r\nline3";
   is(CurlUtils.escapeStringWin(newLines),
     '"line1"^\u000d\u000A"line2"^\u000d\u000A"line3"',
     "Newlines should be escaped.");
 }
 
 function createCurlData(aSelected, aNetwork) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     // Create a sanitized object for the Curl command generator.
     let data = {
       url: aSelected.url,
       method: aSelected.method,
       headers: [],
       httpVersion: aSelected.httpVersion,
       postDataText: null
     };
@@ -224,9 +224,9 @@ function createCurlData(aSelected, aNetw
     // Fetch the request payload.
     if (aSelected.requestPostData) {
       let postData = aSelected.requestPostData.postData.text;
       data.postDataText = yield aNetwork.getString(postData);
     }
 
     return data;
   });
-}
\ No newline at end of file
+}
--- a/devtools/client/netmonitor/test/browser_net_details-no-duplicated-content.js
+++ b/devtools/client/netmonitor/test/browser_net_details-no-duplicated-content.js
@@ -91,17 +91,17 @@ var test = Task.async(function* () {
 
     info("Performing a request");
     debuggee.performRequests(1, uri);
 
     info("Waiting for NETWORK_EVENT");
     yield onNetworkEvent;
 
     if (!RequestsMenu.getItemAtIndex(0)) {
-      info("Waiting for the request to be added to the view")
+      info("Waiting for the request to be added to the view");
       yield monitor.panelWin.once(monitor.panelWin.EVENTS.REQUEST_ADDED);
     }
 
     ok(true, "Received NETWORK_EVENT. Selecting the item.");
     let item = RequestsMenu.getItemAtIndex(0);
     RequestsMenu.selectedItem = item;
 
     info("Item selected. Waiting for NETWORKDETAILSVIEW_POPULATED");
--- a/devtools/client/netmonitor/test/browser_net_filter-01.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-01.js
@@ -211,79 +211,79 @@ function test() {
 
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(0),
         "GET", CONTENT_TYPE_SJS + "?fmt=html", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "html",
           fullMimeType: "text/html; charset=utf-8"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(1),
         "GET", CONTENT_TYPE_SJS + "?fmt=css", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "css",
           fullMimeType: "text/css; charset=utf-8"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(2),
         "GET", CONTENT_TYPE_SJS + "?fmt=js", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "js",
           fullMimeType: "application/javascript; charset=utf-8"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(3),
         "GET", CONTENT_TYPE_SJS + "?fmt=font", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "woff",
           fullMimeType: "font/woff"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(4),
         "GET", CONTENT_TYPE_SJS + "?fmt=image", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "png",
           fullMimeType: "image/png"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(5),
         "GET", CONTENT_TYPE_SJS + "?fmt=audio", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "ogg",
           fullMimeType: "audio/ogg"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(6),
         "GET", CONTENT_TYPE_SJS + "?fmt=video", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "webm",
           fullMimeType: "video/webm"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(7),
         "GET", CONTENT_TYPE_SJS + "?fmt=flash", {
           fuzzyUrl: true,
           status: 200,
           statusText: "OK",
           type: "x-shockwave-flash",
           fullMimeType: "application/x-shockwave-flash"
-      });
+        });
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(8),
         "GET", CONTENT_TYPE_SJS + "?fmt=ws", {
           fuzzyUrl: true,
           status: 101,
           statusText: "Switching Protocols",
-      });
+        });
 
       return promise.resolve(null);
     }
 
     loadCommonFrameScript();
     performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_filter-02.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-02.js
@@ -109,95 +109,95 @@ function test() {
       for (let i = 0; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=html", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "html",
             fullMimeType: "text/html; charset=utf-8"
-        });
+          });
       }
       for (let i = 1; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=css", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "css",
             fullMimeType: "text/css; charset=utf-8"
-        });
+          });
       }
       for (let i = 2; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=js", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "js",
             fullMimeType: "application/javascript; charset=utf-8"
-        });
+          });
       }
       for (let i = 3; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=font", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "woff",
             fullMimeType: "font/woff"
-        });
+          });
       }
       for (let i = 4; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=image", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "png",
             fullMimeType: "image/png"
-        });
+          });
       }
       for (let i = 5; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=audio", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "ogg",
             fullMimeType: "audio/ogg"
-        });
+          });
       }
       for (let i = 6; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=video", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "webm",
             fullMimeType: "video/webm"
-        });
+          });
       }
       for (let i = 7; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=flash", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "x-shockwave-flash",
             fullMimeType: "application/x-shockwave-flash"
-        });
+          });
       }
       for (let i = 8; i < aVisibility.length; i += 9) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(i),
           "GET", CONTENT_TYPE_SJS + "?fmt=ws", {
             fuzzyUrl: true,
             status: 101,
             statusText: "Switching Protocols"
-        });
+          });
       }
 
       return promise.resolve(null);
     }
 
     loadCommonFrameScript();
     performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
   });
--- a/devtools/client/netmonitor/test/browser_net_filter-03.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-03.js
@@ -112,77 +112,77 @@ function test() {
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i]),
           "GET", CONTENT_TYPE_SJS + "?fmt=html", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "html",
             fullMimeType: "text/html; charset=utf-8"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len]),
           "GET", CONTENT_TYPE_SJS + "?fmt=css", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "css",
             fullMimeType: "text/css; charset=utf-8"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len * 2]),
           "GET", CONTENT_TYPE_SJS + "?fmt=js", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "js",
             fullMimeType: "application/javascript; charset=utf-8"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len * 3]),
           "GET", CONTENT_TYPE_SJS + "?fmt=font", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "woff",
             fullMimeType: "font/woff"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len * 4]),
           "GET", CONTENT_TYPE_SJS + "?fmt=image", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "png",
             fullMimeType: "image/png"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len * 5]),
           "GET", CONTENT_TYPE_SJS + "?fmt=audio", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "ogg",
             fullMimeType: "audio/ogg"
-        });
+          });
       }
       for (let i = 0, len = aOrder.length / 7; i < len; i++) {
         verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOrder[i + len * 6]),
           "GET", CONTENT_TYPE_SJS + "?fmt=video", {
             fuzzyUrl: true,
             status: 200,
             statusText: "OK",
             type: "webm",
             fullMimeType: "video/webm"
-        });
+          });
       }
 
       return promise.resolve(null);
     }
 
     // The test assumes that the first HTML request here has a longer response
     // body than the other HTML requests performed later during the test.
     let requests = Cu.cloneInto(REQUESTS_WITH_MEDIA, {});
--- a/devtools/client/netmonitor/test/browser_net_footer-summary.js
+++ b/devtools/client/netmonitor/test/browser_net_footer-summary.js
@@ -73,17 +73,17 @@ function test() {
 
       EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-media-button"));
       testStatus();
 
       EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-flash-button"));
       testStatus();
 
       teardown(aMonitor).then(finish);
-    })
+    });
 
     function testStatus() {
       let summary = $("#requests-menu-network-summary-button");
       let value = summary.getAttribute("label");
       info("Current summary: " + value);
 
       let visibleItems = RequestsMenu.visibleItems;
       let visibleRequestsCount = visibleItems.length;
@@ -103,14 +103,14 @@ function test() {
 
       info("Computed total bytes: " + totalBytes);
       info("Computed total millis: " + totalMillis);
 
       is(value, PluralForm.get(visibleRequestsCount, L10N.getStr("networkMenu.summary"))
         .replace("#1", visibleRequestsCount)
         .replace("#2", L10N.numberWithDecimals((totalBytes || 0) / 1024, 2))
         .replace("#3", L10N.numberWithDecimals((totalMillis || 0) / 1000, 2))
-      , "The current summary text is incorrect.")
+      , "The current summary text is incorrect.");
     }
 
     aDebuggee.performRequests('{ "getMedia": true, "getFlash": true }');
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_image-tooltip.js
+++ b/devtools/client/netmonitor/test/browser_net_image-tooltip.js
@@ -58,17 +58,17 @@ function test() {
         aDebuggee.performRequests();
       });
     }
 
     /**
      * @return a promise that resolves when the tooltip is shown
      */
     function showTooltipOn(tooltip, element) {
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         let isValidTarget = yield tooltip._toggle.isValidHoverTarget(element);
         ok(isValidTarget, "Element is a valid tooltip target");
         let onShown = tooltip.once("shown");
         tooltip.show();
         yield onShown;
         return tooltip;
       });
     }
--- a/devtools/client/netmonitor/test/browser_net_json-long.js
+++ b/devtools/client/netmonitor/test/browser_net_json-long.js
@@ -20,17 +20,17 @@ function test() {
 
     waitForNetworkEvents(aMonitor, 1).then(() => {
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(0),
         "GET", CONTENT_TYPE_SJS + "?fmt=json-long", {
           status: 200,
           statusText: "OK",
           type: "json",
           fullMimeType: "text/json; charset=utf-8",
-          size: L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(85975/1024, 2)),
+          size: L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(85975 / 1024, 2)),
           time: true
         });
 
       aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.RESPONSE_BODY_DISPLAYED, () => {
         testResponseTab();
         teardown(aMonitor).then(finish);
       });
 
--- a/devtools/client/netmonitor/test/browser_net_jsonp.js
+++ b/devtools/client/netmonitor/test/browser_net_jsonp.js
@@ -30,17 +30,17 @@ function test() {
           status: 200,
           statusText: "OK",
           type: "json",
           fullMimeType: "text/json; charset=utf-8",
           size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 54),
           time: true
         });
 
-      Task.spawn(function*() {
+      Task.spawn(function* () {
         let RESPONSE_BODY_DISPLAYED = aMonitor.panelWin.EVENTS.RESPONSE_BODY_DISPLAYED;
 
         EventUtils.sendMouseEvent({ type: "mousedown" },
           document.getElementById("details-pane-toggle"));
         EventUtils.sendMouseEvent({ type: "mousedown" },
           document.querySelectorAll("#details-pane tab")[3]);
 
         yield waitFor(aMonitor.panelWin, RESPONSE_BODY_DISPLAYED);
--- a/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
+++ b/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
@@ -15,26 +15,26 @@ function test() {
     let { RequestsMenu } = NetMonitorView;
 
     RequestsMenu.lazyUpdate = false;
 
     waitForNetworkEvents(aMonitor, 1).then(() => {
       let requestItem = RequestsMenu.getItemAtIndex(0);
       RequestsMenu.selectedItem = requestItem;
 
-      gBrowser.tabContainer.addEventListener("TabOpen",function onOpen(event){
+      gBrowser.tabContainer.addEventListener("TabOpen", function onOpen(event) {
         ok(true, "A new tab has been opened ");
         gBrowser.tabContainer.removeEventListener("TabOpen", onOpen, false);
         cleanUp();
       }, false);
 
       RequestsMenu.openRequestInTab();
     });
 
     aDebuggee.performRequests(1);
-    function cleanUp(){
+    function cleanUp() {
       teardown(aMonitor).then(() => {
         gBrowser.removeCurrentTab();
         finish();
       });
     }
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_persistent_logs.js
+++ b/devtools/client/netmonitor/test/browser_net_persistent_logs.js
@@ -22,30 +22,30 @@ function test() {
   .then(() => {
     return waitForNetworkEvents(monitor, 2);
   })
   .then(() => {
     is(reqMenu.itemCount, 2,
       "The request menu should have two items at this point.");
   })
   .then(() => {
-     content.location.reload(true);
-     return waitForNetworkEvents(monitor, 2);
-   })
+    content.location.reload(true);
+    return waitForNetworkEvents(monitor, 2);
+  })
   .then(() => {
     // Since the reload clears the log, we still expect two requests in the log
     is(reqMenu.itemCount, 2,
       "The request menu should still have two items at this point.");
   })
   .then(() => {
     // Now we toggle the persistence logs on
-     Services.prefs.setBoolPref("devtools.webconsole.persistlog", true);
-     content.location.reload(true);
-     return waitForNetworkEvents(monitor, 2);
-   })
+    Services.prefs.setBoolPref("devtools.webconsole.persistlog", true);
+    content.location.reload(true);
+    return waitForNetworkEvents(monitor, 2);
+  })
   .then(() => {
     // Since we togged the persistence logs, we expect four items after the reload
     is(reqMenu.itemCount, 4,
       "The request menu should now have four items at this point.");
   })
   .then(() => {
     Services.prefs.setBoolPref("devtools.webconsole.persistlog", false);
     return teardown(monitor).then(finish);
--- a/devtools/client/netmonitor/test/browser_net_post-data-02.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-02.js
@@ -12,17 +12,17 @@ function test() {
 
     let { document, L10N, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu, NetworkDetails } = NetMonitorView;
 
     RequestsMenu.lazyUpdate = false;
     NetworkDetails._params.lazyEmpty = false;
 
     waitForNetworkEvents(aMonitor, 0, 1).then(() => {
-      NetMonitorView.toggleDetailsPane({ visible: true }, 2)
+      NetMonitorView.toggleDetailsPane({ visible: true }, 2);
       RequestsMenu.selectedIndex = 0;
 
       let TAB_UPDATED = aMonitor.panelWin.EVENTS.TAB_UPDATED;
       waitFor(aMonitor.panelWin, TAB_UPDATED).then(() => {
         let tab = document.querySelectorAll("#event-details-pane tab")[2];
         let tabpanel = document.querySelectorAll("#event-details-pane tabpanel")[2];
 
         is(tab.getAttribute("selected"), "true",
--- a/devtools/client/netmonitor/test/browser_net_post-data-03.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-03.js
@@ -10,17 +10,17 @@ function test() {
   initNetMonitor(POST_RAW_WITH_HEADERS_URL).then(([aTab, aDebuggee, aMonitor]) => {
     info("Starting test... ");
 
     let { document, L10N, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu, NetworkDetails } = NetMonitorView;
     let TAB_UPDATED = aMonitor.panelWin.EVENTS.TAB_UPDATED;
     RequestsMenu.lazyUpdate = false;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForNetworkEvents(aMonitor, 0, 1);
 
       NetMonitorView.toggleDetailsPane({ visible: true });
       RequestsMenu.selectedIndex = 0;
 
       yield waitFor(aMonitor.panelWin, TAB_UPDATED);
 
       let tab = document.querySelectorAll("#details-pane tab")[0];
@@ -29,17 +29,17 @@ function test() {
 
       is(tab.getAttribute("selected"), "true",
         "The headers tab in the network details pane should be selected.");
       is(tabpanel.querySelectorAll(".variables-view-scope").length, 3,
         "There should be 3 header scopes displayed in this tabpanel.");
 
       is(requestFromUploadScope.querySelector(".name").getAttribute("value"),
         L10N.getStr("requestHeadersFromUpload") + " (" +
-        L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(74/1024, 3)) + ")",
+        L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(74 / 1024, 3)) + ")",
         "The request headers from upload scope doesn't have the correct title.");
 
       is(requestFromUploadScope.querySelectorAll(".variables-view-variable").length, 2,
         "There should be 2 header values displayed in the request headers from upload scope.");
 
       is(requestFromUploadScope.querySelectorAll(".variables-view-variable .name")[0].getAttribute("value"),
         "content-type", "The first request header name was incorrect.");
       is(requestFromUploadScope.querySelectorAll(".variables-view-variable .value")[0].getAttribute("value"),
--- a/devtools/client/netmonitor/test/browser_net_raw_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_raw_headers.js
@@ -55,18 +55,18 @@ function testShowRawHeaders(aData) {
 /*
  * Tests that raw headers textareas are hidden and empty
  */
 function testHideRawHeaders(document) {
   let rawHeadersHidden = document.getElementById("raw-headers").getAttribute("hidden");
   let requestTextarea = document.getElementById("raw-request-headers-textarea");
   let responseTextare = document.getElementById("raw-response-headers-textarea");
   ok(rawHeadersHidden, "raw headers textareas are hidden");
-  ok(requestTextarea.value == '', "raw request headers textarea is empty");
-  ok(responseTextare.value == '', "raw response headers textarea is empty");
+  ok(requestTextarea.value == "", "raw request headers textarea is empty");
+  ok(responseTextare.value == "", "raw response headers textarea is empty");
 }
 
 function finishUp(aMonitor) {
   gPanelWin = null;
   gPanelDoc = null;
 
   teardown(aMonitor).then(finish);
 }
--- a/devtools/client/netmonitor/test/browser_net_reload-markers.js
+++ b/devtools/client/netmonitor/test/browser_net_reload-markers.js
@@ -1,45 +1,45 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if the empty-requests reload button works.
  */
 
  add_task(function* () {
-  let [tab, debuggee, monitor] = yield initNetMonitor(SINGLE_GET_URL);
-  info("Starting test... ");
+   let [tab, debuggee, monitor] = yield initNetMonitor(SINGLE_GET_URL);
+   info("Starting test... ");
 
-  let { document, EVENTS, NetworkEventsHandler } = monitor.panelWin;
-  let button = document.querySelector("#requests-menu-reload-notice-button");
-  button.click();
+   let { document, EVENTS, NetworkEventsHandler } = monitor.panelWin;
+   let button = document.querySelector("#requests-menu-reload-notice-button");
+   button.click();
 
-  let deferred = promise.defer();
-  let markers = [];
+   let deferred = promise.defer();
+   let markers = [];
 
-  monitor.panelWin.on(EVENTS.TIMELINE_EVENT, (_, marker) => {
-    markers.push(marker);
-  });
+   monitor.panelWin.on(EVENTS.TIMELINE_EVENT, (_, marker) => {
+     markers.push(marker);
+   });
 
-  yield waitForNetworkEvents(monitor, 2);
-  yield waitUntil(() => markers.length == 2);
+   yield waitForNetworkEvents(monitor, 2);
+   yield waitUntil(() => markers.length == 2);
 
-  ok(true, "Reloading finished");
+   ok(true, "Reloading finished");
 
-  is(markers[0].name, "document::DOMContentLoaded",
+   is(markers[0].name, "document::DOMContentLoaded",
     "The first received marker is correct.");
-  is(markers[1].name, "document::Load",
+   is(markers[1].name, "document::Load",
     "The second received marker is correct.");
 
-  teardown(monitor).then(finish);
-});
+   teardown(monitor).then(finish);
+ });
 
-function waitUntil(predicate, interval = 10) {
-  if (predicate()) {
-    return Promise.resolve(true);
-  }
-  return new Promise(resolve => {
-    setTimeout(function() {
-      waitUntil(predicate).then(() => resolve(true));
-    }, interval);
-  });
-}
+ function waitUntil(predicate, interval = 10) {
+   if (predicate()) {
+     return Promise.resolve(true);
+   }
+   return new Promise(resolve => {
+     setTimeout(function () {
+       waitUntil(predicate).then(() => resolve(true));
+     }, interval);
+   });
+ }
--- a/devtools/client/netmonitor/test/browser_net_req-resp-bodies.js
+++ b/devtools/client/netmonitor/test/browser_net_req-resp-bodies.js
@@ -16,17 +16,17 @@ function test() {
 
     function verifyRequest(aOffset) {
       verifyRequestItemTarget(RequestsMenu.getItemAtIndex(aOffset),
         "GET", CONTENT_TYPE_SJS + "?fmt=json-long", {
           status: 200,
           statusText: "OK",
           type: "json",
           fullMimeType: "text/json; charset=utf-8",
-          size: L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(85975/1024, 2)),
+          size: L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(85975 / 1024, 2)),
           time: true
         });
     }
 
     waitForNetworkEvents(aMonitor, 1).then(() => {
       verifyRequest(0);
 
       aMonitor._toolbox.once("webconsole-selected", () => {
--- a/devtools/client/netmonitor/test/browser_net_resend.js
+++ b/devtools/client/netmonitor/test/browser_net_resend.js
@@ -150,17 +150,17 @@ function editCustomForm(callback) {
  * Make sure newly created event matches expected request
  */
 function testSentRequest(aData, aOrigData) {
   is(aData.method, aOrigData.method, "correct method in sent request");
   is(aData.url, aOrigData.url + "&" + ADD_QUERY, "correct url in sent request");
 
   let hasHeader = aData.requestHeaders.headers.some((header) => {
     return (header.name + ": " + header.value) == ADD_HEADER;
-  })
+  });
   ok(hasHeader, "new header added to sent request");
 
   is(aData.requestPostData.postData.text,
      aOrigData.requestPostData.postData.text + ADD_POSTDATA,
      "post data added to sent request");
 }
 
 
--- a/devtools/client/netmonitor/test/browser_net_send-beacon-other-tab.js
+++ b/devtools/client/netmonitor/test/browser_net_send-beacon-other-tab.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if beacons from other tabs are properly ignored.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let [, debuggee, monitor] = yield initNetMonitor(SIMPLE_URL);
   let { RequestsMenu } = monitor.panelWin.NetMonitorView;
   RequestsMenu.lazyUpdate = false;
 
   let tab = yield addTab(SEND_BEACON_URL);
   let beaconDebuggee = tab.linkedBrowser.contentWindow.wrappedJSObject;
   info("Beacon tab added successfully.");
 
--- a/devtools/client/netmonitor/test/browser_net_send-beacon.js
+++ b/devtools/client/netmonitor/test/browser_net_send-beacon.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if beacons are handled correctly.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let [, debuggee, monitor] = yield initNetMonitor(SEND_BEACON_URL);
   let { RequestsMenu } = monitor.panelWin.NetMonitorView;
 
   RequestsMenu.lazyUpdate = false;
 
   is(RequestsMenu.itemCount, 0, "The requests menu should be empty.");
 
   debuggee.performRequest();
--- a/devtools/client/netmonitor/test/browser_net_service-worker-status.js
+++ b/devtools/client/netmonitor/test/browser_net_service-worker-status.js
@@ -5,33 +5,33 @@
 
 /**
  * Tests if requests intercepted by service workers have the correct status code
  */
 
 // Service workers only work on https
 const URL = EXAMPLE_URL.replace("http:", "https:");
 
-const TEST_URL =  URL + "service-workers/status-codes.html";
+const TEST_URL = URL + "service-workers/status-codes.html";
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let [tab, debuggee, monitor] = yield initNetMonitor(TEST_URL, null, true);
   info("Starting test... ");
 
   let { document, L10N, NetMonitorView } = monitor.panelWin;
   let { RequestsMenu, NetworkDetails } = NetMonitorView;
 
   const REQUEST_DATA = [
     {
-      method: 'GET',
+      method: "GET",
       uri: URL + "service-workers/test/200",
       details: {
         status: 200,
-        statusText: 'OK (service worker)',
-        displayedStatus: 'service worker',
+        statusText: "OK (service worker)",
+        displayedStatus: "service worker",
         type: "plain",
         fullMimeType: "text/plain; charset=UTF-8"
       }
     },
   ];
 
   info("Registering the service worker...");
   yield debuggee.registerServiceWorker();
--- a/devtools/client/netmonitor/test/browser_net_simple-request-data.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request-data.js
@@ -105,17 +105,17 @@ function test() {
         "There should be a requestCookies attachment available.");
       is(requestItem.attachment.requestCookies.cookies.length, 2,
         "The requestCookies attachment has an incorrect |cookies| property.");
 
       verifyRequestItemTarget(requestItem, "GET", SIMPLE_SJS);
     });
 
     aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.RECEIVED_REQUEST_POST_DATA, () => {
-      ok(false, "Trap listener: this request doesn't have any post data.")
+      ok(false, "Trap listener: this request doesn't have any post data.");
     });
 
     aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.RECEIVED_RESPONSE_HEADERS, () => {
       let requestItem = RequestsMenu.getItemAtIndex(0);
 
       ok(requestItem.attachment.responseHeaders,
         "There should be a responseHeaders attachment available.");
       is(requestItem.attachment.responseHeaders.headers.length, 10,
--- a/devtools/client/netmonitor/test/browser_net_simple-request-details.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request-details.js
@@ -9,17 +9,17 @@ function test() {
   initNetMonitor(SIMPLE_SJS).then(([aTab, aDebuggee, aMonitor]) => {
     info("Starting test... ");
 
     let { document, L10N, Editor, NetMonitorView } = aMonitor.panelWin;
     let { RequestsMenu, NetworkDetails } = NetMonitorView;
     let TAB_UPDATED = aMonitor.panelWin.EVENTS.TAB_UPDATED;
     RequestsMenu.lazyUpdate = false;
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield waitForNetworkEvents(aMonitor, 1);
       is(RequestsMenu.selectedItem, null,
         "There shouldn't be any selected item in the requests menu.");
       is(RequestsMenu.itemCount, 1,
         "The requests menu should not be empty after the first request.");
       is(NetMonitorView.detailsPaneHidden, true,
         "The details pane should still be hidden after the first request.");
 
@@ -28,17 +28,17 @@ function test() {
 
       isnot(RequestsMenu.selectedItem, null,
         "There should be a selected item in the requests menu.");
       is(RequestsMenu.selectedIndex, 0,
         "The first item should be selected in the requests menu.");
       is(NetMonitorView.detailsPaneHidden, false,
         "The details pane should not be hidden after toggle button was pressed.");
 
-      yield waitFor(aMonitor.panelWin, TAB_UPDATED)
+      yield waitFor(aMonitor.panelWin, TAB_UPDATED);
       testHeadersTab();
       yield testCookiesTab();
       testParamsTab();
       yield testResponseTab();
       testTimingsTab();
       yield teardown(aMonitor);
       finish();
     });
@@ -71,17 +71,17 @@ function test() {
       is(tabpanel.querySelectorAll(".variables-view-empty-notice").length, 0,
         "The empty notice should not be displayed in this tabpanel.");
 
       let responseScope = tabpanel.querySelectorAll(".variables-view-scope")[0];
       let requestScope = tabpanel.querySelectorAll(".variables-view-scope")[1];
 
       is(responseScope.querySelector(".name").getAttribute("value"),
         L10N.getStr("responseHeaders") + " (" +
-        L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(330/1024, 3)) + ")",
+        L10N.getFormatStr("networkMenu.sizeKB", L10N.numberWithDecimals(330 / 1024, 3)) + ")",
         "The response headers scope doesn't have the correct title.");
 
       ok(requestScope.querySelector(".name").getAttribute("value").includes(
         L10N.getStr("requestHeaders") + " (0"),
         "The request headers scope doesn't have the correct title.");
       // Can't test for full request headers title because the size may
       // vary across platforms ("User-Agent" header differs). We're pretty
       // sure it's smaller than 1 MB though, so it starts with a 0.
@@ -124,17 +124,17 @@ function test() {
       is(requestScope.querySelectorAll(".variables-view-variable .value")[8].getAttribute("value"),
         "\"no-cache\"", "The last request header value was incorrect.");
     }
 
     function testCookiesTab() {
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.querySelectorAll("#details-pane tab")[1]);
 
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         yield waitFor(aMonitor.panelWin, TAB_UPDATED);
 
         let tab = document.querySelectorAll("#details-pane tab")[1];
         let tabpanel = document.querySelectorAll("#details-pane tabpanel")[1];
 
         is(tab.getAttribute("selected"), "true",
           "The cookies tab in the network details pane should be selected.");
 
@@ -169,17 +169,17 @@ function test() {
         .hasAttribute("hidden"), true,
         "The request post data textarea box should be hidden.");
     }
 
     function testResponseTab() {
       EventUtils.sendMouseEvent({ type: "mousedown" },
         document.querySelectorAll("#details-pane tab")[3]);
 
-      return Task.spawn(function*() {
+      return Task.spawn(function* () {
         yield waitFor(aMonitor.panelWin, TAB_UPDATED);
 
         let tab = document.querySelectorAll("#details-pane tab")[3];
         let tabpanel = document.querySelectorAll("#details-pane tabpanel")[3];
 
         is(tab.getAttribute("selected"), "true",
           "The response tab in the network details pane should be selected.");
 
--- a/devtools/client/netmonitor/test/browser_net_statistics-01.js
+++ b/devtools/client/netmonitor/test/browser_net_statistics-01.js
@@ -35,22 +35,22 @@ function test() {
         waitFor(panel, EVENTS.PRIMED_CACHE_CHART_DISPLAYED),
         waitFor(panel, EVENTS.EMPTY_CACHE_CHART_DISPLAYED)
       ]).then(() => {
         is($("#primed-cache-chart").childNodes.length, 1,
           "There should be a real primed cache chart created now.");
         is($("#empty-cache-chart").childNodes.length, 1,
           "There should be a real empty cache chart created now.");
 
-        Task.spawn(function*() {
+        Task.spawn(function* () {
           yield until(() => $all(".pie-chart-container:not([placeholder=true])").length == 2);
           ok(true, "Two real pie charts appear to be rendered correctly.");
 
           yield until(() => $all(".table-chart-container:not([placeholder=true])").length == 2);
-          ok(true, "Two real table charts appear to be rendered correctly.")
+          ok(true, "Two real table charts appear to be rendered correctly.");
 
           teardown(aMonitor).then(finish);
         });
       });
     });
 
     NetMonitorView.toggleFrontendMode();
 
@@ -61,12 +61,12 @@ function test() {
 
 function waitForTick() {
   let deferred = promise.defer();
   executeSoon(deferred.resolve);
   return deferred.promise;
 }
 
 function until(predicate) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     while (!predicate()) yield waitForTick();
   });
 }
--- a/devtools/client/netmonitor/test/browser_net_status-codes.js
+++ b/devtools/client/netmonitor/test/browser_net_status-codes.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 /**
  * Tests if requests display the correct status code and text in the UI.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let [tab, debuggee, monitor] = yield initNetMonitor(STATUS_CODES_URL);
 
   info("Starting test... ");
 
   let { document, L10N, NetMonitorView } = monitor.panelWin;
   let { RequestsMenu, NetworkDetails } = NetMonitorView;
   let requestItems = [];
 
--- a/devtools/client/netmonitor/test/browser_net_streaming-response.js
+++ b/devtools/client/netmonitor/test/browser_net_streaming-response.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if reponses from streaming content types (MPEG-DASH, HLS) are
  * displayed as XML or plain text
  */
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let [tab, debuggee, monitor] = yield initNetMonitor(CUSTOM_GET_URL);
 
     info("Starting test... ");
     let { panelWin } = monitor;
     let { document, Editor, NetMonitorView } = panelWin;
     let { RequestsMenu } = NetMonitorView;
 
     const REQUESTS = [
--- a/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
+++ b/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
@@ -67,32 +67,32 @@ function test() {
         "A 2d context should be created after the first request.");
 
       let imageData = RequestsMenu._ctx.getImageData(0, 0, 161, 1);
       ok(imageData, "The image data should have been created.");
 
       let data = imageData.data;
       ok(data, "The image data should contain a pixel array.");
 
-      ok( hasPixelAt(0), "The tick at 0 is should not be empty.");
+      ok(hasPixelAt(0), "The tick at 0 is should not be empty.");
       ok(!hasPixelAt(1), "The tick at 1 is should be empty.");
       ok(!hasPixelAt(19), "The tick at 19 is should be empty.");
-      ok( hasPixelAt(20), "The tick at 20 is should not be empty.");
+      ok(hasPixelAt(20), "The tick at 20 is should not be empty.");
       ok(!hasPixelAt(21), "The tick at 21 is should be empty.");
       ok(!hasPixelAt(39), "The tick at 39 is should be empty.");
-      ok( hasPixelAt(40), "The tick at 40 is should not be empty.");
+      ok(hasPixelAt(40), "The tick at 40 is should not be empty.");
       ok(!hasPixelAt(41), "The tick at 41 is should be empty.");
       ok(!hasPixelAt(59), "The tick at 59 is should be empty.");
-      ok( hasPixelAt(60), "The tick at 60 is should not be empty.");
+      ok(hasPixelAt(60), "The tick at 60 is should not be empty.");
       ok(!hasPixelAt(61), "The tick at 61 is should be empty.");
       ok(!hasPixelAt(79), "The tick at 79 is should be empty.");
-      ok( hasPixelAt(80), "The tick at 80 is should not be empty.");
+      ok(hasPixelAt(80), "The tick at 80 is should not be empty.");
       ok(!hasPixelAt(81), "The tick at 81 is should be empty.");
       ok(!hasPixelAt(159), "The tick at 159 is should be empty.");
-      ok( hasPixelAt(160), "The tick at 160 is should not be empty.");
+      ok(hasPixelAt(160), "The tick at 160 is should not be empty.");
       ok(!hasPixelAt(161), "The tick at 161 is should be empty.");
 
       ok(isPixelBrighterAtThan(0, 20),
         "The tick at 0 should be brighter than the one at 20");
       ok(isPixelBrighterAtThan(40, 20),
         "The tick at 40 should be brighter than the one at 20");
       ok(isPixelBrighterAtThan(40, 60),
         "The tick at 40 should be brighter than the one at 60");
--- a/devtools/client/netmonitor/test/head.js
+++ b/devtools/client/netmonitor/test/head.js
@@ -48,17 +48,17 @@ const CONTENT_TYPE_SJS = EXAMPLE_URL + "
 const STATUS_CODES_SJS = EXAMPLE_URL + "sjs_status-codes-test-server.sjs";
 const SORTING_SJS = EXAMPLE_URL + "sjs_sorting-test-server.sjs";
 const HTTPS_REDIRECT_SJS = EXAMPLE_URL + "sjs_https-redirect-test-server.sjs";
 const CORS_SJS_PATH = "/browser/devtools/client/netmonitor/test/sjs_cors-test-server.sjs";
 
 const TEST_IMAGE = EXAMPLE_URL + "test-image.png";
 const TEST_IMAGE_DATA_URI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==";
 
-const FRAME_SCRIPT_UTILS_URL = "chrome://devtools/content/shared/frame-script-utils.js"
+const FRAME_SCRIPT_UTILS_URL = "chrome://devtools/content/shared/frame-script-utils.js";
 
 DevToolsUtils.testing = true;
 SimpleTest.registerCleanupFunction(() => {
   DevToolsUtils.testing = false;
 });
 
 // All tests are asynchronous.
 waitForExplicitFinish();
@@ -120,41 +120,41 @@ function waitForNavigation(aTarget) {
   });
   return deferred.promise;
 }
 
 function reconfigureTab(aTarget, aOptions) {
   let deferred = promise.defer();
   aTarget.activeTab.reconfigure(aOptions, deferred.resolve);
   return deferred.promise;
-};
+}
 
 function toggleCache(aTarget, aDisabled) {
   let options = { cacheDisabled: aDisabled, performReload: true };
   let navigationFinished = waitForNavigation(aTarget);
 
   // Disable the cache for any toolbox that it is opened from this point on.
   Services.prefs.setBoolPref("devtools.cache.disabled", aDisabled);
 
   return reconfigureTab(aTarget, options).then(() => navigationFinished);
 }
 
 function initNetMonitor(aUrl, aWindow, aEnableCache) {
   info("Initializing a network monitor pane.");
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     info("Net tab added successfully: " + aUrl);
 
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
     info("Target remoted.");
 
-    if(!aEnableCache) {
+    if (!aEnableCache) {
       yield toggleCache(target, true);
       info("Cache disabled when the current and all future toolboxes are open.");
       // Remove any requests generated by the reload while toggling the cache to
       // avoid interfering with the test.
       isnot([...target.activeConsole.getNetworkEvents()].length, 0,
          "Request to reconfigure the tab was recorded.");
       target.activeConsole.clearNetworkRequests();
     }
@@ -244,17 +244,17 @@ function waitForNetworkEvents(aMonitor, 
 
   function maybeResolve(event, actor) {
     info("> Network events progress: " +
       genericEvents + "/" + ((aGetRequests + aPostRequests) * 13) + ", " +
       postEvents + "/" + (aPostRequests * 2) + ", " +
       "got " + event + " for " + actor);
 
     let networkInfo =
-      panel.NetMonitorController.webConsoleClient.getNetworkRequest(actor)
+      panel.NetMonitorController.webConsoleClient.getNetworkRequest(actor);
     let url = networkInfo.request.url;
     updateProgressForURL(url, event);
 
     info("> Current state: " + JSON.stringify(progress, null, 2));
 
     // There are 15 updates which need to be fired for a request to be
     // considered finished. The "requestPostData" packet isn't fired for
     // non-POST requests.
@@ -268,28 +268,28 @@ function waitForNetworkEvents(aMonitor, 
 
   awaitedEventsToListeners.forEach(([e, l]) => panel.on(events[e], l));
   return deferred.promise;
 }
 
 function verifyRequestItemTarget(aRequestItem, aMethod, aUrl, aData = {}) {
   info("> Verifying: " + aMethod + " " + aUrl + " " + aData.toSource());
   // This bloats log sizes significantly in automation (bug 992485)
-  //info("> Request: " + aRequestItem.attachment.toSource());
+  // info("> Request: " + aRequestItem.attachment.toSource());
 
   let requestsMenu = aRequestItem.ownerView;
   let widgetIndex = requestsMenu.indexOfItem(aRequestItem);
   let visibleIndex = requestsMenu.visibleItems.indexOf(aRequestItem);
 
   info("Widget index of item: " + widgetIndex);
   info("Visible index of item: " + visibleIndex);
 
   let { fuzzyUrl, status, statusText, type, fullMimeType,
         transferred, size, time, displayedStatus } = aData;
-  let { attachment, target } = aRequestItem
+  let { attachment, target } = aRequestItem;
 
   let uri = Services.io.newURI(aUrl, null, null).QueryInterface(Ci.nsIURL);
   let unicodeUrl = NetworkHelper.convertToUnicode(unescape(aUrl));
   let name = NetworkHelper.convertToUnicode(unescape(uri.fileName || uri.filePath || "/"));
   let query = NetworkHelper.convertToUnicode(unescape(uri.query));
   let hostPort = uri.hostPort;
   let remoteAddress = attachment.remoteAddress;
 
@@ -388,17 +388,17 @@ function verifyRequestItemTarget(aReques
  *
  * @param object subject
  *        The event emitter object that is being listened to.
  * @param string eventName
  *        The name of the event to listen to.
  * @return object
  *        Returns a promise that resolves upon firing of the event.
  */
-function waitFor (subject, eventName) {
+function waitFor(subject, eventName) {
   let deferred = promise.defer();
   subject.once(eventName, deferred.resolve);
   return deferred.promise;
 }
 
 /**
  * Tests if a button for a filter of given type is the only one checked.
  *
@@ -456,17 +456,17 @@ function loadCommonFrameScript(tab) {
  * @param Array requests
  *        An array of objects specifying the requests to perform. See
  *        shared/frame-script-utils.js for more information.
  *
  * @return A promise that resolves once the requests complete.
  */
 function performRequestsInContent(requests) {
   info("Performing requests in the context of the content.");
-  return executeInContent("devtools:test:xhr", requests)
+  return executeInContent("devtools:test:xhr", requests);
 }
 
 /**
  * Send an async message to the frame script (chrome -> content) and wait for a
  * response message with the same name (content -> chrome).
  *
  * @param String name
  *        The message name. Should be one of the messages defined
@@ -478,17 +478,17 @@ function performRequestsInContent(reques
  * @param Boolean expectResponse
  *        If set to false, don't wait for a response with the same name from the
  *        content script. Defaults to true.
  *
  * @return Promise
  *         Resolves to the response data if a response is expected, immediately
  *         resolves otherwise
  */
-function executeInContent(name, data={}, objects={}, expectResponse=true) {
+function executeInContent(name, data = {}, objects = {}, expectResponse = true) {
   let mm = gBrowser.selectedBrowser.messageManager;
 
   mm.sendAsyncMessage(name, data, objects);
   if (expectResponse) {
     return waitForContentMessage(name);
   } else {
     return promise.resolve();
   }
--- a/devtools/client/netmonitor/test/service-workers/status-codes-service-worker.js
+++ b/devtools/client/netmonitor/test/service-workers/status-codes-service-worker.js
@@ -1,8 +1,8 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-addEventListener("fetch", function(event) {
+addEventListener("fetch", function (event) {
   let response = new Response("Service worker response");
   event.respondWith(response);
 });
--- a/devtools/client/performance/components/jit-optimizations-item.js
+++ b/devtools/client/performance/components/jit-optimizations-item.js
@@ -41,23 +41,23 @@ const JITOptimizationsItem = module.expo
       focused,
       type,
       frameData,
       onViewSourceInDebugger,
     } = this.props;
 
     let content;
     switch (type) {
-      case "site":         content = this._renderSite(this.props); break;
-      case "attempts":     content = this._renderAttempts(this.props); break;
-      case "types":        content = this._renderTypes(this.props); break;
-      case "attempt":      content = this._renderAttempt(this.props); break;
-      case "type":         content = this._renderType(this.props); break;
+      case "site": content = this._renderSite(this.props); break;
+      case "attempts": content = this._renderAttempts(this.props); break;
+      case "types": content = this._renderTypes(this.props); break;
+      case "attempt": content = this._renderAttempt(this.props); break;
+      case "type": content = this._renderType(this.props); break;
       case "observedtype": content = this._renderObservedType(this.props); break;
-    };
+    }
 
     return dom.div(
       {
         className: `optimization-tree-item optimization-tree-item-${type}`,
         style: { marginLeft: depth * TREE_ROW_HEIGHT }
       },
       arrow,
       content
@@ -86,17 +86,17 @@ const JITOptimizationsItem = module.expo
     );
     let frame = Frame({
       onClick: () => onViewSourceInDebugger(frameData.url, site.data.line),
       frame: {
         source: frameData.url,
         line: +site.data.line,
         column: site.data.column,
       }
-    })
+    });
     let children = [text, frame];
 
     if (!hasSuccessfulOutcome(site)) {
       children.unshift(dom.span({ className: "opt-icon warning" }));
     }
 
     return dom.span({ className: "optimization-site" }, ...children);
   },
--- a/devtools/client/performance/components/jit-optimizations.js
+++ b/devtools/client/performance/components/jit-optimizations.js
@@ -10,17 +10,17 @@ const L10N = new LocalizationHelper(STRI
 
 const { assert } = require("devtools/shared/DevToolsUtils");
 const { DOM: dom, createClass, createFactory, PropTypes } = require("devtools/client/shared/vendor/react");
 const Tree = createFactory(require("../../shared/components/tree"));
 const OptimizationsItem = createFactory(require("./jit-optimizations-item"));
 const FrameView = createFactory(require("../../shared/components/frame"));
 
 const onClickTooltipString = frame =>
-  L10N.getFormatStr("viewsourceindebugger",`${frame.source}:${frame.line}:${frame.column}`);
+  L10N.getFormatStr("viewsourceindebugger", `${frame.source}:${frame.line}:${frame.column}`);
 const JIT_TITLE = L10N.getStr("jit.title");
 // If TREE_ROW_HEIGHT changes, be sure to change `var(--jit-tree-row-height)`
 // in `devtools/client/themes/jit-optimizations.css`
 const TREE_ROW_HEIGHT = 14;
 
 const optimizationAttemptModel = {
   id: PropTypes.number.isRequired,
   strategy: PropTypes.string.isRequired,
@@ -130,18 +130,18 @@ const JITOptimizations = module.exports 
     let isType = type => getSite(type.id).data.types.indexOf(type) !== -1;
     let isObservedType = type => getIonTypeForObserved(type);
 
     let getRowType = node => {
       return isSite(node) ? "site" :
              isAttempts(node) ? "attempts" :
              isTypes(node) ? "types" :
              isAttempt(node) ? "attempt" :
-             isType(node) ? "type":
-             isObservedType(node) ? "observedtype": null;
+             isType(node) ? "type" :
+             isObservedType(node) ? "observedtype" : null;
     };
 
     // Creates a unique key for each node in the
     // optimizations data
     let getKey = node => {
       let site = getSite(node.id);
       if (isSite(node)) {
         return node.id;
--- a/devtools/client/performance/components/test/head.js
+++ b/devtools/client/performance/components/test/head.js
@@ -15,18 +15,18 @@ var { TargetFactory } = require("devtool
 var { Toolbox } = require("devtools/client/framework/toolbox");
 
 DevToolsUtils.testing = true;
 var { require: browserRequire } = BrowserLoader({
   baseURI: "resource://devtools/client/performance/",
   window: this
 });
 
-var $ = (selector, scope=document) => scope.querySelector(selector);
-var $$ = (selector, scope=document) => scope.querySelectorAll(selector);
+var $ = (selector, scope = document) => scope.querySelector(selector);
+var $$ = (selector, scope = document) => scope.querySelectorAll(selector);
 
 function forceRender(comp) {
   return setState(comp, {})
     .then(() => setState(comp, {}));
 }
 
 // All tests are asynchronous.
 SimpleTest.waitForExplicitFinish();
@@ -118,26 +118,26 @@ OPTS_DATA_GENERAL.forEach(site => {
       type.typeset.id = site.id;
     }
   });
   site.data.attempts.id = site.id;
   site.data.types.id = site.id;
 });
 
 
-function checkOptimizationHeader (name, file, line) {
+function checkOptimizationHeader(name, file, line) {
   is($(".optimization-header .header-function-name").textContent, name,
     "correct optimization header function name");
   is($(".optimization-header .frame-link-filename").textContent, file,
     "correct optimization header file name");
   is($(".optimization-header .frame-link-line").textContent, line,
     "correct optimization header line");
 }
 
-function checkOptimizationTree (rowData) {
+function checkOptimizationTree(rowData) {
   let rows = $$(".tree .tree-node");
 
   for (let i = 0; i < rowData.length; i++) {
     let row = rows[i];
     let expected = rowData[i];
 
     switch (expected.type) {
       case "site":
--- a/devtools/client/performance/legacy/actors.js
+++ b/devtools/client/performance/legacy/actors.js
@@ -24,30 +24,30 @@ const TIMELINE_ACTOR_METHODS = [
 const PROFILER_ACTOR_METHODS = [
   "startProfiler", "getStartOptions", "stopProfiler",
   "registerEventNotifications", "unregisterEventNotifications"
 ];
 
 /**
  * Constructor for a facade around an underlying ProfilerFront.
  */
-function LegacyProfilerFront (target) {
+function LegacyProfilerFront(target) {
   this._target = target;
   this._onProfilerEvent = this._onProfilerEvent.bind(this);
   this._checkProfilerStatus = this._checkProfilerStatus.bind(this);
   this._PROFILER_CHECK_TIMER = this._target.TEST_MOCK_PROFILER_CHECK_TIMER || PROFILER_CHECK_TIMER;
 
   EventEmitter.decorate(this);
 }
 
 LegacyProfilerFront.prototype = {
   EVENTS: ["console-api-profiler", "profiler-stopped"],
 
   // Connects to the targets underlying real ProfilerFront.
-  connect: Task.async(function*() {
+  connect: Task.async(function* () {
     let target = this._target;
     this._front = new ProfilerFront(target.client, target.form);
 
     // Fetch and store information about the SPS profiler and
     // server profiler.
     this.traits = {};
     this.traits.filterable = target.getTrait("profilerDataFilterable");
 
@@ -55,32 +55,32 @@ LegacyProfilerFront.prototype = {
     // to hook into `console.profile|profileEnd` calls.
     yield this.registerEventNotifications({ events: this.EVENTS });
     target.client.addListener("eventNotification", this._onProfilerEvent);
   }),
 
   /**
    * Unregisters events for the underlying profiler actor.
    */
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     if (this._poller) {
       yield this._poller.destroy();
     }
     yield this.unregisterEventNotifications({ events: this.EVENTS });
     this._target.client.removeListener("eventNotification", this._onProfilerEvent);
     yield this._front.destroy();
   }),
 
   /**
    * Starts the profiler actor, if necessary.
    *
    * @option {number?} bufferSize
    * @option {number?} sampleFrequency
    */
-  start: Task.async(function *(options={}) {
+  start: Task.async(function* (options = {}) {
     // Check for poller status even if the profiler is already active --
     // profiler can be activated via `console.profile` or another source, like
     // the Gecko Profiler.
     if (!this._poller) {
       this._poller = new Poller(this._checkProfilerStatus, this._PROFILER_CHECK_TIMER, false);
     }
     if (!this._poller.isPolling()) {
       this._poller.on();
@@ -100,36 +100,36 @@ LegacyProfilerFront.prototype = {
     // options for the nsIProfiler
     let profilerOptions = {
       entries: options.bufferSize,
       interval: options.sampleFrequency ? (1000 / (options.sampleFrequency * 1000)) : void 0
     };
 
     let startInfo = yield this.startProfiler(profilerOptions);
     let startTime = 0;
-    if ('currentTime' in startInfo) {
+    if ("currentTime" in startInfo) {
       startTime = startInfo.currentTime;
     }
 
     return { startTime, position, generation, totalSize };
   }),
 
   /**
    * Indicates the end of a recording -- does not actually stop the profiler
    * (stopProfiler does that), but notes that we no longer need to poll
    * for buffer status.
    */
-  stop: Task.async(function *() {
+  stop: Task.async(function* () {
     yield this._poller.off();
   }),
 
   /**
    * Wrapper around `profiler.isActive()` to take profiler status data and emit.
    */
-  getStatus: Task.async(function *() {
+  getStatus: Task.async(function* () {
     let data = yield (CompatUtils.callFrontMethod("isActive").call(this));
     // If no data, the last poll for `isActive()` was wrapping up, and the target.client
     // is now null, so we no longer have data, so just abort here.
     if (!data) {
       return;
     }
 
     // If TEST_PROFILER_FILTER_STATUS defined (via array of fields), filter
@@ -146,17 +146,17 @@ LegacyProfilerFront.prototype = {
 
     this.emit("profiler-status", data);
     return data;
   }),
 
   /**
    * Returns profile data from now since `startTime`.
    */
-  getProfile: Task.async(function *(options) {
+  getProfile: Task.async(function* (options) {
     let profilerData = yield (CompatUtils.callFrontMethod("getProfile").call(this, options));
     // If the backend is not deduped, dedupe it ourselves, as rest of the code
     // expects a deduped profile.
     if (profilerData.profile.meta.version === 2) {
       RecordingUtils.deflateProfile(profilerData.profile);
     }
 
     // If the backend does not support filtering by start and endtime on platform (< Fx40),
@@ -181,36 +181,36 @@ LegacyProfilerFront.prototype = {
       } else if (subject.action === "profileEnd") {
         this.emit("console-profile-stop", details);
       }
     } else if (topic === "profiler-stopped") {
       this.emit("profiler-stopped");
     }
   },
 
-  _checkProfilerStatus: Task.async(function *() {
+  _checkProfilerStatus: Task.async(function* () {
     // Calling `getStatus()` will emit the "profiler-status" on its own
     yield this.getStatus();
   }),
 
   toString: () => "[object LegacyProfilerFront]"
 };
 
 /**
  * Constructor for a facade around an underlying TimelineFront.
  */
-function LegacyTimelineFront (target) {
+function LegacyTimelineFront(target) {
   this._target = target;
   EventEmitter.decorate(this);
 }
 
 LegacyTimelineFront.prototype = {
   EVENTS: ["markers", "frames", "ticks"],
 
-  connect: Task.async(function*() {
+  connect: Task.async(function* () {
     let supported = yield CompatUtils.timelineActorSupported(this._target);
     this._front = supported ?
                   new TimelineFront(this._target.client, this._target.form) :
                   new CompatUtils.MockTimelineFront();
 
     this.IS_MOCK = !supported;
 
     // Binds underlying actor events and consolidates them to a `timeline-data`
@@ -220,17 +220,17 @@ LegacyTimelineFront.prototype = {
       this._front.on(type, handler);
     });
   }),
 
   /**
    * Override actor's destroy, so we can unregister listeners before
    * destroying the underlying actor.
    */
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     this.EVENTS.forEach(type => this._front.off(type, this[`_on${type}`]));
     yield this._front.destroy();
   }),
 
   /**
    * An aggregate of all events (markers, frames, ticks) and exposes
    * to PerformanceActorsConnection as a single event.
    */
--- a/devtools/client/performance/legacy/compatibility.js
+++ b/devtools/client/performance/legacy/compatibility.js
@@ -7,25 +7,25 @@ const promise = require("promise");
 const EventEmitter = require("devtools/shared/event-emitter");
 
 /**
  * A dummy front decorated with the provided methods.
  *
  * @param array blueprint
  *        A list of [funcName, retVal] describing the class.
  */
-function MockFront (blueprint) {
+function MockFront(blueprint) {
   EventEmitter.decorate(this);
 
   for (let [funcName, retVal] of blueprint) {
     this[funcName] = (x => typeof x === "function" ? x() : x).bind(this, retVal);
   }
 }
 
-function MockTimelineFront () {
+function MockTimelineFront() {
   MockFront.call(this, [
     ["destroy"],
     ["start", 0],
     ["stop", 0],
   ]);
 }
 
 /**
@@ -44,17 +44,17 @@ function timelineActorSupported(target) 
 
   return target.hasActor("timeline");
 }
 
 /**
  * Returns a function to be used as a method on an "Front" in ./actors.
  * Calls the underlying actor's method.
  */
-function callFrontMethod (method) {
+function callFrontMethod(method) {
   return function () {
     // If there's no target or client on this actor facade,
     // abort silently -- this occurs in tests when polling occurs
     // after the test ends, when tests do not wait for toolbox destruction
     // (which will destroy the actor facade, turning off the polling).
     if (!this._target || !this._target.client) {
       return;
     }
--- a/devtools/client/performance/legacy/front.js
+++ b/devtools/client/performance/legacy/front.js
@@ -61,17 +61,17 @@ const LegacyPerformanceFront = Class({
 
   /**
    * Initializes a connection to the profiler and other miscellaneous actors.
    * If in the process of opening, or already open, nothing happens.
    *
    * @return object
    *         A promise that is resolved once the connection is established.
    */
-  connect: Task.async(function*() {
+  connect: Task.async(function* () {
     if (this._connecting) {
       return this._connecting.promise;
     }
 
     // Create a promise that gets resolved upon connecting, so that
     // other attempts to open the connection use the same resolution promise
     this._connecting = promise.defer();
 
@@ -83,17 +83,17 @@ const LegacyPerformanceFront = Class({
     yield this._registerListeners();
 
     this._connecting.resolve();
   }),
 
   /**
    * Destroys this connection.
    */
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     if (this._connecting) {
       yield this._connecting.promise;
     } else {
       return;
     }
 
     yield this._unregisterListeners();
     yield this._disconnectActors();
@@ -105,17 +105,17 @@ const LegacyPerformanceFront = Class({
     this._form = null;
     this._target = this._target;
   }),
 
   /**
    * Initializes fronts and connects to the underlying actors using the facades
    * found in ./actors.js.
    */
-  _connectActors: Task.async(function*() {
+  _connectActors: Task.async(function* () {
     this._profiler = new Actors.LegacyProfilerFront(this._target);
     this._timeline = new Actors.LegacyTimelineFront(this._target);
 
     yield promise.all([
       this._profiler.connect(),
       this._timeline.connect()
     ]);
 
@@ -161,17 +161,17 @@ const LegacyPerformanceFront = Class({
    * Invoked whenever `console.profile` is called.
    *
    * @param string profileLabel
    *        The provided string argument if available; undefined otherwise.
    * @param number currentTime
    *        The time (in milliseconds) when the call was made, relative to when
    *        the nsIProfiler module was started.
    */
-  _onConsoleProfileStart: Task.async(function *(_, { profileLabel, currentTime: startTime }) {
+  _onConsoleProfileStart: Task.async(function* (_, { profileLabel, currentTime: startTime }) {
     let recordings = this._recordings;
 
     // Abort if a profile with this label already exists.
     if (recordings.find(e => e.getLabel() === profileLabel)) {
       return;
     }
 
     events.emit(this, "console-profile-start");
@@ -186,17 +186,17 @@ const LegacyPerformanceFront = Class({
    * Invoked whenever `console.profileEnd` is called.
    *
    * @param string profileLabel
    *        The provided string argument if available; undefined otherwise.
    * @param number currentTime
    *        The time (in milliseconds) when the call was made, relative to when
    *        the nsIProfiler module was started.
    */
-  _onConsoleProfileStop: Task.async(function *(_, data) {
+  _onConsoleProfileStop: Task.async(function* (_, data) {
     // If no data, abort; can occur if profiler isn't running and we get a surprise
     // call to console.profileEnd()
     if (!data) {
       return;
     }
     let { profileLabel, currentTime: endTime } = data;
 
     let pending = this._recordings.filter(r => r.isConsole() && r.isRecording());
@@ -263,17 +263,17 @@ const LegacyPerformanceFront = Class({
    * Begins a recording session
    *
    * @param object options
    *        An options object to pass to the actors. Supported properties are
    *        `withTicks`, `withMemory` and `withAllocations`, `probability`, and `maxLogLength`.
    * @return object
    *         A promise that is resolved once recording has started.
    */
-  startRecording: Task.async(function*(options = {}) {
+  startRecording: Task.async(function* (options = {}) {
     let model = new LegacyPerformanceRecording(normalizePerformanceFeatures(options, this.traits.features));
 
     // All actors are started asynchronously over the remote debugging protocol.
     // Get the corresponding start times from each one of them.
     // The timeline actors are target-dependent, so start those as well,
     // even though these are mocked in older Geckos (FF < 35)
     let profilerStart = this._profiler.start(options);
     let timelineStart = this._timeline.start(options);
@@ -298,17 +298,17 @@ const LegacyPerformanceFront = Class({
   /**
    * Manually ends the recording session for the corresponding LegacyPerformanceRecording.
    *
    * @param LegacyPerformanceRecording model
    *        The corresponding LegacyPerformanceRecording that belongs to the recording session wished to stop.
    * @return LegacyPerformanceRecording
    *         Returns the same model, populated with the profiling data.
    */
-  stopRecording: Task.async(function*(model) {
+  stopRecording: Task.async(function* (model) {
     // If model isn't in the LegacyPerformanceFront internal store,
     // then do nothing.
     if (this._recordings.indexOf(model) === -1) {
       return;
     }
 
     // Flag the recording as no longer recording, so that `model.isRecording()`
     // is false. Do this before we fetch all the data, and then subsequently
@@ -406,17 +406,17 @@ const LegacyPerformanceFront = Class({
 
   /**
    * Returns the configurations set on underlying components, used in tests.
    * Returns an object with `probability`, `maxLogLength` for allocations, and
    * `entries` and `interval` for profiler.
    *
    * @return {object}
    */
-  getConfiguration: Task.async(function *() {
+  getConfiguration: Task.async(function* () {
     let profilerConfig = yield this._request("profiler", "getStartOptions");
     return profilerConfig;
   }),
 
   /**
    * An event from an underlying actor that we just want
    * to pipe to the front itself.
    */
@@ -448,17 +448,17 @@ const LegacyPerformanceFront = Class({
   },
 
   toString: () => "[object LegacyPerformanceFront]"
 });
 
 /**
  * Creates an object of configurations based off of preferences for a LegacyPerformanceRecording.
  */
-function getLegacyPerformanceRecordingPrefs () {
+function getLegacyPerformanceRecordingPrefs() {
   return {
     withMarkers: true,
     withMemory: Services.prefs.getBoolPref("devtools.performance.ui.enable-memory"),
     withTicks: Services.prefs.getBoolPref("devtools.performance.ui.enable-framerate"),
     withAllocations: Services.prefs.getBoolPref("devtools.performance.ui.enable-allocations"),
     allocationsSampleProbability: +Services.prefs.getCharPref("devtools.performance.memory.sample-probability"),
     allocationsMaxLogLength: Services.prefs.getIntPref("devtools.performance.memory.max-log-length")
   };
--- a/devtools/client/performance/legacy/recording.js
+++ b/devtools/client/performance/legacy/recording.js
@@ -11,17 +11,17 @@ const RecordingUtils = require("devtools
 const { PerformanceRecordingCommon } = require("devtools/shared/performance/recording-common");
 const { merge } = require("sdk/util/object");
 
 /**
  * Model for a wholistic profile, containing the duration, profiling data,
  * frames data, timeline (marker, tick, memory) data, and methods to mark
  * a recording as 'in progress' or 'finished'.
  */
-const LegacyPerformanceRecording = function (options={}) {
+const LegacyPerformanceRecording = function (options = {}) {
   this._label = options.label || "";
   this._console = options.console || false;
 
   this._configuration = {
     withMarkers: options.withMarkers || false,
     withTicks: options.withTicks || false,
     withMemory: options.withMemory || false,
     withAllocations: options.withAllocations || false,
@@ -38,17 +38,17 @@ LegacyPerformanceRecording.prototype = m
   _memoryStartTime: 0,
 
   /**
    * Saves the current recording to a file.
    *
    * @param nsILocalFile file
    *        The file to stream the data into.
    */
-  exportRecording: Task.async(function *(file) {
+  exportRecording: Task.async(function* (file) {
     let recordingData = this.getAllData();
     yield PerformanceIO.saveRecordingToFile(recordingData, file);
   }),
 
   /**
    * Sets up the instance with data from the PerformanceFront when
    * starting a recording. Should only be called by PerformanceFront.
    */
@@ -89,17 +89,17 @@ LegacyPerformanceRecording.prototype = m
     this._duration = endTime - this._localStartTime;
     this._recording = false;
   },
 
   /**
    * Sets results available from stopping a recording from PerformanceFront.
    * Should only be called by PerformanceFront.
    */
-  _onStopRecording: Task.async(function *({ profilerEndTime, profile, systemClient, systemHost }) {
+  _onStopRecording: Task.async(function* ({ profilerEndTime, profile, systemClient, systemHost }) {
     // Update the duration with the accurate profilerEndTime, so we don't have
     // samples outside of the approximate duration set in `_onStoppingRecording`.
     this._duration = profilerEndTime - this._profilerStartTime;
     this._profile = profile;
     this._completed = true;
 
     // We filter out all samples that fall out of current profile's range
     // since the profiler is continuously running. Because of this, sample
--- a/devtools/client/performance/modules/io.js
+++ b/devtools/client/performance/modules/io.js
@@ -20,17 +20,17 @@ const PERF_TOOL_SERIALIZER_CURRENT_VERSI
 /**
  * Helpers for importing/exporting JSON.
  */
 
 /**
  * Gets a nsIScriptableUnicodeConverter instance with a default UTF-8 charset.
  * @return object
  */
-function getUnicodeConverter () {
+function getUnicodeConverter() {
   let cname = "@mozilla.org/intl/scriptableunicodeconverter";
   let converter = Cc[cname].createInstance(Ci.nsIScriptableUnicodeConverter);
   converter.charset = "UTF-8";
   return converter;
 }
 
 /**
  * Saves a recording as JSON to a file. The provided data is assumed to be
@@ -39,17 +39,17 @@ function getUnicodeConverter () {
  * @param object recordingData
  *        The recording data to stream as JSON.
  * @param nsILocalFile file
  *        The file to stream the data into.
  * @return object
  *         A promise that is resolved once streaming finishes, or rejected
  *         if there was an error.
  */
-function saveRecordingToFile (recordingData, file) {
+function saveRecordingToFile(recordingData, file) {
   recordingData.fileType = PERF_TOOL_SERIALIZER_IDENTIFIER;
   recordingData.version = PERF_TOOL_SERIALIZER_CURRENT_VERSION;
 
   let string = JSON.stringify(recordingData);
   let inputStream = getUnicodeConverter().convertToInputStream(string);
   let outputStream = FileUtils.openSafeFileOutputStream(file);
 
   return new Promise(resolve => {
@@ -61,17 +61,17 @@ function saveRecordingToFile (recordingD
  * Loads a recording stored as JSON from a file.
  *
  * @param nsILocalFile file
  *        The file to import the data from.
  * @return object
  *         A promise that is resolved once importing finishes, or rejected
  *         if there was an error.
  */
-function loadRecordingFromFile (file) {
+function loadRecordingFromFile(file) {
   let channel = NetUtil.newChannel({
     uri: NetUtil.newURI(file),
     loadUsingSystemPrincipal: true
   });
 
   channel.contentType = "text/plain";
 
   return new Promise((resolve, reject) => {
@@ -117,32 +117,32 @@ function loadRecordingFromFile (file) {
 
 /**
  * Returns a boolean indicating whether or not the passed in `version`
  * is supported by this serializer.
  *
  * @param number version
  * @return boolean
  */
-function isValidSerializerVersion (version) {
+function isValidSerializerVersion(version) {
   return !!~[
     PERF_TOOL_SERIALIZER_LEGACY_VERSION,
     PERF_TOOL_SERIALIZER_CURRENT_VERSION
   ].indexOf(version);
 }
 
 /**
  * Takes recording data (with version `1`, from the original profiler tool),
  * and massages the data to be line with the current performance tool's
  * property names and values.
  *
  * @param object legacyData
  * @return object
  */
-function convertLegacyData (legacyData) {
+function convertLegacyData(legacyData) {
   let { profilerData, ticksData, recordingDuration } = legacyData;
 
   // The `profilerData` and `ticksData` stay, but the previously unrecorded
   // fields just are empty arrays or objects.
   let data = {
     label: profilerData.profilerLabel,
     duration: recordingDuration,
     markers: [],
--- a/devtools/client/performance/modules/logic/frame-utils.js
+++ b/devtools/client/performance/modules/logic/frame-utils.js
@@ -158,34 +158,34 @@ function parseLocation(location, fallbac
     // Check for the case of the filename containing eval
     // e.g. "file.js%20line%2065%20%3E%20eval"
     let evalIndex = fileName.indexOf(EVAL_TOKEN);
     if (evalIndex !== -1 && evalIndex === (fileName.length - EVAL_TOKEN.length)) {
       // Match the filename
       let evalLine = line;
       let [, _fileName, , _line] = fileName.match(/(.+)(%20line%20(\d+)%20%3E%20eval)/) || [];
       fileName = `${_fileName} (eval:${evalLine})`;
-      line =  _line;
+      line = _line;
       assert(_fileName !== undefined,
              "Filename could not be found from an eval location site");
       assert(_line !== undefined,
              "Line could not be found from an eval location site");
 
       // Match the url as well
       [, url] = url.match(/(.+)( line (\d+) > eval)/) || [];
       assert(url !== undefined,
              "The URL could not be parsed correctly from an eval location site");
     }
   } else {
     functionName = location;
     url = null;
   }
 
   return { functionName, fileName, host, port, url, line, column };
-};
+}
 
 /**
  * Sets the properties of `isContent` and `category` on a frame.
  *
  * @param {InflatedFrame} frame
  */
 function computeIsContentAndCategory(frame) {
   // Only C++ stack frames have associated category information.
@@ -257,33 +257,33 @@ function getInflatedFrameCache(frameTabl
   if (inflatedCache !== undefined) {
     return inflatedCache;
   }
 
   // Fill with nulls to ensure no holes.
   inflatedCache = Array.from({ length: frameTable.data.length }, () => null);
   gInflatedFrameStore.set(frameTable, inflatedCache);
   return inflatedCache;
-};
+}
 
 /**
  * Get or add an inflated frame to a cache.
  *
  * @param object cache
  * @param number index
  * @param object frameTable
  * @param object stringTable
  */
 function getOrAddInflatedFrame(cache, index, frameTable, stringTable) {
   let inflatedFrame = cache[index];
   if (inflatedFrame === null) {
     inflatedFrame = cache[index] = new InflatedFrame(index, frameTable, stringTable);
   }
   return inflatedFrame;
-};
+}
 
 /**
  * An intermediate data structured used to hold inflated frames.
  *
  * @param number index
  * @param object frameTable
  * @param object stringTable
  */
@@ -306,17 +306,17 @@ function InflatedFrame(index, frameTable
 
   // Attempt to compute if this frame is a content frame, and if not,
   // its category.
   //
   // Since only C++ stack frames have associated category information,
   // attempt to generate a useful category, fallback to the one provided
   // by the profiling data, or fallback to an unknown category.
   computeIsContentAndCategory(this);
-};
+}
 
 /**
  * Gets the frame key (i.e., equivalence group) according to options. Content
  * frames are always identified by location. Chrome frames are identified by
  * location if content-only filtering is off. If content-filtering is on, they
  * are identified by their category.
  *
  * @param object options
@@ -371,17 +371,17 @@ function shouldDemangle(name) {
  * @param {ThreadNode} options.root
  *                     The root thread node to calculate relative costs.
  *                     Generates [self|total] [duration|percentage] values.
  * @param {boolean} options.allocations
  *                  Generates `totalAllocations` and `selfAllocations`.
  *
  * @return {object}
  */
-function getFrameInfo (node, options) {
+function getFrameInfo(node, options) {
   let data = gFrameData.get(node);
 
   if (!data) {
     if (node.nodeType === "Thread") {
       data = Object.create(null);
       data.functionName = global.L10N.getStr("table.root");
     } else {
       data = parseLocation(node.location, node.line, node.column);
@@ -441,17 +441,17 @@ exports.getFrameInfo = getFrameInfo;
 /**
  * Takes an inverted ThreadNode and searches its youngest frames for
  * a FrameNode with matching location.
  *
  * @param {ThreadNode} threadNode
  * @param {string} location
  * @return {?FrameNode}
  */
-function findFrameByLocation (threadNode, location) {
+function findFrameByLocation(threadNode, location) {
   if (!threadNode.inverted) {
     throw new Error("FrameUtils.findFrameByLocation only supports leaf nodes in an inverted tree.");
   }
 
   let calls = threadNode.calls;
   for (let i = 0; i < calls.length; i++) {
     if (calls[i].location === location) {
       return calls[i];
--- a/devtools/client/performance/modules/logic/jit.js
+++ b/devtools/client/performance/modules/logic/jit.js
@@ -149,17 +149,17 @@ const JITOptimizations = function (rawSi
     let data = site.data;
     let STRATEGY_SLOT = data.attempts.schema.strategy;
     let OUTCOME_SLOT = data.attempts.schema.outcome;
     let attempts = data.attempts.data.map((a) => {
       return {
         id: site.id,
         strategy: stringTable[a[STRATEGY_SLOT]],
         outcome: stringTable[a[OUTCOME_SLOT]]
-      }
+      };
     });
     let types = data.types.map((t) => {
       let typeset = maybeTypeset(t.typeset, stringTable);
       if (typeset) {
         typeset.forEach(t => t.id = site.id);
       }
 
       return {
@@ -184,49 +184,49 @@ const JITOptimizations = function (rawSi
 
   this.optimizationSites = sites.sort((a, b) => b.samples - a.samples);
 };
 
 /**
  * Make JITOptimizations iterable.
  */
 JITOptimizations.prototype = {
-  [Symbol.iterator]: function *() {
+  [Symbol.iterator]: function* () {
     yield* this.optimizationSites;
   },
 
   get length() {
     return this.optimizationSites.length;
   }
 };
 
 /**
  * Takes an "outcome" string from an OptimizationAttempt and returns
  * a boolean indicating whether or not its a successful outcome.
  *
  * @return {boolean}
  */
 
-function isSuccessfulOutcome (outcome) {
+function isSuccessfulOutcome(outcome) {
   return !!~SUCCESSFUL_OUTCOMES.indexOf(outcome);
-};
+}
 
 /**
  * Takes an OptimizationSite. Returns a boolean indicating if the passed
  * in OptimizationSite has a "good" outcome at the end of its attempted strategies.
  *
  * @param {OptimizationSite} optimizationSite
  * @return {boolean}
  */
 
-function hasSuccessfulOutcome (optimizationSite) {
+function hasSuccessfulOutcome(optimizationSite) {
   let attempts = optimizationSite.data.attempts;
   let lastOutcome = attempts[attempts.length - 1].outcome;
   return isSuccessfulOutcome(lastOutcome);
-};
+}
 
 function maybeString(stringTable, index) {
   return index ? stringTable[index] : undefined;
 }
 
 function maybeTypeset(typeset, stringTable) {
   if (!typeset) {
     return undefined;
@@ -258,17 +258,17 @@ const IMPLEMENTATION_NAMES = Object.keys
  * @param {Array<number>} sampleTimes
  *                        An array of every sample time within the range we're counting.
  *                        From a ThreadNode's `sampleTimes` property.
  * @param {number} bucketSize
  *                 Size of each bucket in milliseconds.
  *                 `duration / resolution = bucketSize` in OptimizationsGraph.
  * @return {?Array<object>}
  */
-function createTierGraphDataFromFrameNode (frameNode, sampleTimes, bucketSize) {
+function createTierGraphDataFromFrameNode(frameNode, sampleTimes, bucketSize) {
   let tierData = frameNode.getTierData();
   let stringTable = frameNode._stringTable;
   let output = [];
   let implEnum;
 
   let tierDataIndex = 0;
   let nextOptSample = tierData[tierDataIndex];
 
--- a/devtools/client/performance/modules/logic/telemetry.js
+++ b/devtools/client/performance/modules/logic/telemetry.js
@@ -13,17 +13,17 @@ const EVENT_MAP_FLAGS = new Map([
 ]);
 
 const RECORDING_FEATURES = [
   "withMarkers", "withTicks", "withMemory", "withAllocations"
 ];
 
 const SELECTED_VIEW_HISTOGRAM_NAME = "DEVTOOLS_PERFTOOLS_SELECTED_VIEW_MS";
 
-function PerformanceTelemetry (emitter) {
+function PerformanceTelemetry(emitter) {
   this._emitter = emitter;
   this._telemetry = new Telemetry();
   this.onFlagEvent = this.onFlagEvent.bind(this);
   this.onRecordingStateChange = this.onRecordingStateChange.bind(this);
   this.onViewSelected = this.onViewSelected.bind(this);
 
   for (let [event] of EVENT_MAP_FLAGS) {
     this._emitter.on(event, this.onFlagEvent);
--- a/devtools/client/performance/modules/logic/tree-model.js
+++ b/devtools/client/performance/modules/logic/tree-model.js
@@ -341,17 +341,17 @@ ThreadNode.prototype = {
   },
 
   /**
    * Gets additional details about this node.
    * @see FrameNode.prototype.getInfo for more information.
    *
    * @return object
    */
-  getInfo: function(options) {
+  getInfo: function (options) {
     return FrameUtils.getFrameInfo(this, options);
   },
 
   /**
    * Mimicks the interface of FrameNode, and a ThreadNode can never have
    * optimization data (at the moment, anyway), so provide a function
    * to return null so we don't need to check if a frame node is a thread
    * or not everytime we fetch optimization data.
@@ -476,17 +476,17 @@ FrameNode.prototype = {
 
     if (otherNode._optimizations) {
       if (!this._optimizations) {
         this._optimizations = [];
       }
       let opts = this._optimizations;
       let otherOpts = otherNode._optimizations;
       for (let i = 0; i < otherOpts.length; i++) {
-       opts.push(otherOpts[i]);
+        opts.push(otherOpts[i]);
       }
     }
 
     if (otherNode._tierData.length) {
       let tierData = this._tierData;
       let otherTierData = otherNode._tierData;
       for (let i = 0; i < otherTierData.length; i++) {
         tierData.push(otherTierData[i]);
@@ -505,17 +505,17 @@ FrameNode.prototype = {
    *                     Generates [self|total] [duration|percentage] values.
    * @param {boolean} options.allocations
    *                  Generates `totalAllocations` and `selfAllocations`.
    *
    * @return object
    *         The computed { name, file, url, line } properties for this
    *         function call, as well as additional params if options specified.
    */
-  getInfo: function(options) {
+  getInfo: function (options) {
     return FrameUtils.getFrameInfo(this, options);
   },
 
   /**
    * Returns whether or not the frame node has an JITOptimizations model.
    *
    * @return {Boolean}
    */
--- a/devtools/client/performance/modules/logic/waterfall-utils.js
+++ b/devtools/client/performance/modules/logic/waterfall-utils.js
@@ -13,17 +13,17 @@ const { MarkerBlueprintUtils } = require
 /**
  * Creates a parent marker, which functions like a regular marker,
  * but is able to hold additional child markers.
  *
  * The marker is seeded with values from `marker`.
  * @param object marker
  * @return object
  */
-function createParentNode (marker) {
+function createParentNode(marker) {
   return extend(marker, { submarkers: [] });
 }
 
 
 /**
  * Collapses markers into a tree-like structure.
  * @param object rootNode
  * @param array markersList
@@ -105,17 +105,17 @@ function collapseMarkersIntoNode({ rootN
 
 /**
  * Takes a root marker node and creates a hash of functions used
  * to manage the creation and nesting of additional parent markers.
  *
  * @param {object} root
  * @return {object}
  */
-function createParentNodeFactory (root) {
+function createParentNodeFactory(root) {
   let parentMarkers = [];
   let factory = {
     /**
      * Pops the most recent parent node off the stack, finalizing it.
      * Sets the `end` time based on the most recent child if not defined.
      */
     popParentNode: () => {
       if (parentMarkers.length === 0) {
--- a/devtools/client/performance/modules/marker-blueprint-utils.js
+++ b/devtools/client/performance/modules/marker-blueprint-utils.js
@@ -13,17 +13,17 @@ const { TIMELINE_BLUEPRINT } = require("
 exports.MarkerBlueprintUtils = {
   /**
    * Takes a marker and a list of marker names that should be hidden, and
    * determines if this marker should be filtered or not.
    *
    * @param object marker
    * @return boolean
    */
-  shouldDisplayMarker: function(marker, hiddenMarkerNames) {
+  shouldDisplayMarker: function (marker, hiddenMarkerNames) {
     if (!hiddenMarkerNames || hiddenMarkerNames.length == 0) {
       return true;
     }
 
     // If this marker isn't yet defined in the blueprint, simply check if the
     // entire category of "UNKNOWN" markers are supposed to be visible or not.
     let isUnknown = !(marker.name in TIMELINE_BLUEPRINT);
     if (isUnknown) {
@@ -35,41 +35,41 @@ exports.MarkerBlueprintUtils = {
 
   /**
    * Takes a marker and returns the blueprint definition for that marker type,
    * falling back to the UNKNOWN blueprint definition if undefined.
    *
    * @param object marker
    * @return object
    */
-  getBlueprintFor: function(marker) {
+  getBlueprintFor: function (marker) {
     return TIMELINE_BLUEPRINT[marker.name] || TIMELINE_BLUEPRINT.UNKNOWN;
   },
 
   /**
    * Returns the label to display for a marker, based off the blueprints.
    *
    * @param object marker
    * @return string
    */
-  getMarkerLabel: function(marker) {
+  getMarkerLabel: function (marker) {
     let blueprint = this.getBlueprintFor(marker);
     let dynamic = typeof blueprint.label === "function";
     let label = dynamic ? blueprint.label(marker) : blueprint.label;
     return label;
   },
 
   /**
    * Returns the generic label to display for a marker name.
    * (e.g. "Function Call" for JS markers, rather than "setTimeout", etc.)
    *
    * @param string type
    * @return string
    */
-  getMarkerGenericName: function(markerName) {
+  getMarkerGenericName: function (markerName) {
     let blueprint = this.getBlueprintFor({ name: markerName });
     let dynamic = typeof blueprint.label === "function";
     let generic = dynamic ? blueprint.label() : blueprint.label;
 
     // If no class name found, attempt to throw a descriptive error as to
     // how the marker implementor can fix this.
     if (!generic) {
       let message = `Could not find marker generic name for "${markerName}".`;
@@ -86,17 +86,17 @@ exports.MarkerBlueprintUtils = {
 
   /**
    * Returns an array of objects with key/value pairs of what should be rendered
    * in the marker details view.
    *
    * @param object marker
    * @return array<object>
    */
-  getMarkerFields: function(marker) {
+  getMarkerFields: function (marker) {
     let blueprint = this.getBlueprintFor(marker);
     let dynamic = typeof blueprint.fields === "function";
     let fields = dynamic ? blueprint.fields(marker) : blueprint.fields;
 
     return Object.entries(fields || {})
       .filter(([_, value]) => dynamic ? true : value in marker)
       .map(([label, value]) => ({ label, value: dynamic ? value : marker[value] }));
   },
--- a/devtools/client/performance/modules/marker-dom-utils.js
+++ b/devtools/client/performance/modules/marker-dom-utils.js
@@ -107,17 +107,17 @@ exports.MarkerDOMUtils = {
    *
    * @param document doc
    * @param object params
    *        An options object with the following members:
    *          - string type: string identifier for type of stack ("stack", "startStack" or "endStack"
    *          - number frameIndex: the index of the topmost stack frame
    *          - array frames: array of stack frames
    */
-  buildStackTrace: function(doc, { type, frameIndex, frames }) {
+  buildStackTrace: function (doc, { type, frameIndex, frames }) {
     let container = doc.createElement("vbox");
     container.className = "marker-details-stack";
     container.setAttribute("type", type);
 
     let nameLabel = doc.createElement("label");
     nameLabel.className = "plain marker-details-name-label";
     nameLabel.setAttribute("value", L10N.getStr(`marker.field.${type}`));
     container.appendChild(nameLabel);
@@ -241,15 +241,15 @@ exports.MarkerDOMUtils = {
 
 /**
  * Takes a marker and determines if this marker should display
  * the allocations trigger button.
  *
  * @param object marker
  * @return boolean
  */
-function shouldShowAllocationsTrigger (marker) {
+function shouldShowAllocationsTrigger(marker) {
   if (marker.name == "GarbageCollection") {
     let showTriggers = PREFS["show-triggers-for-gc-types"];
     return showTriggers.split(" ").indexOf(marker.causeName) !== -1;
   }
   return false;
 }
--- a/devtools/client/performance/modules/marker-formatters.js
+++ b/devtools/client/performance/modules/marker-formatters.js
@@ -185,10 +185,10 @@ exports.Formatters = {
  * Takes a main label (e.g. "Timestamp") and a property name (e.g. "causeName"),
  * and returns a string that represents that property value for a marker if it
  * exists (e.g. "Timestamp (rendering)"), or just the main label if it does not.
  *
  * @param string mainLabel
  * @param string propName
  */
 exports.Formatters.labelForProperty = function (mainLabel, propName) {
-  return (marker={}) => marker[propName] ? `${mainLabel} (${marker[propName]})` : mainLabel;
+  return (marker = {}) => marker[propName] ? `${mainLabel} (${marker[propName]})` : mainLabel;
 };
--- a/devtools/client/performance/modules/widgets/graphs.js
+++ b/devtools/client/performance/modules/widgets/graphs.js
@@ -68,17 +68,17 @@ PerformanceGraph.prototype = Heritage.ex
   clipheadLineColor: CLIPHEAD_LINE_COLOR,
   selectionLineColor: SELECTION_LINE_COLOR,
   withTooltipArrows: false,
   withFixedTooltipPositions: true,
 
   /**
    * Disables selection and empties this graph.
    */
-  clearView: function() {
+  clearView: function () {
     this.selectionEnabled = false;
     this.dropSelection();
     this.setData([]);
   },
 
   /**
    * Sets the theme via `theme` to either "light" or "dark",
    * and updates the internal styling to match. Requires a redraw
@@ -171,17 +171,17 @@ const GRAPH_DEFINITIONS = {
  * A controller for orchestrating the performance's tool overview graphs. Constructs,
  * syncs, toggles displays and defines the memory, framerate and timeline view.
  *
  * @param {object} definition
  * @param {DOMElement} root
  * @param {function} getFilter
  * @param {function} getTheme
  */
-function GraphsController ({ definition, root, getFilter, getTheme }) {
+function GraphsController({ definition, root, getFilter, getTheme }) {
   this._graphs = {};
   this._enabled = new Set();
   this._definition = definition || GRAPH_DEFINITIONS;
   this._root = root;
   this._getFilter = getFilter;
   this._getTheme = getTheme;
   this._primaryLink = Object.keys(this._definition).filter(name => this._definition[name].primaryLink)[0];
   this.$ = root.ownerDocument.querySelector.bind(root.ownerDocument);
@@ -201,17 +201,17 @@ GraphsController.prototype = {
 
   /**
    * Iterates through all graphs and renders the data
    * from a RecordingModel. Takes a resolution value used in
    * some graphs.
    * Saves rendering progress as a promise to be consumed by `destroy`,
    * to wait for cleaning up rendering during destruction.
    */
-  render: Task.async(function *(recordingData, resolution) {
+  render: Task.async(function* (recordingData, resolution) {
     // Get the previous render promise so we don't start rendering
     // until the previous render cycle completes, which can occur
     // especially when a recording is finished, and triggers a
     // fresh rendering at a higher rate
     yield (this._rendering && this._rendering.promise);
 
     // Check after yielding to ensure we're not tearing down,
     // as this can create a race condition in tests
@@ -225,17 +225,17 @@ GraphsController.prototype = {
       this.emit("rendered", graph.graphName);
     }
     this._rendering.resolve();
   }),
 
   /**
    * Destroys the underlying graphs.
    */
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     let primary = this._getPrimaryLink();
 
     this._destroyed = true;
 
     if (primary) {
       primary.off("selecting", this._onSelecting);
     }
 
@@ -249,30 +249,30 @@ GraphsController.prototype = {
       yield graph.destroy();
     }
   }),
 
   /**
    * Applies the theme to the underlying graphs. Optionally takes
    * a `redraw` boolean in the options to force redraw.
    */
-  setTheme: function (options={}) {
+  setTheme: function (options = {}) {
     let theme = options.theme || this._getTheme();
     for (let graph of this.getWidgets()) {
       graph.setTheme(theme);
       graph.refresh({ force: options.redraw });
     }
   },
 
   /**
    * Sets up the graph, if needed. Returns a promise resolving
    * to the graph if it is enabled once it's ready, or otherwise returns
    * null if disabled.
    */
-  isAvailable: Task.async(function *(graphName) {
+  isAvailable: Task.async(function* (graphName) {
     if (!this._enabled.has(graphName)) {
       return null;
     }
 
     let graph = this.get(graphName);
 
     if (!graph) {
       graph = yield this._construct(graphName);
@@ -351,26 +351,26 @@ GraphsController.prototype = {
     if (this._getPrimaryLink()) {
       return this._getPrimaryLink().dropSelection();
     }
   },
 
   /**
    * Makes sure the selection is enabled or disabled in all the graphs.
    */
-  selectionEnabled: Task.async(function *(enabled) {
+  selectionEnabled: Task.async(function* (enabled) {
     for (let graph of (yield this._getEnabled())) {
       graph.selectionEnabled = enabled;
     }
   }),
 
   /**
    * Creates the graph `graphName` and initializes it.
    */
-  _construct: Task.async(function *(graphName) {
+  _construct: Task.async(function* (graphName) {
     let def = this._definition[graphName];
     let el = this.$(def.selector);
     let filter = this._getFilter();
     let graph = this._graphs[graphName] = new def.constructor(el, filter);
     graph.graphName = graphName;
 
     yield graph.ready();
 
@@ -405,17 +405,17 @@ GraphsController.prototype = {
   },
 
   /**
    * Resolves to an array with all graphs that are enabled, and
    * creates them if needed. Different than just iterating over `this._graphs`,
    * as those could be enabled. Uses caching, as rendering happens many times per second,
    * compared to how often which graphs/features are changed (rarely).
    */
-  _getEnabled: Task.async(function *() {
+  _getEnabled: Task.async(function* () {
     if (this._enabledGraphs) {
       return this._enabledGraphs;
     }
     let enabled = [];
     for (let graphName of this._enabled) {
       let graph;
       if (graph = yield this.isAvailable(graphName)) {
         enabled.push(graph);
@@ -435,17 +435,17 @@ GraphsController.prototype = {
  */
 function OptimizationsGraph(parent) {
   MountainGraphWidget.call(this, parent);
   this.setTheme();
 }
 
 OptimizationsGraph.prototype = Heritage.extend(MountainGraphWidget.prototype, {
 
-  render: Task.async(function *(threadNode, frameNode) {
+  render: Task.async(function* (threadNode, frameNode) {
     // Regardless if we draw or clear the graph, wait
     // until it's ready.
     yield this.ready();
 
     if (!threadNode || !frameNode) {
       this.setData([]);
       return;
     }
--- a/devtools/client/performance/modules/widgets/marker-details.js
+++ b/devtools/client/performance/modules/widgets/marker-details.js
@@ -70,17 +70,17 @@ MarkerDetails.prototype = {
    */
   get hidden() {
     return this._parent.hidden;
   },
 
   /**
    * Clears the marker details from this view.
    */
-  empty: function() {
+  empty: function () {
     this._parent.innerHTML = "";
   },
 
   /**
    * Populates view with marker's details.
    *
    * @param object params
    *        An options object holding:
@@ -128,32 +128,32 @@ MarkerDetails.prototype = {
     }
 
     this.emit(data.action, data);
   },
 
   /**
    * Handles the "mouseup" event on the marker details view splitter.
    */
-  _onSplitterMouseUp: function() {
+  _onSplitterMouseUp: function () {
     this.emit("resize");
   }
 };
 
 /**
  * Take an element from an event `target`, and ascend through
  * the DOM, looking for an element with a `data-action` attribute. Return
  * the parsed `data-action` value found, or null if none found before
  * reaching the parent `container`.
  *
  * @param {Element} target
  * @param {Element} container
  * @return {?object}
  */
-function findActionFromEvent (target, container) {
+function findActionFromEvent(target, container) {
   let el = target;
   let action;
   while (el !== container) {
     if (action = el.getAttribute("data-action")) {
       return JSON.parse(action);
     }
     el = el.parentNode;
   }
--- a/devtools/client/performance/modules/widgets/marker-view.js
+++ b/devtools/client/performance/modules/widgets/marker-view.js
@@ -33,32 +33,32 @@ const WATERFALL_MARKER_TIMEBAR_WIDTH_MIN
  *        The indentation level in the waterfall tree. The root node is at level 0.
  * @param boolean hidden [optional]
  *        Whether this node should be hidden and not contribute to depth/level
  *        calculations. Defaults to false.
  */
 function MarkerView({ owner, marker, level, hidden }) {
   AbstractTreeItem.call(this, {
     parent: owner,
-    level: level|0 - (hidden ? 1 : 0)
+    level: level | 0 - (hidden ? 1 : 0)
   });
 
   this.marker = marker;
   this.hidden = !!hidden;
 
   this._onItemBlur = this._onItemBlur.bind(this);
   this._onItemFocus = this._onItemFocus.bind(this);
 }
 
 MarkerView.prototype = Heritage.extend(AbstractTreeItem.prototype, {
   /**
    * Calculates and stores the available width for the waterfall.
    * This should be invoked every time the container node is resized.
    */
-  recalculateBounds: function() {
+  recalculateBounds: function () {
     this.root._waterfallWidth = this.bounds.width
       - WATERFALL_MARKER_SIDEBAR_WIDTH
       - WATERFALL_MARKER_SIDEBAR_SAFE_BOUNDS;
   },
 
   /**
    * Sets a list of marker types to be filtered out of this view.
    * @param Array<String> filter
@@ -80,37 +80,37 @@ MarkerView.prototype = Heritage.extend(A
   get interval() {
     return this.root._interval;
   },
 
   /**
    * Gets the current waterfall width.
    * @return number
    */
-  getWaterfallWidth: function() {
+  getWaterfallWidth: function () {
     return this._waterfallWidth;
   },
 
   /**
    * Gets the data scale amount for the current width and interval.
    * @return number
    */
-  getDataScale: function() {
+  getDataScale: function () {
     let startTime = this.root._interval.startTime|0;
     let endTime = this.root._interval.endTime|0;
     return this.root._waterfallWidth / (endTime - startTime);
   },
 
   /**
    * Creates the view for this waterfall node.
    * @param nsIDOMNode document
    * @param nsIDOMNode arrowNode
    * @return nsIDOMNode
    */
-  _displaySelf: function(document, arrowNode) {
+  _displaySelf: function (document, arrowNode) {
     let targetNode = document.createElement("hbox");
     targetNode.className = "waterfall-tree-item";
     targetNode.setAttribute("otmt", this.marker.isOffMainThread);
 
     if (this == this.root) {
       // Bounds are needed for properly positioning and scaling markers in
       // the waterfall, but it's sufficient to make those calculations only
       // for the root node.
@@ -129,17 +129,17 @@ MarkerView.prototype = Heritage.extend(A
 
     return targetNode;
   },
 
   /**
    * Populates this node in the waterfall tree with the corresponding "markers".
    * @param array:AbstractTreeItem children
    */
-  _populateSelf: function(children) {
+  _populateSelf: function (children) {
     let submarkers = this.marker.submarkers;
     if (!submarkers || !submarkers.length) {
       return;
     }
     let startTime = this.root._interval.startTime;
     let endTime = this.root._interval.endTime;
     let newLevel = this.level + 1;
 
@@ -165,17 +165,17 @@ MarkerView.prototype = Heritage.extend(A
   },
 
   /**
    * Builds all the nodes representing a marker in the waterfall.
    * @param nsIDOMNode document
    * @param nsIDOMNode targetNode
    * @param nsIDOMNode arrowNode
    */
-  _buildMarkerCells: function(doc, targetNode, arrowNode) {
+  _buildMarkerCells: function (doc, targetNode, arrowNode) {
     let marker = this.marker;
     let blueprint = MarkerBlueprintUtils.getBlueprintFor(marker);
     let startTime = this.root._interval.startTime;
     let endTime = this.root._interval.endTime;
 
     let sidebarCell = this._buildMarkerSidebar(doc, blueprint, marker);
     let timebarCell = this._buildMarkerTimebar(doc, blueprint, marker, startTime, endTime, arrowNode);
 
@@ -193,17 +193,17 @@ MarkerView.prototype = Heritage.extend(A
 
     targetNode.setAttribute("level", this.level);
   },
 
   /**
    * Functions creating each cell in this waterfall view.
    * Invoked by `_displaySelf`.
    */
-  _buildMarkerSidebar: function(doc, style, marker) {
+  _buildMarkerSidebar: function (doc, style, marker) {
     let cell = doc.createElement("hbox");
     cell.className = "waterfall-sidebar theme-sidebar";
     cell.setAttribute("width", WATERFALL_MARKER_SIDEBAR_WIDTH);
     cell.setAttribute("align", "center");
 
     let bullet = doc.createElement("hbox");
     bullet.className = `waterfall-marker-bullet marker-color-${style.colorName}`;
     bullet.style.transform = `translateX(${this.level * LEVEL_INDENT}px)`;
@@ -217,58 +217,58 @@ MarkerView.prototype = Heritage.extend(A
     name.setAttribute("crop", "end");
     name.setAttribute("flex", "1");
     name.setAttribute("value", label);
     name.setAttribute("tooltiptext", label);
     cell.appendChild(name);
 
     return cell;
   },
-  _buildMarkerTimebar: function(doc, style, marker, startTime, endTime, arrowNode) {
+  _buildMarkerTimebar: function (doc, style, marker, startTime, endTime, arrowNode) {
     let cell = doc.createElement("hbox");
     cell.className = "waterfall-marker waterfall-background-ticks";
     cell.setAttribute("align", "center");
     cell.setAttribute("flex", "1");
 
     let dataScale = this.getDataScale();
     let offset = (marker.start - startTime) * dataScale;
     let width = (marker.end - marker.start) * dataScale;
 
-    arrowNode.style.transform =`translateX(${offset + ARROW_NODE_OFFSET}px)`;
+    arrowNode.style.transform = `translateX(${offset + ARROW_NODE_OFFSET}px)`;
     cell.appendChild(arrowNode);
 
     let bar = doc.createElement("hbox");
     bar.className = `waterfall-marker-bar marker-color-${style.colorName}`;
     bar.style.transform = `translateX(${offset}px)`;
     bar.setAttribute("type", marker.name);
     bar.setAttribute("width", Math.max(width, WATERFALL_MARKER_TIMEBAR_WIDTH_MIN));
     cell.appendChild(bar);
 
     return cell;
   },
 
   /**
    * Adds the event listeners for this particular tree item.
    */
-  _addEventListeners: function() {
+  _addEventListeners: function () {
     this.on("focus", this._onItemFocus);
     this.on("blur", this._onItemBlur);
   },
 
   /**
    * Handler for the "blur" event on the root item.
    */
-  _onItemBlur: function() {
+  _onItemBlur: function () {
     this.root.emit("unselected");
   },
 
   /**
    * Handler for the "mousedown" event on the root item.
    */
-  _onItemFocus: function(e, item) {
+  _onItemFocus: function (e, item) {
     this.root.emit("selected", item.marker);
   }
 });
 
 /**
  * Checks if a given marker is in the specified time range.
  *
  * @param object e
--- a/devtools/client/performance/modules/widgets/markers-overview.js
+++ b/devtools/client/performance/modules/widgets/markers-overview.js
@@ -38,17 +38,17 @@ const OVERVIEW_GROUP_VERTICAL_PADDING = 
 /**
  * An overview for the markers data.
  *
  * @param nsIDOMNode parent
  *        The parent node holding the overview.
  * @param Array<String> filter
  *        List of names of marker types that should not be shown.
  */
-function MarkersOverview(parent, filter=[], ...args) {
+function MarkersOverview(parent, filter = [], ...args) {
   AbstractCanvasGraph.apply(this, [parent, "markers-overview", ...args]);
   this.setTheme();
   this.setFilter(filter);
 }
 
 MarkersOverview.prototype = Heritage.extend(AbstractCanvasGraph.prototype, {
   clipheadLineColor: OVERVIEW_CLIPHEAD_LINE_COLOR,
   selectionLineColor: OVERVIEW_SELECTION_LINE_COLOR,
@@ -90,27 +90,27 @@ MarkersOverview.prototype = Heritage.ext
       this._groupMap[groupNumber] = actualPosition++;
     }
     this._numberOfGroups = Object.keys(this._groupMap).length;
   },
 
   /**
    * Disables selection and empties this graph.
    */
-  clearView: function() {
+  clearView: function () {
     this.selectionEnabled = false;
     this.dropSelection();
     this.setData({ duration: 0, markers: [] });
   },
 
   /**
    * Renders the graph's data source.
    * @see AbstractCanvasGraph.prototype.buildGraphImage
    */
-  buildGraphImage: function() {
+  buildGraphImage: function () {
     let { markers, duration } = this._data;
 
     let { canvas, ctx } = this._getNamedCanvas("markers-overview-data");
     let canvasWidth = this._width;
     let canvasHeight = this._height;
 
     // Group markers into separate paint batches. This is necessary to
     // draw all markers sharing the same style at once.
--- a/devtools/client/performance/modules/widgets/tree-view.js
+++ b/devtools/client/performance/modules/widgets/tree-view.js
@@ -50,22 +50,22 @@ const CELL_TYPES = Object.keys(CELLS);
 
 const DEFAULT_SORTING_PREDICATE = (frameA, frameB) => {
   let dataA = frameA.getDisplayedData();
   let dataB = frameB.getDisplayedData();
   let isAllocations = "totalSize" in dataA;
 
   if (isAllocations) {
     return this.inverted && dataA.selfSize !== dataB.selfSize ?
-           (dataA.selfSize < dataB.selfSize ? 1 : - 1) :
+           (dataA.selfSize < dataB.selfSize ? 1 : -1) :
            (dataA.totalSize < dataB.totalSize ? 1 : -1);
   }
 
   return this.inverted && dataA.selfPercentage !== dataB.selfPercentage ?
-         (dataA.selfPercentage < dataB.selfPercentage ? 1 : - 1) :
+         (dataA.selfPercentage < dataB.selfPercentage ? 1 : -1) :
          (dataA.totalPercentage < dataB.totalPercentage ? 1 : -1);
 };
 
 const DEFAULT_AUTO_EXPAND_DEPTH = 3; // depth
 const DEFAULT_VISIBLE_CELLS = {
   duration: true,
   percentage: true,
   selfDuration: true,
@@ -132,23 +132,23 @@ const sum = vals => vals.reduce((a, b) =
  */
 function CallView({
   caller, frame, level, hidden, inverted,
   sortingPredicate, autoExpandDepth, visibleCells,
   showOptimizationHint
 }) {
   AbstractTreeItem.call(this, {
     parent: caller,
-    level: level|0 - (hidden ? 1 : 0)
+    level: level | 0 - (hidden ? 1 : 0)
   });
 
   this.sortingPredicate = sortingPredicate != null
     ? sortingPredicate
     : caller ? caller.sortingPredicate
-             : DEFAULT_SORTING_PREDICATE
+             : DEFAULT_SORTING_PREDICATE;
 
   this.autoExpandDepth = autoExpandDepth != null
     ? autoExpandDepth
     : caller ? caller.autoExpandDepth
              : DEFAULT_AUTO_EXPAND_DEPTH;
 
   this.visibleCells = visibleCells != null
     ? visibleCells
@@ -157,26 +157,26 @@ function CallView({
 
   this.caller = caller;
   this.frame = frame;
   this.hidden = hidden;
   this.inverted = inverted;
   this.showOptimizationHint = showOptimizationHint;
 
   this._onUrlClick = this._onUrlClick.bind(this);
-};
+}
 
 CallView.prototype = Heritage.extend(AbstractTreeItem.prototype, {
   /**
    * Creates the view for this tree node.
    * @param nsIDOMNode document
    * @param nsIDOMNode arrowNode
    * @return nsIDOMNode
    */
-  _displaySelf: function(document, arrowNode) {
+  _displaySelf: function (document, arrowNode) {
     let frameInfo = this.getDisplayedData();
     let cells = [];
 
     for (let type of CELL_TYPES) {
       if (this.visibleCells[type]) {
         // Inline for speed, but pass in the formatted value via
         // cell definition, as well as the element type.
         cells.push(this._createCell(document, CELLS[type][2](frameInfo[CELLS[type][1]]), CELLS[type][0]));
@@ -204,17 +204,17 @@ CallView.prototype = Heritage.extend(Abs
     return targetNode;
   },
 
   /**
    * Populates this node in the call tree with the corresponding "callees".
    * These are defined in the `frame` data source for this call view.
    * @param array:AbstractTreeItem children
    */
-  _populateSelf: function(children) {
+  _populateSelf: function (children) {
     let newLevel = this.level + 1;
 
     for (let newFrame of this.frame.calls) {
       children.push(new CallView({
         caller: this,
         frame: newFrame,
         level: newLevel,
         inverted: this.inverted
@@ -235,17 +235,17 @@ CallView.prototype = Heritage.extend(Abs
     cell.className = "plain call-tree-cell";
     cell.setAttribute("type", type);
     cell.setAttribute("crop", "end");
     // Add a tabulation to the cell text in case it's is selected and copied.
     cell.textContent = value + "\t";
     return cell;
   },
 
-  _createFunctionCell: function(doc, arrowNode, frameName, frameInfo, frameLevel) {
+  _createFunctionCell: function (doc, arrowNode, frameName, frameInfo, frameLevel) {
     let cell = doc.createElement("hbox");
     cell.className = "call-tree-cell";
     cell.style.marginInlineStart = (frameLevel * CALL_TREE_INDENTATION) + "px";
     cell.setAttribute("type", "function");
     cell.appendChild(arrowNode);
 
     // Render optimization hint if this frame has opt data.
     if (this.root.showOptimizationHint && frameInfo.hasOptimizations && !frameInfo.isMetaCategory) {
@@ -272,29 +272,29 @@ CallView.prototype = Heritage.extend(Abs
     // Don't render an expando-arrow for leaf nodes.
     let hasDescendants = Object.keys(this.frame.calls).length > 0;
     if (!hasDescendants) {
       arrowNode.setAttribute("invisible", "");
     }
 
     // Add a line break to the last description of the row in case it's selected
     // and copied.
-    let lastDescription = cell.querySelector('description:last-of-type');
+    let lastDescription = cell.querySelector("description:last-of-type");
     lastDescription.textContent = lastDescription.textContent + "\n";
 
     // Add spaces as frameLevel indicators in case the row is selected and
     // copied. These spaces won't be displayed in the cell content.
-    let firstDescription = cell.querySelector('description:first-of-type');
+    let firstDescription = cell.querySelector("description:first-of-type");
     let levelIndicator = frameLevel > 0 ? " ".repeat(frameLevel) : "";
     firstDescription.textContent = levelIndicator + firstDescription.textContent;
 
     return cell;
   },
 
-  _appendFunctionDetailsCells: function(doc, cell, frameInfo) {
+  _appendFunctionDetailsCells: function (doc, cell, frameInfo) {
     if (frameInfo.fileName) {
       let urlNode = doc.createElement("description");
       urlNode.className = "plain call-tree-url";
       urlNode.textContent = frameInfo.fileName;
       urlNode.setAttribute("tooltiptext", URL_LABEL_TOOLTIP + " → " + frameInfo.url);
       urlNode.addEventListener("mousedown", this._onUrlClick);
       cell.appendChild(urlNode);
     }
@@ -330,17 +330,17 @@ CallView.prototype = Heritage.extend(Abs
   },
 
   /**
    * Gets the data displayed about this tree item, based on the FrameNode
    * model associated with this view.
    *
    * @return object
    */
-  getDisplayedData: function() {
+  getDisplayedData: function () {
     if (this._cachedDisplayedData) {
       return this._cachedDisplayedData;
     }
 
     return this._cachedDisplayedData = this.frame.getInfo({
       root: this.root.frame,
       allocations: (this.visibleCells.count || this.visibleCells.selfCount)
     });
@@ -361,28 +361,28 @@ CallView.prototype = Heritage.extend(Abs
      * container node is used for all rows.
      */
   },
 
   /**
    * Toggles the category information hidden or visible.
    * @param boolean visible
    */
-  toggleCategories: function(visible) {
+  toggleCategories: function (visible) {
     if (!visible) {
       this.container.setAttribute("categories-hidden", "");
     } else {
       this.container.removeAttribute("categories-hidden");
     }
   },
 
   /**
    * Handler for the "click" event on the url node of this call view.
    */
-  _onUrlClick: function(e) {
+  _onUrlClick: function (e) {
     e.preventDefault();
     e.stopPropagation();
     // Only emit for left click events
     if (e.button === 0) {
       this.root.emit("link", this);
     }
   },
 });
--- a/devtools/client/performance/modules/widgets/waterfall-ticks.js
+++ b/devtools/client/performance/modules/widgets/waterfall-ticks.js
@@ -39,32 +39,32 @@ function WaterfallHeader(root) {
 WaterfallHeader.prototype = {
   /**
    * Creates and appends this header as the first element of the specified
    * parent element.
    *
    * @param nsIDOMNode parentNode
    *        The parent element for this header.
    */
-  attachTo: function(parentNode) {
+  attachTo: function (parentNode) {
     let document = parentNode.ownerDocument;
     let startTime = this.root.interval.startTime;
     let dataScale = this.root.getDataScale();
     let waterfallWidth = this.root.getWaterfallWidth();
 
     let header = this._buildNode(document, startTime, dataScale, waterfallWidth);
     parentNode.insertBefore(header, parentNode.firstChild);
 
     this._drawWaterfallBackground(document, dataScale, waterfallWidth);
   },
 
   /**
    * Creates the node displaying this view.
    */
-  _buildNode: function(doc, startTime, dataScale, waterfallWidth) {
+  _buildNode: function (doc, startTime, dataScale, waterfallWidth) {
     let container = doc.createElement("hbox");
     container.className = "waterfall-header-container";
     container.setAttribute("flex", "1");
 
     let sidebar = doc.createElement("hbox");
     sidebar.className = "waterfall-sidebar theme-sidebar";
     sidebar.setAttribute("width", WATERFALL_MARKER_SIDEBAR_WIDTH);
     sidebar.setAttribute("align", "center");
@@ -100,17 +100,17 @@ WaterfallHeader.prototype = {
     }
 
     return container;
   },
 
   /**
    * Creates the background displayed on the marker's waterfall.
    */
-  _drawWaterfallBackground: function(doc, dataScale, waterfallWidth) {
+  _drawWaterfallBackground: function (doc, dataScale, waterfallWidth) {
     if (!this._canvas || !this._ctx) {
       this._canvas = doc.createElementNS(HTML_NS, "canvas");
       this._ctx = this._canvas.getContext("2d");
     }
     let canvas = this._canvas;
     let ctx = this._ctx;
 
     // Nuke the context.
--- a/devtools/client/performance/panel.js
+++ b/devtools/client/performance/panel.js
@@ -24,17 +24,17 @@ exports.PerformancePanel = PerformancePa
 PerformancePanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor.
    *
    * @return object
    *         A promise that is resolved when the Performance tool
    *         completes opening.
    */
-  open: Task.async(function*() {
+  open: Task.async(function* () {
     if (this._opening) {
       return this._opening;
     }
     let deferred = promise.defer();
     this._opening = deferred.promise;
 
     this.panelWin.gToolbox = this.toolbox;
     this.panelWin.gTarget = this.target;
@@ -72,17 +72,17 @@ PerformancePanel.prototype = {
   }),
 
   // DevToolPanel API
 
   get target() {
     return this.toolbox.target;
   },
 
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     // Make sure this panel is not already destroyed.
     if (this._destroyed) {
       return;
     }
 
     let { PerformanceController, EVENTS } = this.panelWin;
     PerformanceController.off(EVENTS.RECORDING_ADDED, this._checkRecordingStatus);
     PerformanceController.off(EVENTS.RECORDING_STATE_CHANGE, this._checkRecordingStatus);
--- a/devtools/client/performance/performance-controller.js
+++ b/devtools/client/performance/performance-controller.js
@@ -61,26 +61,26 @@ var BRANCH_NAME = "devtools.performance.
 /**
  * The current target, toolbox and PerformanceFront, set by this tool's host.
  */
 var gToolbox, gTarget, gFront;
 
 /**
  * Initializes the profiler controller and views.
  */
-var startupPerformance = Task.async(function*() {
+var startupPerformance = Task.async(function* () {
   yield PerformanceController.initialize();
   yield PerformanceView.initialize();
   PerformanceController.enableFrontEventListeners();
 });
 
 /**
  * Destroys the profiler controller and views.
  */
-var shutdownPerformance = Task.async(function*() {
+var shutdownPerformance = Task.async(function* () {
   yield PerformanceController.destroy();
   yield PerformanceView.destroy();
   PerformanceController.disableFrontEventListeners();
 });
 
 /**
  * Functions handling target-related lifetime events and
  * UI interaction.
@@ -124,17 +124,17 @@ var PerformanceController = {
     DetailsView.on(EVENTS.UI_DETAILS_VIEW_SELECTED, this._pipe);
 
     gDevTools.on("pref-changed", this._onThemeChanged);
   }),
 
   /**
    * Remove events handled by the PerformanceController
    */
-  destroy: function() {
+  destroy: function () {
     this._telemetry.destroy();
     this._prefs.off("pref-changed", this._onPrefChanged);
     this._prefs.unregisterObserver();
 
     ToolbarView.off(EVENTS.UI_PREF_CHANGED, this._onPrefChanged);
     PerformanceView.off(EVENTS.UI_START_RECORDING, this.startRecording);
     PerformanceView.off(EVENTS.UI_STOP_RECORDING, this.stopRecording);
     PerformanceView.off(EVENTS.UI_IMPORT_RECORDING, this.importRecording);
@@ -151,24 +151,24 @@ var PerformanceController = {
    *
    * The rationale behind this is given by the async intialization of all the
    * frontend components. Even though the panel is considered "open" only after
    * both the controller and the view are created, and even though their
    * initialization is sequential (controller, then view), the controller might
    * start handling backend events before the view finishes if the event
    * listeners are added too soon.
    */
-  enableFrontEventListeners: function() {
+  enableFrontEventListeners: function () {
     gFront.on("*", this._onFrontEvent);
   },
 
   /**
    * Disables front event listeners.
    */
-  disableFrontEventListeners: function() {
+  disableFrontEventListeners: function () {
     gFront.off("*", this._onFrontEvent);
   },
 
   /**
    * Returns the current devtools theme.
    */
   getTheme: function () {
     return Services.prefs.getCharPref("devtools.theme");
@@ -207,17 +207,17 @@ var PerformanceController = {
   setPref: function (prefName, prefValue) {
     this._prefs[prefName] = prefValue;
   },
 
   /**
    * Checks whether or not a new recording is supported by the PerformanceFront.
    * @return Promise:boolean
    */
-  canCurrentlyRecord: Task.async(function*() {
+  canCurrentlyRecord: Task.async(function* () {
     // If we're testing the legacy front, the performance actor will exist,
     // with `canCurrentlyRecord` method; this ensures we test the legacy path.
     if (gFront.LEGACY_FRONT) {
       return true;
     }
     let hasActor = yield gTarget.hasActor("performance");
     if (!hasActor) {
       return true;
@@ -227,17 +227,17 @@ var PerformanceController = {
       return true;
     }
     return (yield gFront.canCurrentlyRecord()).success;
   }),
 
   /**
    * Starts recording with the PerformanceFront.
    */
-  startRecording: Task.async(function *() {
+  startRecording: Task.async(function* () {
     let options = {
       withMarkers: true,
       withTicks: this.getOption("enable-framerate"),
       withMemory: this.getOption("enable-memory"),
       withFrames: true,
       withGCEvents: true,
       withAllocations: this.getOption("enable-allocations"),
       allocationsSampleProbability: this.getPref("memory-sample-probability"),
@@ -257,32 +257,32 @@ var PerformanceController = {
     } else {
       this.emit(EVENTS.BACKEND_READY_AFTER_RECORDING_START);
     }
   }),
 
   /**
    * Stops recording with the PerformanceFront.
    */
-  stopRecording: Task.async(function *() {
+  stopRecording: Task.async(function* () {
     let recording = this.getLatestManualRecording();
     yield gFront.stopRecording(recording);
     this.emit(EVENTS.BACKEND_READY_AFTER_RECORDING_STOP);
   }),
 
   /**
    * Saves the given recording to a file. Emits `EVENTS.RECORDING_EXPORTED`
    * when the file was saved.
    *
    * @param PerformanceRecording recording
    *        The model that holds the recording data.
    * @param nsILocalFile file
    *        The file to stream the data into.
    */
-  exportRecording: Task.async(function*(_, recording, file) {
+  exportRecording: Task.async(function* (_, recording, file) {
     yield recording.exportRecording(file);
     this.emit(EVENTS.RECORDING_EXPORTED, recording, file);
   }),
 
    /**
    * Clears all completed recordings from the list as well as the current non-console recording.
    * Emits `EVENTS.RECORDING_DELETED` when complete so other components can clean up.
    */
@@ -316,17 +316,17 @@ var PerformanceController = {
 
   /**
    * Loads a recording from a file, adding it to the recordings list. Emits
    * `EVENTS.RECORDING_IMPORTED` when the file was loaded.
    *
    * @param nsILocalFile file
    *        The file to import the data from.
    */
-  importRecording: Task.async(function*(_, file) {
+  importRecording: Task.async(function* (_, file) {
     let recording = yield gFront.importRecording(file);
     this._addRecordingIfUnknown(recording);
 
     this.emit(EVENTS.RECORDING_IMPORTED, recording);
   }),
 
   /**
    * Sets the currently active PerformanceRecording. Should rarely be called directly,
@@ -480,17 +480,17 @@ var PerformanceController = {
   /**
    * Takes an array of PerformanceRecordingFronts and adds them to the internal
    * store of the UI. Used by the toolbox to lazily seed recordings that
    * were observed before the panel was loaded in the scenario where `console.profile()`
    * is used before the tool is loaded.
    *
    * @param {Array<PerformanceRecordingFront>} recordings
    */
-  populateWithRecordings: function (recordings=[]) {
+  populateWithRecordings: function (recordings = []) {
     for (let recording of recordings) {
       PerformanceController._addRecordingIfUnknown(recording);
     }
     this.emit(EVENTS.RECORDINGS_SEEDED);
   },
 
   /**
    * Returns an object with `supported` and `enabled` properties indicating
@@ -517,19 +517,19 @@ var PerformanceController = {
   /**
    * Takes a PerformanceRecording and a state, and waits for
    * the event to be emitted from the front for that recording.
    *
    * @param {PerformanceRecordingFront} recording
    * @param {string} expectedState
    * @return {Promise}
    */
-  waitForStateChangeOnRecording: Task.async(function *(recording, expectedState) {
+  waitForStateChangeOnRecording: Task.async(function* (recording, expectedState) {
     let deferred = promise.defer();
-    this.on(EVENTS.RECORDING_STATE_CHANGE, function handler (state, model) {
+    this.on(EVENTS.RECORDING_STATE_CHANGE, function handler(state, model) {
       if (state === expectedState && model === recording) {
         this.off(EVENTS.RECORDING_STATE_CHANGE, handler);
         deferred.resolve();
       }
     });
     yield deferred.promise;
   }),
 
--- a/devtools/client/performance/performance-view.js
+++ b/devtools/client/performance/performance-view.js
@@ -269,17 +269,17 @@ var PerformanceView = {
       this._toggleRecordButtons(true);
       this.emit(EVENTS.UI_START_RECORDING);
     }
   },
 
   /**
    * Handler for clicking the import button.
    */
-  _onImportButtonClick: function(e) {
+  _onImportButtonClick: function (e) {
     let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
     fp.init(window, L10N.getStr("recordingsList.importDialogTitle"), Ci.nsIFilePicker.modeOpen);
     fp.appendFilter(L10N.getStr("recordingsList.saveDialogJSONFilter"), "*.json");
     fp.appendFilter(L10N.getStr("recordingsList.saveDialogAllFilter"), "*.*");
 
     if (fp.show() == Ci.nsIFilePicker.returnOK) {
       this.emit(EVENTS.UI_IMPORT_RECORDING, fp.file);
     }
--- a/devtools/client/performance/test/browser_aaa-run-first-leaktest.js
+++ b/devtools/client/performance/test/browser_aaa-run-first-leaktest.js
@@ -5,17 +5,17 @@
 /**
  * Tests if the performance tool leaks on initialization and sudden destruction.
  * You can also use this initialization format as a template for other tests.
  */
 
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 
-add_task(function*() {
+add_task(function* () {
   let { target, toolbox, panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   ok(target, "Should have a target available.");
   ok(toolbox, "Should have a toolbox available.");
   ok(panel, "Should have a panel available.");
--- a/devtools/client/performance/test/browser_perf-button-states.js
+++ b/devtools/client/performance/test/browser_perf-button-states.js
@@ -5,17 +5,17 @@
 /**
  * Tests that the recording button states are set as expected.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, EVENTS, PerformanceController, PerformanceView } = panel.panelWin;
   let recordButton = $("#main-record-button");
 
--- a/devtools/client/performance/test/browser_perf-calltree-js-categories.js
+++ b/devtools/client/performance/test/browser_perf-calltree-js-categories.js
@@ -9,17 +9,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_SHOW_PLATFORM_DATA_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { busyWait } = require("devtools/client/performance/test/helpers/wait-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, $$, DetailsView, JsCallTreeView } = panel.panelWin;
 
   // Enable platform data to show the categories in the tree.
--- a/devtools/client/performance/test/browser_perf-calltree-js-columns.js
+++ b/devtools/client/performance/test/browser_perf-calltree-js-columns.js
@@ -8,17 +8,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_SHOW_PLATFORM_DATA_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { busyWait } = require("devtools/client/performance/test/helpers/wait-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, $$, DetailsView, JsCallTreeView } = panel.panelWin;
 
   // Enable platform data to show the platform functions in the tree.
--- a/devtools/client/performance/test/browser_perf-calltree-js-events.js
+++ b/devtools/client/performance/test/browser_perf-calltree-js-events.js
@@ -8,17 +8,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, DetailsView, OverviewView, JsCallTreeView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-calltree-memory-columns.js
+++ b/devtools/client/performance/test/browser_perf-calltree-memory-columns.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, $$, DetailsView, MemoryCallTreeView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-console-record-01.js
+++ b/devtools/client/performance/test/browser_perf-console-record-01.js
@@ -7,17 +7,17 @@
  * before it was opened.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, toolbox, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   yield console.profile("rust");
   yield console.profileEnd("rust");
 
--- a/devtools/client/performance/test/browser_perf-console-record-02.js
+++ b/devtools/client/performance/test/browser_perf-console-record-02.js
@@ -9,17 +9,17 @@
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   yield console.profile("rust");
   yield console.profile("rust2");
 
--- a/devtools/client/performance/test/browser_perf-console-record-03.js
+++ b/devtools/client/performance/test/browser_perf-console-record-03.js
@@ -7,17 +7,17 @@
  * also console recordings that have finished before it was opened.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   yield console.profile("rust");
   yield console.profileEnd("rust");
   yield console.profile("rust2");
--- a/devtools/client/performance/test/browser_perf-console-record-04.js
+++ b/devtools/client/performance/test/browser_perf-console-record-04.js
@@ -8,17 +8,17 @@
  */
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { EVENTS, PerformanceController, OverviewView, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-console-record-05.js
+++ b/devtools/client/performance/test/browser_perf-console-record-05.js
@@ -8,17 +8,17 @@
  */
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { EVENTS, PerformanceController, OverviewView, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-console-record-06.js
+++ b/devtools/client/performance/test/browser_perf-console-record-06.js
@@ -7,17 +7,17 @@
  */
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { EVENTS, PerformanceController, OverviewView, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-console-record-07.js
+++ b/devtools/client/performance/test/browser_perf-console-record-07.js
@@ -8,17 +8,17 @@
  * does not match any pending recordings does nothing.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { idleWait } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { PerformanceController, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-console-record-08.js
+++ b/devtools/client/performance/test/browser_perf-console-record-08.js
@@ -9,17 +9,17 @@
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { once, times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   // This test seems to take a very long time to finish on Linux VMs.
   requestLongerTimeout(4);
 
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
@@ -28,82 +28,82 @@ add_task(function*() {
 
   info("Starting console.profile()...");
   let started = waitForRecordingStartedEvents(panel, {
     // only emitted for manual recordings
     skipWaitingForBackendReady: true
   });
   yield console.profile("rust");
   yield started;
-  testRecordings(PerformanceController, [C+S+R]);
+  testRecordings(PerformanceController, [C + S + R]);
 
   info("Starting manual recording...");
   yield startRecording(panel);
-  testRecordings(PerformanceController, [C+R, R+S]);
+  testRecordings(PerformanceController, [C + R, R + S]);
 
   info("Starting console.profile(\"3\")...");
   started = waitForRecordingStartedEvents(panel, {
     // only emitted for manual recordings
     skipWaitingForBackendReady: true,
     // only emitted when an in-progress recording is selected
     skipWaitingForOverview: true,
     // the view state won't switch to "console-recording" unless the new
     // in-progress recording is selected, which won't happen
     skipWaitingForViewState: true,
   });
   yield console.profile("3");
   yield started;
-  testRecordings(PerformanceController, [C+R, R+S, C+R]);
+  testRecordings(PerformanceController, [C + R, R + S, C + R]);
 
   info("Starting console.profile(\"4\")...");
   started = waitForRecordingStartedEvents(panel, {
     // only emitted for manual recordings
     skipWaitingForBackendReady: true,
     // only emitted when an in-progress  recording is selected
     skipWaitingForOverview: true,
     // the view state won't switch to "console-recording" unless the new
     // in-progress recording is selected, which won't happen
     skipWaitingForViewState: true,
   });
   yield console.profile("4");
   yield started;
-  testRecordings(PerformanceController, [C+R, R+S, C+R, C+R]);
+  testRecordings(PerformanceController, [C + R, R + S, C + R, C + R]);
 
   info("Ending console.profileEnd()...");
   let stopped = waitForRecordingStoppedEvents(panel, {
     // only emitted for manual recordings
     skipWaitingForBackendReady: true,
     // only emitted when a finished recording is selected
     skipWaitingForOverview: true,
     skipWaitingForSubview: true,
     // the view state won't switch to "recorded" unless the new
     // finished recording is selected, which won't happen
     skipWaitingForViewState: true,
   });
   yield console.profileEnd();
   yield stopped;
-  testRecordings(PerformanceController, [C+R, R+S, C+R, C]);
+  testRecordings(PerformanceController, [C + R, R + S, C + R, C]);
 
   info("Select last recording...");
   let recordingSelected = once(PerformanceController, EVENTS.RECORDING_SELECTED);
   RecordingsView.selectedIndex = 3;
   yield recordingSelected;
-  testRecordings(PerformanceController, [C+R, R, C+R, C+S]);
+  testRecordings(PerformanceController, [C + R, R, C + R, C + S]);
   ok(!OverviewView.isRendering(), "Stop rendering overview when a completed recording is selected.");
 
   info("Stop manual recording...");
   yield stopRecording(panel);
-  testRecordings(PerformanceController, [C+R, S, C+R, C]);
+  testRecordings(PerformanceController, [C + R, S, C + R, C]);
   ok(!OverviewView.isRendering(), "Stop rendering overview when a completed recording is selected.");
 
   info("Select first recording...");
   recordingSelected = once(PerformanceController, EVENTS.RECORDING_SELECTED);
   RecordingsView.selectedIndex = 0;
   yield recordingSelected;
-  testRecordings(PerformanceController, [C+R+S, 0, C+R, C]);
+  testRecordings(PerformanceController, [C + R + S, 0, C + R, C]);
   ok(OverviewView.isRendering(), "Should be rendering overview a recording in progress is selected.");
 
   // Ensure overview is still rendering.
   yield times(OverviewView, EVENTS.UI_OVERVIEW_RENDERED, 3, {
     expectedArgs: { "1": Constants.FRAMERATE_GRAPH_LOW_RES_INTERVAL }
   });
 
   info("Ending console.profileEnd()...");
@@ -114,37 +114,37 @@ add_task(function*() {
     skipWaitingForOverview: true,
     skipWaitingForSubview: true,
     // the view state won't switch to "recorded" unless the new
     // finished recording is selected, which won't happen
     skipWaitingForViewState: true,
   });
   yield console.profileEnd();
   yield stopped;
-  testRecordings(PerformanceController, [C+R+S, 0, C, C]);
+  testRecordings(PerformanceController, [C + R + S, 0, C, C]);
   ok(OverviewView.isRendering(), "Should be rendering overview a recording in progress is selected.");
 
   // Ensure overview is still rendering.
   yield times(OverviewView, EVENTS.UI_OVERVIEW_RENDERED, 3, {
     expectedArgs: { "1": Constants.FRAMERATE_GRAPH_LOW_RES_INTERVAL }
   });
 
   info("Start one more manual recording...");
   yield startRecording(panel);
-  testRecordings(PerformanceController, [C+R, 0, C, C, R+S]);
+  testRecordings(PerformanceController, [C + R, 0, C, C, R + S]);
   ok(OverviewView.isRendering(), "Should be rendering overview a recording in progress is selected.");
 
   // Ensure overview is still rendering.
   yield times(OverviewView, EVENTS.UI_OVERVIEW_RENDERED, 3, {
     expectedArgs: { "1": Constants.FRAMERATE_GRAPH_LOW_RES_INTERVAL }
   });
 
   info("Stop manual recording...");
   yield stopRecording(panel);
-  testRecordings(PerformanceController, [C+R, 0, C, C, S]);
+  testRecordings(PerformanceController, [C + R, 0, C, C, S]);
   ok(!OverviewView.isRendering(), "Stop rendering overview when a completed recording is selected.");
 
   info("Ending console.profileEnd()...");
   stopped = waitForRecordingStoppedEvents(panel, {
     // only emitted for manual recordings
     skipWaitingForBackendReady: true,
     // only emitted when a finished recording is selected
     skipWaitingForOverview: true,
@@ -167,15 +167,15 @@ const S = 4; // is selected
 
 function testRecordings(controller, expected) {
   let recordings = controller.getRecordings();
   let current = controller.getCurrentRecording();
   is(recordings.length, expected.length, "Expected number of recordings.");
 
   recordings.forEach((recording, i) => {
     ok(recording.isConsole() == !!(expected[i] & C),
-      `Recording ${i+1} has expected console state.`);
+      `Recording ${i + 1} has expected console state.`);
     ok(recording.isRecording() == !!(expected[i] & R),
-      `Recording ${i+1} has expected console state.`);
+      `Recording ${i + 1} has expected console state.`);
     ok((recording == current) == !!(expected[i] & S),
-      `Recording ${i+1} has expected selected state.`);
+      `Recording ${i + 1} has expected selected state.`);
   });
 }
--- a/devtools/client/performance/test/browser_perf-console-record-09.js
+++ b/devtools/client/performance/test/browser_perf-console-record-09.js
@@ -9,17 +9,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 const { idleWait } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { PerformanceController } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-details-01-toggle.js
+++ b/devtools/client/performance/test/browser_perf-details-01-toggle.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 const { command } = require("devtools/client/performance/test/helpers/input-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, DetailsView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-02-utility-fun.js
+++ b/devtools/client/performance/test/browser_perf-details-02-utility-fun.js
@@ -6,17 +6,17 @@
  * Tests that the details view utility functions work as advertised.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, WaterfallView, JsCallTreeView, JsFlameGraphView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-03-without-allocations.js
+++ b/devtools/client/performance/test/browser_perf-details-03-without-allocations.js
@@ -10,17 +10,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, RecordingsView, DetailsView, WaterfallView, MemoryCallTreeView, MemoryFlameGraphView } = panel.panelWin;
 
   let flameBtn = $("toolbarbutton[data-view='memory-flamegraph']");
--- a/devtools/client/performance/test/browser_perf-details-04-toolbar-buttons.js
+++ b/devtools/client/performance/test/browser_perf-details-04-toolbar-buttons.js
@@ -7,17 +7,17 @@
  * doesn't exist or is in progress.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, PerformanceController, RecordingsView, WaterfallView } = panel.panelWin;
 
   let waterfallBtn = $("toolbarbutton[data-view='waterfall']");
--- a/devtools/client/performance/test/browser_perf-details-05-preserve-view.js
+++ b/devtools/client/performance/test/browser_perf-details-05-preserve-view.js
@@ -7,17 +7,17 @@
  * and a new recording starts.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, DetailsView, JsCallTreeView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-06-rerender-on-selection.js
+++ b/devtools/client/performance/test/browser_perf-details-06-rerender-on-selection.js
@@ -8,17 +8,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 const { scrollCanvasGraph, HORIZONTAL_AXIS } = require("devtools/client/performance/test/helpers/input-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView, DetailsView, WaterfallView, JsCallTreeView, JsFlameGraphView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-07-bleed-events.js
+++ b/devtools/client/performance/test/browser_perf-details-07-bleed-events.js
@@ -6,17 +6,17 @@
  * Tests that events don't bleed between detail views.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, WaterfallView, JsCallTreeView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-render-00-waterfall.js
+++ b/devtools/client/performance/test/browser_perf-details-render-00-waterfall.js
@@ -6,17 +6,17 @@
  * Tests that the waterfall view renders content after recording.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, WaterfallView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-render-01-js-calltree.js
+++ b/devtools/client/performance/test/browser_perf-details-render-01-js-calltree.js
@@ -6,17 +6,17 @@
  * Tests that the js call tree view renders content after recording.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsCallTreeView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-render-02-js-flamegraph.js
+++ b/devtools/client/performance/test/browser_perf-details-render-02-js-flamegraph.js
@@ -6,17 +6,17 @@
  * Tests that the js flamegraph view renders content after recording.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsFlameGraphView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-details-render-03-memory-calltree.js
+++ b/devtools/client/performance/test/browser_perf-details-render-03-memory-calltree.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, MemoryCallTreeView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-details-render-04-memory-flamegraph.js
+++ b/devtools/client/performance/test/browser_perf-details-render-04-memory-flamegraph.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, MemoryFlameGraphView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-docload.js
+++ b/devtools/client/performance/test/browser_perf-docload.js
@@ -6,17 +6,17 @@
  * Tests if the sidebar is updated with "DOMContentLoaded" and "load" markers.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording, reload } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel, target } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceController } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-gc-snap.js
+++ b/devtools/client/performance/test/browser_perf-gc-snap.js
@@ -110,17 +110,17 @@ function* spawnTest() {
   showAllocsButton = $("#waterfall-details .custom-button[type='show-allocations']");
   ok(!showAllocsButton, "No GC buttons when allocations are disabled");
 
 
   yield teardown(panel);
   finish();
 }
 
-function injectGCMarkers (controller, waterfall) {
+function injectGCMarkers(controller, waterfall) {
   // Push some fake GC markers into the recording
   let realMarkers = controller.getCurrentRecording().getMarkers();
   // Invalidate marker cache
   waterfall._cache.delete(realMarkers);
   realMarkers.length = 0;
   for (let gcMarker of GC_MARKERS) {
     realMarkers.push(gcMarker);
   }
--- a/devtools/client/performance/test/browser_perf-highlighted.js
+++ b/devtools/client/performance/test/browser_perf-highlighted.js
@@ -7,17 +7,17 @@
  * whether already loaded, or via console.profile with an unloaded performance tools.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { target, toolbox, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let tab = toolbox.doc.getElementById("toolbox-tab-performance");
 
   yield console.profile("rust");
--- a/devtools/client/performance/test/browser_perf-loading-01.js
+++ b/devtools/client/performance/test/browser_perf-loading-01.js
@@ -7,17 +7,17 @@
  * recording, and once the record has loaded.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, L10N, $, PerformanceController, RecordingsView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-loading-02.js
+++ b/devtools/client/performance/test/browser_perf-loading-02.js
@@ -9,17 +9,17 @@
  * stopped isn't the active one.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, PerformanceController, RecordingsView } = panel.panelWin;
   let detailsContainer = $("#details-pane-container");
   let recordingNotice = $("#recording-notice");
--- a/devtools/client/performance/test/browser_perf-marker-details.js
+++ b/devtools/client/performance/test/browser_perf-marker-details.js
@@ -128,17 +128,17 @@ function* spawnTest() {
       break;
     }
   }
 
   yield teardown(panel);
   finish();
 }
 
-function shouldHaveStack ($, type, marker) {
+function shouldHaveStack($, type, marker) {
   ok($(`#waterfall-details .marker-details-stack[type=${type}]`), `${marker.name} has a stack: ${type}`);
 }
 
-function shouldHaveLabel ($, name, value, marker) {
+function shouldHaveLabel($, name, value, marker) {
   let $name = $(`#waterfall-details .marker-details-labelcontainer .marker-details-labelname[value="${name}"]`);
   let $value = $name.parentNode.querySelector(".marker-details-labelvalue");
   is($value.getAttribute("value"), value, `${marker.name} has correct label for ${name}:${value}`);
 }
--- a/devtools/client/performance/test/browser_perf-options-01-toggle-throw.js
+++ b/devtools/client/performance/test/browser_perf-options-01-toggle-throw.js
@@ -4,17 +4,17 @@
 
 /**
  * Tests that toggling preferences before there are any recordings does not throw.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { DetailsView, JsCallTreeView } = panel.panelWin;
 
   yield DetailsView.selectView("js-calltree");
--- a/devtools/client/performance/test/browser_perf-options-02-toggle-throw-alt.js
+++ b/devtools/client/performance/test/browser_perf-options-02-toggle-throw-alt.js
@@ -5,17 +5,17 @@
 /**
  * Tests that toggling preferences during a recording does not throw.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { DetailsView, JsCallTreeView } = panel.panelWin;
 
   yield DetailsView.selectView("js-calltree");
--- a/devtools/client/performance/test/browser_perf-options-03-toggle-meta.js
+++ b/devtools/client/performance/test/browser_perf-options-03-toggle-meta.js
@@ -5,17 +5,17 @@
 /**
  * Tests that toggling meta option prefs change visibility of other options.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_EXPERIMENTAL_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setBoolPref(UI_EXPERIMENTAL_PREF, false);
 
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $ } = panel.panelWin;
--- a/devtools/client/performance/test/browser_perf-options-enable-framerate-01.js
+++ b/devtools/client/performance/test/browser_perf-options-enable-framerate-01.js
@@ -8,17 +8,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_FRAMERATE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { isVisible } = require("devtools/client/performance/test/helpers/dom-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, PerformanceController } = panel.panelWin;
 
   // Disable framerate to test.
--- a/devtools/client/performance/test/browser_perf-options-enable-framerate-02.js
+++ b/devtools/client/performance/test/browser_perf-options-enable-framerate-02.js
@@ -7,17 +7,17 @@
  * recording's state and does not break.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_FRAMERATE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, PerformanceController } = panel.panelWin;
 
   // Test starting without framerate, and stopping with it.
--- a/devtools/client/performance/test/browser_perf-options-enable-memory-01.js
+++ b/devtools/client/performance/test/browser_perf-options-enable-memory-01.js
@@ -8,17 +8,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { isVisible } = require("devtools/client/performance/test/helpers/dom-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, PerformanceController } = panel.panelWin;
 
   // Disable memory to test.
--- a/devtools/client/performance/test/browser_perf-options-enable-memory-02.js
+++ b/devtools/client/performance/test/browser_perf-options-enable-memory-02.js
@@ -7,17 +7,17 @@
  * recording's state and does not break.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, PerformanceController } = panel.panelWin;
 
   // Test starting without memory, and stopping with it.
--- a/devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-01.js
+++ b/devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-01.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_FLATTEN_RECURSION_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, DetailsView, JsFlameGraphView, FlameGraphUtils } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_FLATTEN_RECURSION_PREF, true);
--- a/devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-02.js
+++ b/devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-02.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_FLATTEN_RECURSION_PREF, UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, DetailsView, MemoryFlameGraphView, RecordingUtils, FlameGraphUtils } = panel.panelWin;
 
   // Enable memory to test
--- a/devtools/client/performance/test/browser_perf-options-invert-call-tree-01.js
+++ b/devtools/client/performance/test/browser_perf-options-invert-call-tree-01.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_INVERT_CALL_TREE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsCallTreeView } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_INVERT_CALL_TREE_PREF, true);
--- a/devtools/client/performance/test/browser_perf-options-invert-call-tree-02.js
+++ b/devtools/client/performance/test/browser_perf-options-invert-call-tree-02.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF, UI_INVERT_CALL_TREE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, MemoryCallTreeView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-options-invert-flame-graph-01.js
+++ b/devtools/client/performance/test/browser_perf-options-invert-flame-graph-01.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_INVERT_FLAME_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsFlameGraphView } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_INVERT_FLAME_PREF, true);
--- a/devtools/client/performance/test/browser_perf-options-invert-flame-graph-02.js
+++ b/devtools/client/performance/test/browser_perf-options-invert-flame-graph-02.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF, UI_INVERT_FLAME_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, MemoryFlameGraphView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-options-propagate-allocations.js
+++ b/devtools/client/performance/test/browser_perf-options-propagate-allocations.js
@@ -7,17 +7,17 @@
  * the memory actor.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { MEMORY_SAMPLE_PROB_PREF, MEMORY_MAX_LOG_LEN_PREF, UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel, toolbox } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   // Enable allocations to test.
   Services.prefs.setBoolPref(UI_ENABLE_ALLOCATIONS_PREF, true);
   Services.prefs.setCharPref(MEMORY_SAMPLE_PROB_PREF, "0.213");
--- a/devtools/client/performance/test/browser_perf-options-propagate-profiler.js
+++ b/devtools/client/performance/test/browser_perf-options-propagate-profiler.js
@@ -7,17 +7,17 @@
  * to the profiler actor.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { PROFILER_BUFFER_SIZE_PREF, PROFILER_SAMPLE_RATE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel, toolbox } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   Services.prefs.setIntPref(PROFILER_BUFFER_SIZE_PREF, 1000);
   Services.prefs.setIntPref(PROFILER_SAMPLE_RATE_PREF, 2);
 
--- a/devtools/client/performance/test/browser_perf-options-show-idle-blocks-01.js
+++ b/devtools/client/performance/test/browser_perf-options-show-idle-blocks-01.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_SHOW_IDLE_BLOCKS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsFlameGraphView } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_SHOW_IDLE_BLOCKS_PREF, true);
--- a/devtools/client/performance/test/browser_perf-options-show-idle-blocks-02.js
+++ b/devtools/client/performance/test/browser_perf-options-show-idle-blocks-02.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_ALLOCATIONS_PREF, UI_SHOW_IDLE_BLOCKS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, MemoryFlameGraphView } = panel.panelWin;
 
   // Enable allocations to test.
--- a/devtools/client/performance/test/browser_perf-options-show-jit-optimizations.js
+++ b/devtools/client/performance/test/browser_perf-options-show-jit-optimizations.js
@@ -11,17 +11,17 @@ requestLongerTimeout(2);
 
 Services.prefs.setBoolPref(INVERT_PREF, false);
 
 function* spawnTest() {
   let { panel } = yield initPerformance(SIMPLE_URL);
   let { EVENTS, $, $$, window, PerformanceController } = panel.panelWin;
   let { OverviewView, DetailsView, OptimizationsListView, JsCallTreeView, RecordingsView } = panel.panelWin;
 
-  let profilerData = { threads: [gThread] }
+  let profilerData = { threads: [gThread] };
 
   is(Services.prefs.getBoolPref(JIT_PREF), false, "record JIT Optimizations pref off by default");
   Services.prefs.setBoolPref(JIT_PREF, true);
   is(Services.prefs.getBoolPref(JIT_PREF), true, "toggle on record JIT Optimizations");
 
   // Make two recordings, so we have one to switch to later, as the
   // second one will have fake sample data
   yield startRecording(panel);
@@ -84,29 +84,29 @@ function* spawnTest() {
   mousedown(window, $$(".call-tree-item")[2]);
   yield rendered;
   isHidden = $("#jit-optimizations-view").classList.contains("hidden");
   ok(isHidden, "opts view hidden when jit pref off and selecting a frame with opts");
 
   yield teardown(panel);
   finish();
 
-  function *injectAndRenderProfilerData() {
+  function* injectAndRenderProfilerData() {
     // Get current recording and inject our mock data
     info("Injecting mock profile data");
     let recording = PerformanceController.getCurrentRecording();
     recording._profile = profilerData;
 
     // Force a rerender
     let rendered = once(JsCallTreeView, EVENTS.UI_JS_CALL_TREE_RENDERED);
     JsCallTreeView.render(OverviewView.getTimeInterval());
     yield rendered;
   }
 
-  function *checkFrame (frameIndex, hasOpts) {
+  function* checkFrame(frameIndex, hasOpts) {
     info(`Checking frame ${frameIndex}`);
     // Click the frame
     let rendered = once(JsCallTreeView, "focus");
     mousedown(window, $$(".call-tree-item")[frameIndex]);
     yield rendered;
 
     let isHidden = $("#jit-optimizations-view").classList.contains("hidden");
     if (hasOpts) {
@@ -170,22 +170,22 @@ var gThread = RecordingUtils.deflateThre
 var gRawSite1 = {
   _testFrameInfo: { name: "A", line: "12", file: "@baz" },
   line: 12,
   column: 2,
   types: [{
     mirType: uniqStr("Object"),
     site: uniqStr("A (http://foo/bar/bar:12)"),
     typeset: [{
-        keyedBy: uniqStr("constructor"),
-        name: uniqStr("Foo"),
-        location: uniqStr("A (http://foo/bar/baz:12)")
+      keyedBy: uniqStr("constructor"),
+      name: uniqStr("Foo"),
+      location: uniqStr("A (http://foo/bar/baz:12)")
     }, {
-        keyedBy: uniqStr("primitive"),
-        location: uniqStr("self-hosted")
+      keyedBy: uniqStr("primitive"),
+      location: uniqStr("self-hosted")
     }]
   }],
   attempts: {
     schema: {
       outcome: 0,
       strategy: 1
     },
     data: [
@@ -237,22 +237,22 @@ var gRawSite3 = {
 };
 
 gThread.frameTable.data.forEach((frame) => {
   const LOCATION_SLOT = gThread.frameTable.schema.location;
   const OPTIMIZATIONS_SLOT = gThread.frameTable.schema.optimizations;
 
   let l = gThread.stringTable[frame[LOCATION_SLOT]];
   switch (l) {
-  case "A_O1":
-    frame[LOCATION_SLOT] = uniqStr("A (http://foo/bar/baz:12)");
-    frame[OPTIMIZATIONS_SLOT] = gRawSite1;
-    break;
-  case "B_O2":
-    frame[LOCATION_SLOT] = uniqStr("B (http://foo/bar/boo:10)");
-    frame[OPTIMIZATIONS_SLOT] = gRawSite2;
-    break;
-  case "B_O3":
-    frame[LOCATION_SLOT] = uniqStr("B (http://foo/bar/boo:10)");
-    frame[OPTIMIZATIONS_SLOT] = gRawSite3;
-    break;
+    case "A_O1":
+      frame[LOCATION_SLOT] = uniqStr("A (http://foo/bar/baz:12)");
+      frame[OPTIMIZATIONS_SLOT] = gRawSite1;
+      break;
+    case "B_O2":
+      frame[LOCATION_SLOT] = uniqStr("B (http://foo/bar/boo:10)");
+      frame[OPTIMIZATIONS_SLOT] = gRawSite2;
+      break;
+    case "B_O3":
+      frame[LOCATION_SLOT] = uniqStr("B (http://foo/bar/boo:10)");
+      frame[OPTIMIZATIONS_SLOT] = gRawSite3;
+      break;
   }
 });
--- a/devtools/client/performance/test/browser_perf-options-show-platform-data-01.js
+++ b/devtools/client/performance/test/browser_perf-options-show-platform-data-01.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_SHOW_PLATFORM_DATA_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsCallTreeView } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_SHOW_PLATFORM_DATA_PREF, true);
--- a/devtools/client/performance/test/browser_perf-options-show-platform-data-02.js
+++ b/devtools/client/performance/test/browser_perf-options-show-platform-data-02.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_SHOW_PLATFORM_DATA_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, DetailsView, JsFlameGraphView } = panel.panelWin;
 
   Services.prefs.setBoolPref(UI_SHOW_PLATFORM_DATA_PREF, true);
--- a/devtools/client/performance/test/browser_perf-overview-render-01.js
+++ b/devtools/client/performance/test/browser_perf-overview-render-01.js
@@ -7,17 +7,17 @@
  */
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-overview-render-02.js
+++ b/devtools/client/performance/test/browser_perf-overview-render-02.js
@@ -9,17 +9,17 @@
 
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView } = panel.panelWin;
 
   // Enable memory to test.
--- a/devtools/client/performance/test/browser_perf-overview-render-03.js
+++ b/devtools/client/performance/test/browser_perf-overview-render-03.js
@@ -7,17 +7,17 @@
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceController, OverviewView } = panel.panelWin;
 
   // Enable memory to test.
--- a/devtools/client/performance/test/browser_perf-overview-render-04.js
+++ b/devtools/client/performance/test/browser_perf-overview-render-04.js
@@ -9,17 +9,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 const { isVisible } = require("devtools/client/performance/test/helpers/dom-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, EVENTS, PerformanceController, RecordingsView, OverviewView } = panel.panelWin;
 
   // Enable memory to test.
--- a/devtools/client/performance/test/browser_perf-overview-selection-01.js
+++ b/devtools/client/performance/test/browser_perf-overview-selection-01.js
@@ -8,17 +8,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 const { idleWait } = require("devtools/client/performance/test/helpers/wait-utils");
 const { dragStartCanvasGraph, dragStopCanvasGraph, clickCanvasGraph } = require("devtools/client/performance/test/helpers/input-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, OverviewView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-overview-selection-02.js
+++ b/devtools/client/performance/test/browser_perf-overview-selection-02.js
@@ -6,17 +6,17 @@
  * Tests that the graphs' selection is correctly disabled or enabled.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { OverviewView } = panel.panelWin;
 
   // Enable memory to test.
--- a/devtools/client/performance/test/browser_perf-overview-selection-03.js
+++ b/devtools/client/performance/test/browser_perf-overview-selection-03.js
@@ -8,17 +8,17 @@
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { times } = require("devtools/client/performance/test/helpers/event-utils");
 const { dragStartCanvasGraph, dragStopCanvasGraph } = require("devtools/client/performance/test/helpers/input-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView } = panel.panelWin;
 
   // Enable memory to test.
--- a/devtools/client/performance/test/browser_perf-overview-time-interval.js
+++ b/devtools/client/performance/test/browser_perf-overview-time-interval.js
@@ -7,17 +7,17 @@
  * work properly.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView } = panel.panelWin;
 
   try {
--- a/devtools/client/performance/test/browser_perf-private-browsing.js
+++ b/devtools/client/performance/test/browser_perf-private-browsing.js
@@ -9,17 +9,17 @@
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { addWindow } = require("devtools/client/performance/test/helpers/tab-utils");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
 let gPanelWinTuples = [];
 
-add_task(function*() {
+add_task(function* () {
   yield testNormalWindow();
   yield testPrivateWindow();
   yield testRecordingFailingInWindow(0);
   yield testRecordingFailingInWindow(1);
   yield teardownPerfInWindow(1, { shouldCloseWindow: true, dontWaitForTabClose: true });
   yield testRecordingSucceedingInWindow(0);
   yield teardownPerfInWindow(0, { shouldCloseWindow: false });
 
--- a/devtools/client/performance/test/browser_perf-range-changed-render.js
+++ b/devtools/client/performance/test/browser_perf-range-changed-render.js
@@ -6,17 +6,17 @@
  * Tests that the detail views are rerendered after the range changes.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, OverviewView, DetailsView, WaterfallView, JsCallTreeView, JsFlameGraphView } = panel.panelWin;
 
   let updatedWaterfall = 0;
--- a/devtools/client/performance/test/browser_perf-recording-notices-01.js
+++ b/devtools/client/performance/test/browser_perf-recording-notices-01.js
@@ -6,17 +6,17 @@
  * Tests that the recording notice panes are toggled in correct scenarios
  * for initialization and a single recording.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, PerformanceView } = panel.panelWin;
 
   let MAIN_CONTAINER = $("#performance-view");
--- a/devtools/client/performance/test/browser_perf-recording-notices-02.js
+++ b/devtools/client/performance/test/browser_perf-recording-notices-02.js
@@ -7,17 +7,17 @@
  * a completed recording and an in-progress recording.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, $, PerformanceController, PerformanceView, RecordingsView } = panel.panelWin;
 
   let MAIN_CONTAINER = $("#performance-view");
--- a/devtools/client/performance/test/browser_perf-recording-notices-03.js
+++ b/devtools/client/performance/test/browser_perf-recording-notices-03.js
@@ -11,17 +11,17 @@
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { PROFILER_BUFFER_SIZE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { PMM_loadFrameScripts, PMM_stopProfiler, PMM_clearFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   // Make sure the profiler module is stopped so we can set a new buffer limit.
   PMM_loadFrameScripts(gBrowser);
   yield PMM_stopProfiler();
 
   // Keep the profiler's buffer large, but still get to 1% relatively quick.
   Services.prefs.setIntPref(PROFILER_BUFFER_SIZE_PREF, 1000000);
 
   let { target, console } = yield initConsoleInNewTab({
@@ -38,33 +38,33 @@ add_task(function*() {
   let DETAILS_CONTAINER = $("#details-pane-container");
   let NORMAL_BUFFER_STATUS_MESSAGE = $("#recording-notice .buffer-status-message");
   let CONSOLE_BUFFER_STATUS_MESSAGE = $("#console-recording-notice .buffer-status-message");
   let gPercent;
 
   // Start a manual recording.
   yield startRecording(panel);
 
-  yield waitUntil(function*() {
+  yield waitUntil(function* () {
     [, gPercent] = yield once(PerformanceView, EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED, { spreadArgs: true });
     return gPercent > 0;
   });
 
   ok(true, "Buffer percentage increased in display (1).");
 
   let bufferUsage = PerformanceController.getBufferUsageForRecording(PerformanceController.getCurrentRecording());
   either(DETAILS_CONTAINER.getAttribute("buffer-status"), "in-progress", "full",
     "Container has [buffer-status=in-progress] or [buffer-status=full].");
   ok(NORMAL_BUFFER_STATUS_MESSAGE.value.indexOf(gPercent + "%") !== -1,
     "Buffer status text has correct percentage.");
 
   // Start a console profile.
   yield console.profile("rust");
 
-  yield waitUntil(function*() {
+  yield waitUntil(function* () {
     [, gPercent] = yield once(PerformanceView, EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED, { spreadArgs: true });
     return gPercent > Math.floor(bufferUsage * 100);
   });
 
   ok(true, "Buffer percentage increased in display (2).");
 
   bufferUsage = PerformanceController.getBufferUsageForRecording(PerformanceController.getCurrentRecording());
   either(DETAILS_CONTAINER.getAttribute("buffer-status"), "in-progress", "full",
@@ -72,17 +72,17 @@ add_task(function*() {
   ok(NORMAL_BUFFER_STATUS_MESSAGE.value.indexOf(gPercent + "%") !== -1,
     "Buffer status text has correct percentage.");
 
   // Select the console recording.
   let selected = once(PerformanceController, EVENTS.RECORDING_SELECTED);
   RecordingsView.selectedIndex = 1;
   yield selected;
 
-  yield waitUntil(function*() {
+  yield waitUntil(function* () {
     [, gPercent] = yield once(PerformanceView, EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED, { spreadArgs: true });
     return gPercent > 0;
   });
 
   ok(true, "Percentage updated for newly selected recording.");
 
   either(DETAILS_CONTAINER.getAttribute("buffer-status"), "in-progress", "full",
     "Container has [buffer-status=in-progress] or [buffer-status=full].");
@@ -91,17 +91,17 @@ add_task(function*() {
 
   // Stop the console profile, then select the original manual recording.
   yield console.profileEnd("rust");
 
   selected = once(PerformanceController, EVENTS.RECORDING_SELECTED);
   RecordingsView.selectedIndex = 0;
   yield selected;
 
-  yield waitUntil(function*() {
+  yield waitUntil(function* () {
     [, gPercent] = yield once(PerformanceView, EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED, { spreadArgs: true });
     return gPercent > Math.floor(bufferUsage * 100);
   });
 
   ok(true, "Buffer percentage increased in display (3).");
 
   either(DETAILS_CONTAINER.getAttribute("buffer-status"), "in-progress", "full",
     "Container has [buffer-status=in-progress] or [buffer-status=full].");
--- a/devtools/client/performance/test/browser_perf-recording-notices-04.js
+++ b/devtools/client/performance/test/browser_perf-recording-notices-04.js
@@ -10,17 +10,17 @@
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { PROFILER_BUFFER_SIZE_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { PMM_loadFrameScripts, PMM_stopProfiler, PMM_clearFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   // Make sure the profiler module is stopped so we can set a new buffer limit.
   PMM_loadFrameScripts(gBrowser);
   yield PMM_stopProfiler();
 
   // Keep the profiler's buffer small, to get to 100% really quickly.
   Services.prefs.setIntPref(PROFILER_BUFFER_SIZE_PREF, 10000);
 
   let { panel } = yield initPerformanceInNewTab({
@@ -35,17 +35,17 @@ add_task(function*() {
 
   let DETAILS_CONTAINER = $("#details-pane-container");
   let NORMAL_BUFFER_STATUS_MESSAGE = $("#recording-notice .buffer-status-message");
   let gPercent;
 
   // Start a manual recording.
   yield startRecording(panel);
 
-  yield waitUntil(function*() {
+  yield waitUntil(function* () {
     [, gPercent] = yield once(PerformanceView, EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED, { spreadArgs: true });
     return gPercent == 100;
   });
 
   ok(true, "Buffer percentage increased in display.");
 
   let bufferUsage = PerformanceController.getBufferUsageForRecording(PerformanceController.getCurrentRecording());
   ok(bufferUsage, 1, "Buffer is full for this recording.");
--- a/devtools/client/performance/test/browser_perf-recording-notices-05.js
+++ b/devtools/client/performance/test/browser_perf-recording-notices-05.js
@@ -4,17 +4,17 @@
 
 /**
  * Tests that the circular buffer notices work when e10s is on/off.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { gFront, $, PerformanceController } = panel.panelWin;
 
   // Set a fast profiler-status update interval
--- a/devtools/client/performance/test/browser_perf-recording-selected-01.js
+++ b/devtools/client/performance/test/browser_perf-recording-selected-01.js
@@ -7,17 +7,17 @@
  * successfully switch between them.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, RecordingsView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-recording-selected-02.js
+++ b/devtools/client/performance/test/browser_perf-recording-selected-02.js
@@ -7,17 +7,17 @@
  * successfully switch between them, even when one of them is in progress.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   // This test seems to take a very long time to finish on Linux VMs.
   requestLongerTimeout(4);
 
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
--- a/devtools/client/performance/test/browser_perf-recording-selected-03.js
+++ b/devtools/client/performance/test/browser_perf-recording-selected-03.js
@@ -8,17 +8,17 @@
  * selected recording changes.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, EVENTS, PerformanceController, RecordingsView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-recording-selected-04.js
+++ b/devtools/client/performance/test/browser_perf-recording-selected-04.js
@@ -6,17 +6,17 @@
  * Tests that all components can get rerendered for a profile when switching.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF, UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording, waitForAllWidgetsRendered } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { DetailsView, DetailsSubview, RecordingsView } = panel.panelWin;
 
   // Enable memory to test the memory overview.
--- a/devtools/client/performance/test/browser_perf-recordings-clear-01.js
+++ b/devtools/client/performance/test/browser_perf-recordings-clear-01.js
@@ -6,17 +6,17 @@
  * Tests that clearing recordings empties out the recordings list and toggles
  * the empty notice state.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPanelInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPanelInNewTab({
     tool: "performance",
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceController, PerformanceView, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-recordings-clear-02.js
+++ b/devtools/client/performance/test/browser_perf-recordings-clear-02.js
@@ -7,17 +7,17 @@
  * a current recording if recording and can continue recording after.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPanelInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { times, once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPanelInNewTab({
     tool: "performance",
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, PerformanceView, RecordingsView } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-recordings-io-01.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if the performance tool is able to save and load recordings.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   var { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   var { $, EVENTS, PerformanceController, PerformanceView, DetailsView, DetailsSubview } = panel.panelWin;
 
   // Enable allocations to test the memory-calltree and memory-flamegraph.
   Services.prefs.setBoolPref(ALLOCATIONS_PREF, true);
   Services.prefs.setBoolPref(MEMORY_PREF, true);
   Services.prefs.setBoolPref(FRAMERATE_PREF, true);
 
--- a/devtools/client/performance/test/browser_perf-recordings-io-02.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-02.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests if the performance tool gracefully handles loading bogus files.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   let { EVENTS, PerformanceController } = panel.panelWin;
 
   let file = FileUtils.getFile("TmpD", ["tmpprofile.json"]);
   file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
 
   try {
     yield PerformanceController.importRecording("", file);
--- a/devtools/client/performance/test/browser_perf-recordings-io-03.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-03.js
@@ -4,17 +4,17 @@
 /**
  * Tests if the performance tool gracefully handles loading files that are JSON,
  * but don't contain the appropriate recording data.
  */
 
 var { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   let { EVENTS, PerformanceController } = panel.panelWin;
 
   let file = FileUtils.getFile("TmpD", ["tmpprofile.json"]);
   file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
   yield asyncCopy({ bogus: "data" }, file);
 
   try {
--- a/devtools/client/performance/test/browser_perf-recordings-io-04.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-04.js
@@ -63,17 +63,17 @@ var PROFILER_DATA = (function () {
   let meta = data.meta = {};
   meta.version = 2;
   meta.interval = 1;
   meta.stackwalk = 0;
   meta.product = "Firefox";
   return data;
 })();
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   let { $, EVENTS, PerformanceController, DetailsView, OverviewView, JsCallTreeView } = panel.panelWin;
 
   // Enable memory to test the memory-calltree and memory-flamegraph.
   Services.prefs.setBoolPref(ALLOCATIONS_PREF, true);
 
   // Create a structure from the data that mimics the old profiler's data.
   // Different name for `ticks`, different way of storing time,
@@ -133,17 +133,17 @@ var test = Task.async(function*() {
     sampleFrequency: void 0
   });
 
   for (let field in expected) {
     if (!!~["withTicks", "withMemory", "sampleFrequency"].indexOf(field)) {
       is(importedData.configuration[field], expected[field], `${field} successfully converted in legacy import.`);
     } else if (field === "profile") {
       is(importedData.profile.toSource(), expected.profile,
-        `profiler data's samples successfully converted in legacy import.`);
+        "profiler data's samples successfully converted in legacy import.");
       is(importedData.profile.meta.version, 3, "Updated meta version to 3.");
     } else {
       let data = importedData[field];
       is(typeof data === "object" ? data.toSource() : data, expected[field],
         `${field} successfully converted in legacy import.`);
     }
   }
 
--- a/devtools/client/performance/test/browser_perf-recordings-io-05.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-05.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that when importing and no graphs rendered yet, we do not get a
  * `getMappedSelection` error.
  */
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   var { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   var { EVENTS, PerformanceController, WaterfallView } = panel.panelWin;
 
   yield startRecording(panel);
   yield stopRecording(panel);
 
   // Save recording.
 
--- a/devtools/client/performance/test/browser_perf-recordings-io-06.js
+++ b/devtools/client/performance/test/browser_perf-recordings-io-06.js
@@ -78,17 +78,17 @@ var PROFILER_DATA = (function () {
   let meta = data.meta = {};
   meta.version = 2;
   meta.interval = 1;
   meta.stackwalk = 0;
   meta.product = "Firefox";
   return data;
 })();
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let { target, panel, toolbox } = yield initPerformance(SIMPLE_URL);
   let { $, EVENTS, PerformanceController, DetailsView, JsCallTreeView } = panel.panelWin;
 
   let profilerData = {
     profile: PROFILER_DATA,
     duration: 10000,
     configuration: {},
     fileType: "Recorded Performance Data",
--- a/devtools/client/performance/test/browser_perf-refresh.js
+++ b/devtools/client/performance/test/browser_perf-refresh.js
@@ -6,17 +6,17 @@
  * Rough test that the recording still continues after a refresh.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording, reload } = require("devtools/client/performance/test/helpers/actions");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel, target } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceController } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_perf-states.js
+++ b/devtools/client/performance/test/browser_perf-states.js
@@ -6,17 +6,17 @@
  * Tests that view states and lazy component intialization works.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF, UI_ENABLE_ALLOCATIONS_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceView, OverviewView, DetailsView } = panel.panelWin;
 
   is(PerformanceView.getState(), "empty",
--- a/devtools/client/performance/test/browser_perf-telemetry-01.js
+++ b/devtools/client/performance/test/browser_perf-telemetry-01.js
@@ -7,17 +7,17 @@
  * Specificaly the state about a recording process.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { UI_ENABLE_MEMORY_PREF } = require("devtools/client/performance/test/helpers/prefs");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { PerformanceController } = panel.panelWin;
 
   let telemetry = PerformanceController._telemetry;
--- a/devtools/client/performance/test/browser_perf-telemetry-02.js
+++ b/devtools/client/performance/test/browser_perf-telemetry-02.js
@@ -7,17 +7,17 @@
  * Specifically export/import.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController } = panel.panelWin;
 
   let telemetry = PerformanceController._telemetry;
--- a/devtools/client/performance/test/browser_perf-telemetry-03.js
+++ b/devtools/client/performance/test/browser_perf-telemetry-03.js
@@ -7,17 +7,17 @@
  * Specifically the destruction of certain views.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { EVENTS, PerformanceController, DetailsView, JsCallTreeView, JsFlameGraphView } = panel.panelWin;
 
   let telemetry = PerformanceController._telemetry;
--- a/devtools/client/performance/test/browser_perf-telemetry-04.js
+++ b/devtools/client/performance/test/browser_perf-telemetry-04.js
@@ -5,17 +5,17 @@
 /**
  * Tests that the performance telemetry module records events at appropriate times.
  */
 
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInTab, initConsoleInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { waitForRecordingStartedEvents, waitForRecordingStoppedEvents } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { target, console } = yield initConsoleInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { panel } = yield initPerformanceInTab({ tab: target.tab });
   let { PerformanceController } = panel.panelWin;
 
--- a/devtools/client/performance/test/browser_perf-tree-abstract-01.js
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-01.js
@@ -6,17 +6,17 @@
  * Tests if the abstract tree base class for the profiler's tree view
  * works as advertised.
  */
 
 const { appendAndWaitForPaint } = require("devtools/client/performance/test/helpers/dom-utils");
 const { synthesizeCustomTreeClass } = require("devtools/client/performance/test/helpers/synth-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();
 
   let container = document.createElement("vbox");
   yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);
 
   // Populate the tree and test the root item...
 
   let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
--- a/devtools/client/performance/test/browser_perf-tree-abstract-02.js
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-02.js
@@ -6,17 +6,17 @@
  * Tests if the abstract tree base class for the profiler's tree view
  * has a functional public API.
  */
 
 const { appendAndWaitForPaint } = require("devtools/client/performance/test/helpers/dom-utils");
 const { synthesizeCustomTreeClass } = require("devtools/client/performance/test/helpers/synth-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();
 
   let container = document.createElement("vbox");
   yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);
 
   // Populate the tree and test the root item...
 
   let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
--- a/devtools/client/performance/test/browser_perf-tree-abstract-03.js
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-03.js
@@ -6,17 +6,17 @@
  * Tests if the abstract tree base class for the profiler's tree view
  * is keyboard accessible.
  */
 
 const { appendAndWaitForPaint } = require("devtools/client/performance/test/helpers/dom-utils");
 const { synthesizeCustomTreeClass } = require("devtools/client/performance/test/helpers/synth-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();
 
   let container = document.createElement("vbox");
   yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);
 
   // Populate the tree by pressing RIGHT...
 
   let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
--- a/devtools/client/performance/test/browser_perf-tree-abstract-04.js
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-04.js
@@ -5,17 +5,17 @@
 /**
  * Tests that the treeview expander arrow doesn't react to dblclick events.
  */
 
 const { appendAndWaitForPaint } = require("devtools/client/performance/test/helpers/dom-utils");
 const { synthesizeCustomTreeClass } = require("devtools/client/performance/test/helpers/synth-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();
 
   let container = document.createElement("vbox");
   yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);
 
   // Populate the tree and test the root item...
 
   let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
--- a/devtools/client/performance/test/browser_perf-tree-view-01.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-01.js
@@ -6,17 +6,17 @@
  * Tests if the profiler's tree view implementation works properly and
  * creates the correct column structure.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
-add_task(function() {
+add_task(function () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-02.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-02.js
@@ -10,17 +10,17 @@
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
 const MANGLED_FN = "__Z3FooIiEvv";
 const UNMANGLED_FN = "void Foo<int>()";
 
-add_task(function() {
+add_task(function () {
   // Create a profile and mangle a function inside the string table.
   let profile = synthesizeProfile();
 
   profile.threads[0].stringTable[1] =
     profile.threads[0].stringTable[1].replace("A (", `${MANGLED_FN} (`);
 
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
--- a/devtools/client/performance/test/browser_perf-tree-view-03.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-03.js
@@ -6,17 +6,17 @@
  * Tests if the profiler's tree view implementation works properly and
  * creates the correct column structure and can auto-expand all nodes.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
-add_task(function() {
+add_task(function () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-04.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-04.js
@@ -6,17 +6,17 @@
  * Tests if the profiler's tree view implementation works properly and
  * creates the correct DOM nodes in the correct order.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
-add_task(function() {
+add_task(function () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-05.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-05.js
@@ -6,17 +6,17 @@
  * Tests if the profiler's tree view implementation works properly and
  * can toggle categories hidden or visible.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
-add_task(function() {
+add_task(function () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-06.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-06.js
@@ -7,17 +7,17 @@
  * correctly emits events when certain DOM nodes are clicked.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 const { idleWait, waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
-add_task(function*() {
+add_task(function* () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-07.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-07.js
@@ -6,17 +6,17 @@
  * Tests if the profiler's tree view implementation works properly and
  * has the correct 'root', 'parent', 'level' etc. accessors on child nodes.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { synthesizeProfile } = require("devtools/client/performance/test/helpers/synth-utils");
 
-add_task(function() {
+add_task(function () {
   let profile = synthesizeProfile();
   let threadNode = new ThreadNode(profile.threads[0], { startTime: 0, endTime: 20 });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode });
   let container = document.createElement("vbox");
--- a/devtools/client/performance/test/browser_perf-tree-view-08.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-08.js
@@ -7,17 +7,17 @@
  * when `contentOnly` is on correctly.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const { CATEGORY_MASK } = require("devtools/client/performance/modules/categories");
 const RecordingUtils = require("devtools/shared/performance/recording-utils");
 
-add_task(function() {
+add_task(function () {
   let threadNode = new ThreadNode(gProfile.threads[0], { startTime: 0, endTime: 20, contentOnly: true });
 
   // Don't display the synthesized (root) and the real (root) node twice.
   threadNode.calls = threadNode.calls[0].calls;
 
   let treeRoot = new CallView({ frame: threadNode, autoExpandDepth: 10 });
   let container = document.createElement("vbox");
   treeRoot.attachTo(container);
--- a/devtools/client/performance/test/browser_perf-tree-view-09.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-09.js
@@ -6,17 +6,17 @@
  * Tests that the profiler's tree view sorts inverted call trees by
  * "self cost" and not "total cost".
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const RecordingUtils = require("devtools/shared/performance/recording-utils");
 
-add_task(function() {
+add_task(function () {
   let threadNode = new ThreadNode(gProfile.threads[0], { startTime: 0, endTime: 20, invertTree: true });
   let treeRoot = new CallView({ frame: threadNode, inverted: true });
   let container = document.createElement("vbox");
   treeRoot.attachTo(container);
 
   is(treeRoot.getChild(0).frame.location, "B",
     "The tree root's first child is the `B` function.");
   is(treeRoot.getChild(1).frame.location, "A",
--- a/devtools/client/performance/test/browser_perf-tree-view-10.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-10.js
@@ -6,26 +6,26 @@
  * Tests if the profiler's tree view, when inverted, displays the self and
  * total costs correctly.
  */
 
 const { ThreadNode } = require("devtools/client/performance/modules/logic/tree-model");
 const { CallView } = require("devtools/client/performance/modules/widgets/tree-view");
 const RecordingUtils = require("devtools/shared/performance/recording-utils");
 
-add_task(function() {
+add_task(function () {
   let threadNode = new ThreadNode(gProfile.threads[0], { startTime: 0, endTime: 50, invertTree: true });
   let treeRoot = new CallView({ frame: threadNode, inverted: true });
   let container = document.createElement("vbox");
   treeRoot.attachTo(container);
 
   // Add 1 to each index to skip the hidden root node
-  let $$nam = i => container.querySelectorAll(".call-tree-cell[type=function] > .call-tree-name")[i+1];
-  let $$per = i => container.querySelectorAll(".call-tree-cell[type=percentage]")[i+1];
-  let $$selfper = i => container.querySelectorAll(".call-tree-cell[type='self-percentage']")[i+1];
+  let $$nam = i => container.querySelectorAll(".call-tree-cell[type=function] > .call-tree-name")[i + 1];
+  let $$per = i => container.querySelectorAll(".call-tree-cell[type=percentage]")[i + 1];
+  let $$selfper = i => container.querySelectorAll(".call-tree-cell[type='self-percentage']")[i + 1];
 
   /**
    * Samples:
    *
    * A->C
    * A->B
    * A->B->C x4
    * A->B->D x4
@@ -45,24 +45,24 @@ add_task(function() {
    * +---------+--------+----------+
    */
 
   is(container.childNodes.length, 10,
     "The container node should have all children available.");
 
   [ // total, self, indent + name
     [ 50, 50, "C"],
-    [ 40,  0, "  B"],
-    [ 30,  0, "    A"],
-    [ 10,  0, "  A"],
+    [ 40, 0, "  B"],
+    [ 30, 0, "    A"],
+    [ 10, 0, "  A"],
     [ 40, 40, "D"],
-    [ 40,  0, "  B"],
-    [ 40,  0, "    A"],
+    [ 40, 0, "  B"],
+    [ 40, 0, "    A"],
     [ 10, 10, "B"],
-    [ 10,  0, "  A"],
+    [ 10, 0, "  A"],
   ].forEach(function (def, i) {
     info(`Checking ${i}th tree item.`);
 
     let [total, self, name] = def;
     name = name.trim();
 
     is($$nam(i).textContent.trim(), name, `${name} has correct name.`);
     is($$per(i).textContent.trim(), `${total}%`, `${name} has correct total percent.`);
--- a/devtools/client/performance/test/browser_perf-tree-view-11.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-11.js
@@ -49,17 +49,17 @@ function* spawnTest() {
         ok(false, `Unidentified frame: ${name}`);
         break;
     }
   }
 
   yield teardown(panel);
   finish();
 
-  function *injectAndRenderProfilerData() {
+  function* injectAndRenderProfilerData() {
     // Get current recording and inject our mock data
     info("Injecting mock profile data");
     let recording = PerformanceController.getCurrentRecording();
     recording._profile = profilerData;
 
     // Force a rerender
     let rendered = once(JsCallTreeView, EVENTS.UI_JS_CALL_TREE_RENDERED);
     JsCallTreeView.render(OverviewView.getTimeInterval());
@@ -93,37 +93,37 @@ var gThread = RecordingUtils.deflateThre
     frames: [
       { location: "(root)" },
       { location: "C (http://foo/bar/baz:56)" }
     ]
   }, {
     time: 5 + 1 + 2,
     frames: [
       { location: "(root)" },
-      { category: CATEGORY_MASK("other"),  location: "PlatformCode" }
+      { category: CATEGORY_MASK("other"), location: "PlatformCode" }
     ]
   }],
   markers: []
 }, gUniqueStacks);
 
 // 3 RawOptimizationSites
 var gRawSite1 = {
   _testFrameInfo: { name: "A", line: "12", file: "@baz" },
   line: 12,
   column: 2,
   types: [{
     mirType: uniqStr("Object"),
     site: uniqStr("A (http://foo/bar/bar:12)"),
     typeset: [{
-        keyedBy: uniqStr("constructor"),
-        name: uniqStr("Foo"),
-        location: uniqStr("A (http://foo/bar/baz:12)")
+      keyedBy: uniqStr("constructor"),
+      name: uniqStr("Foo"),
+      location: uniqStr("A (http://foo/bar/baz:12)")
     }, {
-        keyedBy: uniqStr("primitive"),
-        location: uniqStr("self-hosted")
+      keyedBy: uniqStr("primitive"),
+      location: uniqStr("self-hosted")
     }]
   }],
   attempts: {
     schema: {
       outcome: 0,
       strategy: 1
     },
     data: [
@@ -135,18 +135,18 @@ var gRawSite1 = {
 };
 
 gThread.frameTable.data.forEach((frame) => {
   const LOCATION_SLOT = gThread.frameTable.schema.location;
   const OPTIMIZATIONS_SLOT = gThread.frameTable.schema.optimizations;
 
   let l = gThread.stringTable[frame[LOCATION_SLOT]];
   switch (l) {
-  case "A (http://foo:1)":
-    frame[LOCATION_SLOT] = uniqStr("A (http://foo:1)");
-    frame[OPTIMIZATIONS_SLOT] = gRawSite1;
-    break;
-  case "PlatformCode":
-    frame[LOCATION_SLOT] = uniqStr("PlatformCode");
-    frame[OPTIMIZATIONS_SLOT] = gRawSite1;
-    break;
+    case "A (http://foo:1)":
+      frame[LOCATION_SLOT] = uniqStr("A (http://foo:1)");
+      frame[OPTIMIZATIONS_SLOT] = gRawSite1;
+      break;
+    case "PlatformCode":
+      frame[LOCATION_SLOT] = uniqStr("PlatformCode");
+      frame[OPTIMIZATIONS_SLOT] = gRawSite1;
+      break;
   }
 });
--- a/devtools/client/performance/test/browser_perf-ui-recording.js
+++ b/devtools/client/performance/test/browser_perf-ui-recording.js
@@ -7,17 +7,17 @@
  * in the UI.
  */
 
 const { PMM_loadFrameScripts, PMM_isProfilerActive, PMM_clearFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   PMM_loadFrameScripts(gBrowser);
 
   ok(!(yield PMM_isProfilerActive()),
--- a/devtools/client/performance/test/browser_timeline-waterfall-background.js
+++ b/devtools/client/performance/test/browser_timeline-waterfall-background.js
@@ -7,17 +7,17 @@
  * the container bounds.
  */
 
 const { WATERFALL_MARKER_SIDEBAR_SAFE_BOUNDS } = require("devtools/client/performance/modules/widgets/marker-view");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording, waitForOverviewRenderedWithMarkers } = require("devtools/client/performance/test/helpers/actions");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, WaterfallView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_timeline-waterfall-generic.js
+++ b/devtools/client/performance/test/browser_timeline-waterfall-generic.js
@@ -7,17 +7,17 @@
  */
 
 const { WATERFALL_MARKER_SIDEBAR_SAFE_BOUNDS } = require("devtools/client/performance/modules/widgets/marker-view");
 const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
 const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils");
 const { startRecording, stopRecording, waitForOverviewRenderedWithMarkers } = require("devtools/client/performance/test/helpers/actions");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
-add_task(function*() {
+add_task(function* () {
   let { panel } = yield initPerformanceInNewTab({
     url: SIMPLE_URL,
     win: window
   });
 
   let { $, $$, EVENTS, WaterfallView } = panel.panelWin;
 
   yield startRecording(panel);
--- a/devtools/client/performance/test/browser_timeline-waterfall-workers.js
+++ b/devtools/client/performance/test/browser_timeline-waterfall-workers.js
@@ -65,29 +65,29 @@ function testWorkerMarkerUI(node) {
   ok(node.hasAttribute("otmt"),
     "The marker node specifies if it is off the main thread or not.");
 }
 
 /**
  * Takes a string `script` and evaluates it directly in the content
  * in potentially a different process.
  */
-function evalInDebuggee (script) {
-  let { generateUUID } = Cc['@mozilla.org/uuid-generator;1'].getService(Ci.nsIUUIDGenerator);
+function evalInDebuggee(script) {
+  let { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
   let deferred = Promise.defer();
 
   if (!mm) {
     throw new Error("`loadFrameScripts()` must be called when using MessageManager.");
   }
 
   let id = generateUUID().toString();
   mm.sendAsyncMessage("devtools:test:eval", { script: script, id: id });
   mm.addMessageListener("devtools:test:eval:response", handler);
 
-  function handler ({ data }) {
+  function handler({ data }) {
     if (id !== data.id) {
       return;
     }
 
     mm.removeMessageListener("devtools:test:eval:response", handler);
     deferred.resolve(data.value);
   }
 
--- a/devtools/client/performance/test/head.js
+++ b/devtools/client/performance/test/head.js
@@ -17,17 +17,17 @@ requestLongerTimeout(3);
 const either = (value, a, b, message) => {
   if (value == a) {
     is(value, a, message);
   } else if (value == b) {
     is(value, b, message);
   } else {
     ok(false, message);
   }
-}
+};
 
 // Shortcut for simulating a click on an element.
 const click = (node, win = window) => {
   EventUtils.sendMouseEvent({ type: "click" }, node, win);
 };
 
 // Shortcut for simulating a double click on an element.
 const dblclick = (node, win = window) => {
@@ -63,17 +63,17 @@ const key = (id, win = window) => {
       "and avoid interfering with future tests.\n");
   });
 
   // By default, enable memory flame graphs for tests for now.
   // TODO: remove when we have flame charts via bug 1148663.
   Services.prefs.setBoolPref(PrefUtils.UI_ENABLE_MEMORY_FLAME_CHART, true);
 
   registerCleanupFunction(() => {
-    info(`finish() was called, cleaning up...`);
+    info("finish() was called, cleaning up...");
     DevToolsUtils.testing = false;
 
     PrefUtils.rollbackPrefsToDefault();
     stopObservingPrefs();
 
     // Manually stop the profiler module at the end of all tests, to hopefully
     // avoid at least some leaks on OSX. Theoretically the module should never
     // be active at this point. We shouldn't have to do this, but rather
--- a/devtools/client/performance/test/helpers/actions.js
+++ b/devtools/client/performance/test/helpers/actions.js
@@ -5,75 +5,75 @@
 const { Constants } = require("devtools/client/performance/modules/constants");
 const { once, times } = require("devtools/client/performance/test/helpers/event-utils");
 const { waitUntil } = require("devtools/client/performance/test/helpers/wait-utils");
 
 /**
  * Starts a manual recording in the given performance tool panel and
  * waits for it to finish starting.
  */
-exports.startRecording = function(panel, options = {}) {
+exports.startRecording = function (panel, options = {}) {
   let controller = panel.panelWin.PerformanceController;
 
   return Promise.all([
     controller.startRecording(),
     exports.waitForRecordingStartedEvents(panel, options)
   ]);
 };
 
 /**
  * Stops the latest recording in the given performance tool panel and
  * waits for it to finish stopping.
  */
-exports.stopRecording = function(panel, options = {}) {
+exports.stopRecording = function (panel, options = {}) {
   let controller = panel.panelWin.PerformanceController;
 
   return Promise.all([
     controller.stopRecording(),
     exports.waitForRecordingStoppedEvents(panel, options)
   ]);
 };
 
 /**
  * Waits for all the necessary events to be emitted after a recording starts.
  */
-exports.waitForRecordingStartedEvents = function(panel, options={}) {
+exports.waitForRecordingStartedEvents = function (panel, options = {}) {
   options.expectedViewState = options.expectedViewState || /^(console-)?recording$/;
 
   let EVENTS = panel.panelWin.EVENTS;
   let controller = panel.panelWin.PerformanceController;
   let view = panel.panelWin.PerformanceView;
   let overview = panel.panelWin.OverviewView;
 
   return Promise.all([
     options.skipWaitingForBackendReady
       ? null
       : once(controller, EVENTS.BACKEND_READY_AFTER_RECORDING_START),
     options.skipWaitingForRecordingStarted
       ? null
       : once(controller, EVENTS.RECORDING_STATE_CHANGE, {
-          expectedArgs: { "1": "recording-started" }
-        }),
+        expectedArgs: { "1": "recording-started" }
+      }),
     options.skipWaitingForViewState
       ? null
       : once(view, EVENTS.UI_STATE_CHANGED, {
-          expectedArgs: { "1": options.expectedViewState }
-       }),
+        expectedArgs: { "1": options.expectedViewState }
+      }),
     options.skipWaitingForOverview
       ? null
       : once(overview, EVENTS.UI_OVERVIEW_RENDERED, {
-          expectedArgs: { "1": Constants.FRAMERATE_GRAPH_LOW_RES_INTERVAL }
-        }),
+        expectedArgs: { "1": Constants.FRAMERATE_GRAPH_LOW_RES_INTERVAL }
+      }),
   ]);
 };
 
 /**
  * Waits for all the necessary events to be emitted after a recording finishes.
  */
-exports.waitForRecordingStoppedEvents = function(panel, options={}) {
+exports.waitForRecordingStoppedEvents = function (panel, options = {}) {
   options.expectedViewClass = options.expectedViewClass || "WaterfallView";
   options.expectedViewEvent = options.expectedViewEvent || "UI_WATERFALL_RENDERED";
   options.expectedViewState = options.expectedViewState || "recorded";
 
   let EVENTS = panel.panelWin.EVENTS;
   let controller = panel.panelWin.PerformanceController;
   let view = panel.panelWin.PerformanceView;
   let overview = panel.panelWin.OverviewView;
@@ -81,33 +81,33 @@ exports.waitForRecordingStoppedEvents = 
 
   return Promise.all([
     options.skipWaitingForBackendReady
       ? null
       : once(controller, EVENTS.BACKEND_READY_AFTER_RECORDING_STOP),
     options.skipWaitingForRecordingStop
       ? null
       : once(controller, EVENTS.RECORDING_STATE_CHANGE, {
-          expectedArgs: { "1": "recording-stopping" }
-        }),
+        expectedArgs: { "1": "recording-stopping" }
+      }),
     options.skipWaitingForRecordingStop
       ? null
       : once(controller, EVENTS.RECORDING_STATE_CHANGE, {
-          expectedArgs: { "1": "recording-stopped" }
-        }),
+        expectedArgs: { "1": "recording-stopped" }
+      }),
     options.skipWaitingForViewState
       ? null
       : once(view, EVENTS.UI_STATE_CHANGED, {
-          expectedArgs: { "1": options.expectedViewState }
-        }),
+        expectedArgs: { "1": options.expectedViewState }
+      }),
     options.skipWaitingForOverview
       ? null
       : once(overview, EVENTS.UI_OVERVIEW_RENDERED, {
-          expectedArgs: { "1": Constants.FRAMERATE_GRAPH_HIGH_RES_INTERVAL }
-        }),
+        expectedArgs: { "1": Constants.FRAMERATE_GRAPH_HIGH_RES_INTERVAL }
+      }),
     options.skipWaitingForSubview
       ? null
       : once(subview, EVENTS[options.expectedViewEvent]),
   ]);
 };
 
 /**
  * Waits for rendering to happen once on all the performance tool's widgets.
--- a/devtools/client/performance/test/helpers/dom-utils.js
+++ b/devtools/client/performance/test/helpers/dom-utils.js
@@ -12,17 +12,17 @@ exports.isVisible = (element) => {
   return !element.classList.contains("hidden") && !element.hidden;
 };
 
 /**
  * Appends the provided element to the provided parent node. If run in e10s
  * mode, will also wait for MozAfterPaint to make sure the tab is rendered.
  * Should be reviewed if Bug 1240509 lands.
  */
-exports.appendAndWaitForPaint = function(parent, element) {
+exports.appendAndWaitForPaint = function (parent, element) {
   let isE10s = Services.appinfo.browserTabsRemoteAutostart;
   if (isE10s) {
     let win = parent.ownerDocument.defaultView;
     let onMozAfterPaint = waitForMozAfterPaint(win);
     parent.appendChild(element);
     return onMozAfterPaint;
   }
   parent.appendChild(element);
--- a/devtools/client/performance/test/helpers/event-utils.js
+++ b/devtools/client/performance/test/helpers/event-utils.js
@@ -12,26 +12,26 @@ const KNOWN_EE_APIS = [
   ["addListener", "removeListener"]
 ];
 
 /**
  * Listens for any event for a single time on a target, no matter what kind of
  * event emitter it is, returning a promise resolved with the passed arguments
  * once the event is fired.
  */
-exports.once = function(target, eventName, options = {}) {
+exports.once = function (target, eventName, options = {}) {
   return exports.times(target, eventName, 1, options);
 };
 
 /**
  * Waits for any event to be fired a specified amount of times on a target, no
  * matter what kind of event emitter.
  * Possible options: `useCapture`, `spreadArgs`, `expectedArgs`
  */
-exports.times = function(target, eventName, receiveCount, options = {}) {
+exports.times = function (target, eventName, receiveCount, options = {}) {
   let msg = `Waiting for event: '${eventName}' on ${target} for ${receiveCount} time(s)`;
   if ("expectedArgs" in options) {
     dump(`${msg} with arguments: ${JSON.stringify(options.expectedArgs)}.\n`);
   } else {
     dump(`${msg}.\n`);
   }
 
   return new Promise((resolve, reject) => {
@@ -72,25 +72,25 @@ exports.times = function(target, eventNa
       }
     }, options.useCapture);
   });
 };
 
 /**
  * Like `once`, but for observer notifications.
  */
-exports.observeOnce = function(notificationName, options = {}) {
+exports.observeOnce = function (notificationName, options = {}) {
   return exports.observeTimes(notificationName, 1, options);
 };
 
 /**
  * Like `times`, but for observer notifications.
  * Possible options: `expectedSubject`
  */
-exports.observeTimes = function(notificationName, receiveCount, options = {}) {
+exports.observeTimes = function (notificationName, receiveCount, options = {}) {
   dump(`Waiting for notification: '${notificationName}' for ${receiveCount} time(s).\n`);
 
   return new Promise((resolve, reject) => {
     if (typeof notificationName != "string") {
       reject(new Error(`Unexpected notification name: ${notificationName}.`));
     }
 
     Services.obs.addObserver(function onObserve(subject, topic, data) {
--- a/devtools/client/performance/test/helpers/panel-utils.js
+++ b/devtools/client/performance/test/helpers/panel-utils.js
@@ -7,25 +7,25 @@
 const { gDevTools } = require("devtools/client/framework/devtools");
 const { TargetFactory } = require("devtools/client/framework/target");
 const { addTab, removeTab } = require("devtools/client/performance/test/helpers/tab-utils");
 const { once } = require("devtools/client/performance/test/helpers/event-utils");
 
 /**
  * Initializes a toolbox panel in a new tab.
  */
-exports.initPanelInNewTab = function*({ tool, url, win }, options = {}) {
+exports.initPanelInNewTab = function* ({ tool, url, win }, options = {}) {
   let tab = yield addTab({ url, win }, options);
   return (yield exports.initPanelInTab({ tool, tab }));
 };
 
 /**
  * Initializes a toolbox panel in the specified tab.
  */
-exports.initPanelInTab = function*({ tool, tab }) {
+exports.initPanelInTab = function* ({ tool, tab }) {
   dump(`Initializing a ${tool} panel.\n`);
 
   let target = TargetFactory.forTab(tab);
   yield target.makeRemote();
 
   // Open a toolbox and wait for the connection to the performance actors
   // to be opened. This is necessary because of the WebConsole's
   // `profile` and `profileEnd` methods.
@@ -34,73 +34,73 @@ exports.initPanelInTab = function*({ too
 
   let panel = toolbox.getCurrentPanel();
   return { target, toolbox, panel };
 };
 
 /**
  * Initializes a performance panel in a new tab.
  */
-exports.initPerformanceInNewTab = function*({ url, win }, options = {}) {
+exports.initPerformanceInNewTab = function* ({ url, win }, options = {}) {
   let tab = yield addTab({ url, win }, options);
   return (yield exports.initPerformanceInTab({ tab }));
 };
 
 /**
  * Initializes a performance panel in the specified tab.
  */
-exports.initPerformanceInTab = function*({ tab }) {
+exports.initPerformanceInTab = function* ({ tab }) {
   return (yield exports.initPanelInTab({
     tool: "performance",
     tab: tab
   }));
 };
 
 /**
  * Initializes a webconsole panel in a new tab.
  * Returns a console property that allows calls to `profile` and `profileEnd`.
  */
-exports.initConsoleInNewTab = function*({ url, win }, options = {}) {
+exports.initConsoleInNewTab = function* ({ url, win }, options = {}) {
   let tab = yield addTab({ url, win }, options);
   return (yield exports.initConsoleInTab({ tab }));
 };
 
 /**
  * Initializes a webconsole panel in the specified tab.
  * Returns a console property that allows calls to `profile` and `profileEnd`.
  */
-exports.initConsoleInTab = function*({ tab }) {
+exports.initConsoleInTab = function* ({ tab }) {
   let { target, toolbox, panel } = yield exports.initPanelInTab({
     tool: "webconsole",
     tab: tab
   });
 
-  let consoleMethod = function*(method, label, event) {
+  let consoleMethod = function* (method, label, event) {
     let recordingEventReceived = once(toolbox.performance, event);
     if (label === undefined) {
       yield panel.hud.jsterm.execute(`console.${method}()`);
     } else {
       yield panel.hud.jsterm.execute(`console.${method}("${label}")`);
     }
     yield recordingEventReceived;
   };
 
-  let profile = function*(label) {
+  let profile = function* (label) {
     return yield consoleMethod("profile", label, "recording-started");
   };
 
-  let profileEnd = function*(label) {
+  let profileEnd = function* (label) {
     return yield consoleMethod("profileEnd", label, "recording-stopped");
   };
 
   return { target, toolbox, panel, console: { profile, profileEnd } };
 };
 
 /**
  * Tears down a toolbox panel and removes an associated tab.
  */
-exports.teardownToolboxAndRemoveTab = function*(panel, options) {
+exports.teardownToolboxAndRemoveTab = function* (panel, options) {
   dump("Destroying panel.\n");
 
   let tab = panel.target.tab;
   yield panel.toolbox.destroy();
   yield removeTab(tab, options);
 };
--- a/devtools/client/performance/test/helpers/prefs.js
+++ b/devtools/client/performance/test/helpers/prefs.js
@@ -47,26 +47,26 @@ exports.DEFAULT_PREF_VALUES = [
   prefValues[prefName] = Preferences.get(prefName);
   return prefValues;
 }, {});
 
 /**
  * Invokes callback when a pref which is not in the `DEFAULT_PREF_VALUES` store
  * is changed. Returns a cleanup function.
  */
-exports.whenUnknownPrefChanged = function(branch, callback) {
+exports.whenUnknownPrefChanged = function (branch, callback) {
   function onObserve(subject, topic, data) {
     if (!(data in exports.DEFAULT_PREF_VALUES)) {
       callback(data);
     }
   }
   Services.prefs.addObserver(branch, onObserve, false);
   return () => Services.prefs.removeObserver(branch, onObserve);
 };
 
 /**
  * Reverts all known preferences to their default values.
  */
-exports.rollbackPrefsToDefault = function() {
+exports.rollbackPrefsToDefault = function () {
   for (let prefName of Object.keys(exports.DEFAULT_PREF_VALUES)) {
     Preferences.set(prefName, exports.DEFAULT_PREF_VALUES[prefName]);
   }
 };
--- a/devtools/client/performance/test/helpers/profiler-mm-utils.js
+++ b/devtools/client/performance/test/helpers/profiler-mm-utils.js
@@ -31,22 +31,22 @@ exports.PMM_clearFrameScripts = () => {
   gMM = null;
 };
 
 /**
  * Sends a message to the message listener, attaching an id to the payload data.
  * Resolves a returned promise when the response is received from the message
  * listener, with the same id as part of the response payload data.
  */
-exports.PMM_uniqueMessage = function(message, payload) {
+exports.PMM_uniqueMessage = function (message, payload) {
   if (!gMM) {
     throw new Error("`PMM_loadFrameScripts()` must be called when using MessageManager.");
   }
 
-  let { generateUUID } = Cc['@mozilla.org/uuid-generator;1'].getService(Ci.nsIUUIDGenerator);
+  let { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
   payload.id = generateUUID().toString();
 
   return new Promise(resolve => {
     gMM.addMessageListener(message + ":response", function onHandler({ data }) {
       if (payload.id == data.id) {
         gMM.removeMessageListener(message + ":response", onHandler);
         resolve(data.data);
       }
@@ -60,26 +60,26 @@ exports.PMM_uniqueMessage = function(mes
  */
 exports.PMM_isProfilerActive = () => {
   return exports.PMM_sendProfilerCommand("IsActive");
 };
 
 /**
  * Starts the nsProfiler module.
  */
-exports.PMM_startProfiler = Task.async(function*({ entries, interval, features }) {
+exports.PMM_startProfiler = Task.async(function* ({ entries, interval, features }) {
   let isActive = (yield exports.PMM_sendProfilerCommand("IsActive")).isActive;
   if (!isActive) {
     return exports.PMM_sendProfilerCommand("StartProfiler", [entries, interval, features, features.length]);
   }
 });
 /**
  * Stops the nsProfiler module.
  */
-exports.PMM_stopProfiler = Task.async(function*() {
+exports.PMM_stopProfiler = Task.async(function* () {
   let isActive = (yield exports.PMM_sendProfilerCommand("IsActive")).isActive;
   if (isActive) {
     return exports.PMM_sendProfilerCommand("StopProfiler");
   }
 });
 
 /**
  * Calls a method on the nsProfiler module.
--- a/devtools/client/performance/test/helpers/synth-utils.js
+++ b/devtools/client/performance/test/helpers/synth-utils.js
@@ -10,43 +10,43 @@ exports.synthesizeProfile = () => {
   const RecordingUtils = require("devtools/shared/performance/recording-utils");
 
   return RecordingUtils.deflateProfile({
     meta: { version: 2 },
     threads: [{
       samples: [{
         time: 1,
         frames: [
-          { category: CATEGORY_MASK("other"),  location: "(root)" },
-          { category: CATEGORY_MASK("other"),  location: "A (http://foo/bar/baz:12)" },
-          { category: CATEGORY_MASK("css"),    location: "B (http://foo/bar/baz:34)" },
-          { category: CATEGORY_MASK("js"),     location: "C (http://foo/bar/baz:56)" }
+          { category: CATEGORY_MASK("other"), location: "(root)" },
+          { category: CATEGORY_MASK("other"), location: "A (http://foo/bar/baz:12)" },
+          { category: CATEGORY_MASK("css"), location: "B (http://foo/bar/baz:34)" },
+          { category: CATEGORY_MASK("js"), location: "C (http://foo/bar/baz:56)" }
         ]
       }, {
         time: 1 + 1,
         frames: [
-          { category: CATEGORY_MASK("other"),  location: "(root)" },
-          { category: CATEGORY_MASK("other"),  location: "A (http://foo/bar/baz:12)" },
-          { category: CATEGORY_MASK("css"),    location: "B (http://foo/bar/baz:34)" },
-          { category: CATEGORY_MASK("gc", 1),  location: "D (http://foo/bar/baz:78:9)" }
+          { category: CATEGORY_MASK("other"), location: "(root)" },
+          { category: CATEGORY_MASK("other"), location: "A (http://foo/bar/baz:12)" },
+          { category: CATEGORY_MASK("css"), location: "B (http://foo/bar/baz:34)" },
+          { category: CATEGORY_MASK("gc", 1), location: "D (http://foo/bar/baz:78:9)" }
         ]
       }, {
         time: 1 + 1 + 2,
         frames: [
-          { category: CATEGORY_MASK("other"),  location: "(root)" },
-          { category: CATEGORY_MASK("other"),  location: "A (http://foo/bar/baz:12)" },
-          { category: CATEGORY_MASK("css"),    location: "B (http://foo/bar/baz:34)" },
-          { category: CATEGORY_MASK("gc", 1),  location: "D (http://foo/bar/baz:78:9)" }
+          { category: CATEGORY_MASK("other"), location: "(root)" },
+          { category: CATEGORY_MASK("other"), location: "A (http://foo/bar/baz:12)" },
+          { category: CATEGORY_MASK("css"), location: "B (http://foo/bar/baz:34)" },
+          { category: CATEGORY_MASK("gc", 1), location: "D (http://foo/bar/baz:78:9)" }
         ]
       }, {
         time: 1 + 1 + 2 + 3,
         frames: [
-          { category: CATEGORY_MASK("other"),   location: "(root)" },
-          { category: CATEGORY_MASK("other"),   location: "A (http://foo/bar/baz:12)" },
-          { category: CATEGORY_MASK("gc", 2),   location: "E (http://foo/bar/baz:90)" },
+          { category: CATEGORY_MASK("other"), location: "(root)" },
+          { category: CATEGORY_MASK("other"), location: "A (http://foo/bar/baz:12)" },
+          { category: CATEGORY_MASK("gc", 2), location: "E (http://foo/bar/baz:90)" },
           { category: CATEGORY_MASK("network"), location: "F (http://foo/bar/baz:99)" }
         ]
       }]
     }]
   });
 };
 
 /**
@@ -58,25 +58,25 @@ exports.synthesizeCustomTreeClass = () =
   const { Heritage } = require("devtools/client/shared/widgets/view-helpers");
 
   function MyCustomTreeItem(dataSrc, properties) {
     AbstractTreeItem.call(this, properties);
     this.itemDataSrc = dataSrc;
   }
 
   MyCustomTreeItem.prototype = Heritage.extend(AbstractTreeItem.prototype, {
-    _displaySelf: function(document, arrowNode) {
+    _displaySelf: function (document, arrowNode) {
       let node = document.createElement("hbox");
       node.marginInlineStart = (this.level * 10) + "px";
       node.appendChild(arrowNode);
       node.appendChild(document.createTextNode(this.itemDataSrc.label));
       return node;
     },
 
-    _populateSelf: function(children) {
+    _populateSelf: function (children) {
       for (let childDataSrc of this.itemDataSrc.children) {
         children.push(new MyCustomTreeItem(childDataSrc, {
           parent: this,
           level: this.level + 1
         }));
       }
     }
   });
--- a/devtools/client/performance/test/helpers/tab-utils.js
+++ b/devtools/client/performance/test/helpers/tab-utils.js
@@ -17,17 +17,17 @@ const { waitForDelayedStartupFinished } 
 function getRandomInt(min, max) {
   return Math.floor(Math.random() * (max - min + 1)) + min;
 }
 
 /**
  * Adds a browser tab with the given url in the specified window and waits
  * for it to load.
  */
-exports.addTab = function({ url, win }, options = {}) {
+exports.addTab = function ({ url, win }, options = {}) {
   let id = getRandomInt(0, Number.MAX_SAFE_INTEGER - 1);
   url += `#${id}`;
 
   dump(`Adding tab with url: ${url}.\n`);
 
   return new Promise(resolve => {
     let tab;
 
@@ -47,17 +47,17 @@ exports.addTab = function({ url, win }, 
       resolve(tab);
     }
   });
 };
 
 /**
  * Removes a browser tab from the specified window and waits for it to close.
  */
-exports.removeTab = function(tab, options = {}) {
+exports.removeTab = function (tab, options = {}) {
   dump(`Removing tab: ${tabUtils.getURI(tab)}.\n`);
 
   return new Promise(resolve => {
     tabs.on("close", function onClose(model) {
       if (tab != viewFor(model)) {
         return;
       }
       dump(`Tab removed and finished closing: ${model.url}.\n`);
@@ -71,14 +71,14 @@ exports.removeTab = function(tab, option
       resolve(tab);
     }
   });
 };
 
 /**
  * Adds a browser window with the provided options.
  */
-exports.addWindow = function*(options) {
+exports.addWindow = function* (options) {
   let { OpenBrowserWindow } = Services.wm.getMostRecentWindow("navigator:browser");
   let win = OpenBrowserWindow(options);
   yield waitForDelayedStartupFinished(win);
   return win;
 };
--- a/devtools/client/performance/test/helpers/wait-utils.js
+++ b/devtools/client/performance/test/helpers/wait-utils.js
@@ -7,53 +7,53 @@
 const { CC } = require("chrome");
 const { Task } = require("resource://gre/modules/Task.jsm");
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 const { once, observeOnce } = require("devtools/client/performance/test/helpers/event-utils");
 
 /**
  * Blocks the main thread for the specified amount of time.
  */
-exports.busyWait = function(time) {
+exports.busyWait = function (time) {
   dump(`Busy waiting for: ${time} milliseconds.\n`);
   let start = Date.now();
   let stack;
   while (Date.now() - start < time) {
     stack = CC.stack;
   }
 };
 
 /**
  * Idly waits for the specified amount of time.
  */
-exports.idleWait = function(time) {
+exports.idleWait = function (time) {
   dump(`Idly waiting for: ${time} milliseconds.\n`);
   return DevToolsUtils.waitForTime(time);
 };
 
 /**
  * Waits until a predicate returns true.
  */
-exports.waitUntil = function*(predicate, interval = 100, tries = 100) {
+exports.waitUntil = function* (predicate, interval = 100, tries = 100) {
   for (let i = 1; i <= tries; i++) {
     if (yield Task.spawn(predicate)) {
       dump(`Predicate returned true after ${i} tries.\n`);
       return;
     }
     yield exports.idleWait(interval);
   }
   throw new Error(`Predicate returned false after ${tries} tries, aborting.\n`);
 };
 
 /**
  * Waits for a `MozAfterPaint` event to be fired on the specified window.
  */
-exports.waitForMozAfterPaint = function(window) {
+exports.waitForMozAfterPaint = function (window) {
   return once(window, "MozAfterPaint");
 };
 
 /**
  * Waits for the `browser-delayed-startup-finished` observer notification
  * to be fired on the specified window.
  */
-exports.waitForDelayedStartupFinished = function(window) {
+exports.waitForDelayedStartupFinished = function (window) {
   return observeOnce("browser-delayed-startup-finished", { expectedSubject: window });
 };
--- a/devtools/client/performance/test/js_simpleWorker.js
+++ b/devtools/client/performance/test/js_simpleWorker.js
@@ -1,4 +1,4 @@
-self.addEventListener('message', function(e) {
+self.addEventListener("message", function (e) {
   self.postMessage(e.data);
-  self.close()
+  self.close();
 }, false);
--- a/devtools/client/performance/test/unit/test_frame-utils-01.js
+++ b/devtools/client/performance/test/unit/test_frame-utils-01.js
@@ -105,17 +105,17 @@ add_task(function () {
     }
   }
 });
 
 /**
  * Takes either a string or an object and turns it into an array that
  * parseLocation.apply expects.
  */
-function argify (val) {
+function argify(val) {
   if (typeof val === "string") {
     return [val];
   } else {
     return [val.location, val.line, val.column];
   }
 }
 
 /**
--- a/devtools/client/performance/test/unit/test_jit-graph-data.js
+++ b/devtools/client/performance/test/unit/test_jit-graph-data.js
@@ -31,25 +31,25 @@ add_task(function test() {
 
   equal(root.samples, SAMPLE_COUNT / 2, "root has correct amount of samples");
   equal(root.sampleTimes.length, SAMPLE_COUNT / 2, "root has correct amount of sample times");
   // Add time offset since the first sample begins TIME_OFFSET after startTime
   equal(root.sampleTimes[0], startTime + TIME_OFFSET, "root recorded first sample time in scope");
   equal(root.sampleTimes[root.sampleTimes.length - 1], endTime, "root recorded last sample time in scope");
 
   let frame = getFrameNodePath(root, "X");
-  let data = createTierGraphDataFromFrameNode(frame, root.sampleTimes, (endTime-startTime)/RESOLUTION);
+  let data = createTierGraphDataFromFrameNode(frame, root.sampleTimes, (endTime - startTime) / RESOLUTION);
 
   let TIME_PER_WINDOW = SAMPLE_COUNT / 2 / RESOLUTION * TIME_PER_SAMPLE;
 
   // Filter out the dupes created with the same delta so the graph
   // can render correctly.
   let filteredData = [];
   for (let i = 0; i < data.length; i++) {
-    if (!i || data[i].delta !== data[i-1].delta) {
+    if (!i || data[i].delta !== data[i - 1].delta) {
       filteredData.push(data[i]);
     }
   }
   data = filteredData;
 
   for (let i = 0; i < 11; i++) {
     equal(data[i].delta, startTime + TIME_OFFSET + (TIME_PER_WINDOW * i), "first window has correct x");
     equal(data[i].values[0], 0.2, "first window has 2 frames in interpreter");
@@ -105,95 +105,95 @@ const TIER_PATTERNS = [
   ["X_2 -> Y", "X_2 -> Y", "X_2 -> Y", "X_0", "X_0", "X_0", "A", "A", "A", "A"],
 
   // 800-899
   ["X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0"],
   // 900-999
   ["X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0", "X_0"],
 ];
 
-function createSample (i, frames) {
+function createSample(i, frames) {
   let sample = {};
   sample.time = i * TIME_PER_SAMPLE;
   sample.frames = [{ location: "(root)" }];
   if (i === 0) {
     return sample;
   }
   if (frames) {
     frames.split(" -> ").forEach(frame => sample.frames.push({ location: frame }));
   }
   return sample;
 }
 
 var SAMPLES = (function () {
   let samples = [];
 
   for (let i = 0; i < SAMPLE_COUNT;) {
-    let pattern = TIER_PATTERNS[Math.floor(i/100)];
+    let pattern = TIER_PATTERNS[Math.floor(i / 100)];
     for (let j = 0; j < pattern.length; j++) {
-      samples.push(createSample(i+j, pattern[j]));
+      samples.push(createSample(i + j, pattern[j]));
     }
     i += 10;
   }
 
   return samples;
 })();
 
 var gThread = RecordingUtils.deflateThread({ samples: SAMPLES, markers: [] }, gUniqueStacks);
 
 var gRawSite1 = {
   line: 12,
   column: 2,
   types: [{
     mirType: uniqStr("Object"),
     site: uniqStr("B (http://foo/bar:10)"),
     typeset: [{
-        keyedBy: uniqStr("constructor"),
-        name: uniqStr("Foo"),
-        location: uniqStr("B (http://foo/bar:10)")
+      keyedBy: uniqStr("constructor"),
+      name: uniqStr("Foo"),
+      location: uniqStr("B (http://foo/bar:10)")
     }, {
-        keyedBy: uniqStr("primitive"),
-        location: uniqStr("self-hosted")
+      keyedBy: uniqStr("primitive"),
+      location: uniqStr("self-hosted")
     }]
   }],
   attempts: {
     schema: {
       outcome: 0,
       strategy: 1
     },
     data: [
       [uniqStr("Failure1"), uniqStr("SomeGetter1")],
       [uniqStr("Failure2"), uniqStr("SomeGetter2")],
       [uniqStr("Inlined"), uniqStr("SomeGetter3")]
     ]
   }
 };
 
-function serialize (x) {
+function serialize(x) {
   return JSON.parse(JSON.stringify(x));
 }
 
 gThread.frameTable.data.forEach((frame) => {
   const LOCATION_SLOT = gThread.frameTable.schema.location;
   const OPTIMIZATIONS_SLOT = gThread.frameTable.schema.optimizations;
   const IMPLEMENTATION_SLOT = gThread.frameTable.schema.implementation;
 
   let l = gThread.stringTable[frame[LOCATION_SLOT]];
   switch (l) {
   // Rename some of the location sites so we can register different
   // frames with different opt sites
-  case "X_0":
-    frame[LOCATION_SLOT] = uniqStr("X");
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    frame[IMPLEMENTATION_SLOT] = null;
-    break;
-  case "X_1":
-    frame[LOCATION_SLOT] = uniqStr("X");
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    frame[IMPLEMENTATION_SLOT] = uniqStr("baseline");
-    break;
-  case "X_2":
-    frame[LOCATION_SLOT] = uniqStr("X");
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    frame[IMPLEMENTATION_SLOT] = uniqStr("ion");
-    break;
+    case "X_0":
+      frame[LOCATION_SLOT] = uniqStr("X");
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      frame[IMPLEMENTATION_SLOT] = null;
+      break;
+    case "X_1":
+      frame[LOCATION_SLOT] = uniqStr("X");
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      frame[IMPLEMENTATION_SLOT] = uniqStr("baseline");
+      break;
+    case "X_2":
+      frame[LOCATION_SLOT] = uniqStr("X");
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      frame[IMPLEMENTATION_SLOT] = uniqStr("ion");
+      break;
   }
 });
--- a/devtools/client/performance/test/unit/test_tree-model-06.js
+++ b/devtools/client/performance/test/unit/test_tree-model-06.js
@@ -95,22 +95,22 @@ var gThread = RecordingUtils.deflateThre
 
 var gRawSite1 = {
   line: 12,
   column: 2,
   types: [{
     mirType: uniqStr("Object"),
     site: uniqStr("B (http://foo/bar:10)"),
     typeset: [{
-        keyedBy: uniqStr("constructor"),
-        name: uniqStr("Foo"),
-        location: uniqStr("B (http://foo/bar:10)")
+      keyedBy: uniqStr("constructor"),
+      name: uniqStr("Foo"),
+      location: uniqStr("B (http://foo/bar:10)")
     }, {
-        keyedBy: uniqStr("primitive"),
-        location: uniqStr("self-hosted")
+      keyedBy: uniqStr("primitive"),
+      location: uniqStr("self-hosted")
     }]
   }],
   attempts: {
     schema: {
       outcome: 0,
       strategy: 1
     },
     data: [
@@ -135,40 +135,40 @@ var gRawSite2 = {
     data: [
       [uniqStr("Failure1"), uniqStr("SomeGetter1")],
       [uniqStr("Failure2"), uniqStr("SomeGetter2")],
       [uniqStr("Failure3"), uniqStr("SomeGetter3")]
     ]
   }
 };
 
-function serialize (x) {
+function serialize(x) {
   return JSON.parse(JSON.stringify(x));
 }
 
 gThread.frameTable.data.forEach((frame) => {
   const LOCATION_SLOT = gThread.frameTable.schema.location;
   const OPTIMIZATIONS_SLOT = gThread.frameTable.schema.optimizations;
 
   let l = gThread.stringTable[frame[LOCATION_SLOT]];
   switch (l) {
-  case "A":
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    break;
+    case "A":
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      break;
   // Rename some of the location sites so we can register different
   // frames with different opt sites
-  case "B_LEAF_1":
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite2);
-    frame[LOCATION_SLOT] = uniqStr("B");
-    break;
-  case "B_LEAF_2":
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    frame[LOCATION_SLOT] = uniqStr("B");
-    break;
-  case "B_NOTLEAF":
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    frame[LOCATION_SLOT] = uniqStr("B");
-    break;
-  case "C":
-    frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
-    break;
+    case "B_LEAF_1":
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite2);
+      frame[LOCATION_SLOT] = uniqStr("B");
+      break;
+    case "B_LEAF_2":
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      frame[LOCATION_SLOT] = uniqStr("B");
+      break;
+    case "B_NOTLEAF":
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      frame[LOCATION_SLOT] = uniqStr("B");
+      break;
+    case "C":
+      frame[OPTIMIZATIONS_SLOT] = serialize(gRawSite1);
+      break;
   }
 });
--- a/devtools/client/performance/test/unit/test_tree-model-08.js
+++ b/devtools/client/performance/test/unit/test_tree-model-08.js
@@ -60,17 +60,17 @@ add_task(function test() {
       location: "main (http://localhost:8888/file.js:123:987)",
       line: 123,
     }), false),
     new FrameNode("main (resource://devtools/timeline.js:123)", compute({
       location: "main (resource://devtools/timeline.js:123)",
     }), false),
   ];
 
-  let fields = ["nodeType", "functionName", "fileName", "host", "url", "line", "column", "categoryData.abbrev", "isContent", "port"]
+  let fields = ["nodeType", "functionName", "fileName", "host", "url", "line", "column", "categoryData.abbrev", "isContent", "port"];
   let expected = [
     // nodeType, functionName, fileName, host, url, line, column, categoryData.abbrev, isContent, port
     ["Frame", "hello/<.world", "bar.js", "foo", "http://foo/bar.js", 123, 987, void 0, true],
     ["Frame", "hello/<.world", "bar.js", "foo", "http://foo/bar.js#baz", 123, 987, void 0, true],
     ["Frame", "hello/<.world", "/", "foo", "http://foo/#bar", 123, 987, void 0, true],
     ["Frame", "hello/<.world", "/", "foo", "http://foo/", 123, 987, void 0, true],
     ["Frame", "hello/<.world", "baz.js", "bar", "http://bar/baz.js", 123, 987, "other", false],
     ["Frame", "Foo::Bar::Baz", null, null, null, 456, void 0, "other", false],
--- a/devtools/client/performance/test/unit/test_tree-model-10.js
+++ b/devtools/client/performance/test/unit/test_tree-model-10.js
@@ -34,44 +34,44 @@ add_task(function () {
    * |   40%   |   0    |     -> A
    *
    * |   10%   |   10%  |  B
    * |   10%   |   0    |  -> A
    */
 
   [ // total, self, name
     [ 50, 50, "C", [
-      [ 40,  0, "B", [
-        [ 30,  0, "A"]
+      [ 40, 0, "B", [
+        [ 30, 0, "A"]
       ]],
-      [ 10,  0, "A"]
+      [ 10, 0, "A"]
     ]],
     [ 40, 40, "D", [
-      [ 40,  0, "B", [
-        [ 40,  0, "A"],
+      [ 40, 0, "B", [
+        [ 40, 0, "A"],
       ]]
     ]],
     [ 10, 10, "B", [
-      [ 10,  0, "A"],
+      [ 10, 0, "A"],
     ]]
   ].forEach(compareFrameInfo(thread));
 });
 
-function compareFrameInfo (root, parent) {
+function compareFrameInfo(root, parent) {
   parent = parent || root;
   return function (def) {
     let [total, self, name, children] = def;
     let node = getFrameNodePath(parent, name);
     let data = node.getInfo({ root });
     equal(total, data.totalPercentage, `${name} has correct total percentage: ${data.totalPercentage}`);
     equal(self, data.selfPercentage, `${name} has correct self percentage: ${data.selfPercentage}`);
     if (children) {
       children.forEach(compareFrameInfo(root, node));
     }
-  }
+  };
 }
 
 var gThread = synthesizeProfileForTest([{
   time: 5,
   frames: [
     { location: "(root)" },
     { location: "A" },
     { location: "B" },
--- a/devtools/client/performance/test/unit/test_tree-model-11.js
+++ b/devtools/client/performance/test/unit/test_tree-model-11.js
@@ -29,28 +29,28 @@ add_task(function () {
         [ 100, 50, "B", [
           [ 50, 50, "C"]
         ]]
       ]],
     ]],
   ].forEach(compareFrameInfo(thread));
 });
 
-function compareFrameInfo (root, parent) {
+function compareFrameInfo(root, parent) {
   parent = parent || root;
   return function (def) {
     let [total, self, name, children] = def;
     let node = getFrameNodePath(parent, name);
     let data = node.getInfo({ root });
     equal(total, data.totalPercentage, `${name} has correct total percentage: ${data.totalPercentage}`);
     equal(self, data.selfPercentage, `${name} has correct self percentage: ${data.selfPercentage}`);
     if (children) {
       children.forEach(compareFrameInfo(root, node));
     }
-  }
+  };
 }
 
 var gThread = synthesizeProfileForTest([{
   time: 5,
   frames: [
     { location: "(root)" },
     { location: "A" },
     { location: "B" },
--- a/devtools/client/performance/test/unit/test_tree-model-12.js
+++ b/devtools/client/performance/test/unit/test_tree-model-12.js
@@ -56,17 +56,17 @@ var gThread = synthesizeProfileForTest([
     { location: "B" },
   ]
 }, {
   time: 15,
   frames: [
     { location: "(root)" },
     { location: "B" },
   ]
-},{
+}, {
   time: 20,
   frames: [
     { location: "(root)" },
     { location: "A" },
   ]
 }, {
   time: 21,
   frames: [
--- a/devtools/client/performance/test/unit/test_tree-model-13.js
+++ b/devtools/client/performance/test/unit/test_tree-model-13.js
@@ -48,17 +48,17 @@ var gThread = synthesizeProfileForTest([
     { location: "B" },
   ]
 }, {
   time: 15,
   frames: [
     { location: "(root)" },
     { location: "B" },
   ]
-},{
+}, {
   time: 20,
   frames: [
     { location: "(root)" },
     { location: "A" },
   ]
 }, {
   time: 21,
   frames: [
--- a/devtools/client/performance/test/unit/test_tree-model-allocations-01.js
+++ b/devtools/client/performance/test/unit/test_tree-model-allocations-01.js
@@ -29,17 +29,17 @@ add_task(function () {
     [100, 10, 1, 33, 1000, 100, 3, 100, "x (A:1:2)", [
       [200, 20, 1, 33, 900, 90, 2, 66, "y (B:3:4)", [
         [700, 70, 1, 33, 700, 70, 1, 33, "z (C:5:6)"]
       ]]
     ]]
   ].forEach(compareFrameInfo(thread));
 });
 
-function compareFrameInfo (root, parent) {
+function compareFrameInfo(root, parent) {
   parent = parent || root;
   let fields = [
     "selfSize", "selfSizePercentage", "selfCount", "selfCountPercentage",
     "totalSize", "totalSizePercentage", "totalCount", "totalCountPercentage"
   ];
   return function (def) {
     let children;
     if (Array.isArray(def[def.length - 1])) {
@@ -57,17 +57,17 @@ function compareFrameInfo (root, parent)
         actual = Number.parseInt(actual, 10);
       }
       equal(actual, expected[i], `${name} has correct ${field}: ${expected[i]}`);
     });
 
     if (children) {
       children.forEach(compareFrameInfo(root, node));
     }
-  }
+  };
 }
 
 var TEST_DATA = {
   sites: [1, 2, 3],
   timestamps: [150, 200, 250],
   sizes: [100, 200, 700],
   frames: [
     null, {
--- a/devtools/client/performance/test/unit/test_tree-model-allocations-02.js
+++ b/devtools/client/performance/test/unit/test_tree-model-allocations-02.js
@@ -33,17 +33,17 @@ add_task(function () {
     ]],
     [200, 20, 1, 33, 200, 20, 1, 33, "y (B:3:4)", [
       [0, 0, 0, 0, 200, 20, 1, 33, "x (A:1:2)"]
     ]],
     [100, 10, 1, 33, 100, 10, 1, 33, "x (A:1:2)"]
   ].forEach(compareFrameInfo(thread));
 });
 
-function compareFrameInfo (root, parent) {
+function compareFrameInfo(root, parent) {
   parent = parent || root;
   let fields = [
     "selfSize", "selfSizePercentage", "selfCount", "selfCountPercentage",
     "totalSize", "totalSizePercentage", "totalCount", "totalCountPercentage"
   ];
 
   return function (def) {
     let children;
@@ -64,38 +64,38 @@ function compareFrameInfo (root, parent)
         actual = Number.parseInt(actual, 10);
       }
       equal(actual, expected[i], `${name} has correct ${field}: ${expected[i]}`);
     });
 
     if (children) {
       children.forEach(compareFrameInfo(root, node));
     }
-  }
+  };
 }
 
 var TEST_DATA = {
   sites: [0, 1, 2, 3],
   timestamps: [0, 150, 200, 250],
   sizes: [0, 100, 200, 700],
   frames: [{
-      source: "(root)"
-    }, {
-      source: "A",
-      line: 1,
-      column: 2,
-      functionDisplayName: "x",
-      parent: 0
-    }, {
-      source: "B",
-      line: 3,
-      column: 4,
-      functionDisplayName: "y",
-      parent: 1
-    }, {
-      source: "C",
-      line: 5,
-      column: 6,
-      functionDisplayName: "z",
-      parent: 2
-    }
+    source: "(root)"
+  }, {
+    source: "A",
+    line: 1,
+    column: 2,
+    functionDisplayName: "x",
+    parent: 0
+  }, {
+    source: "B",
+    line: 3,
+    column: 4,
+    functionDisplayName: "y",
+    parent: 1
+  }, {
+    source: "C",
+    line: 5,
+    column: 6,
+    functionDisplayName: "z",
+    parent: 2
+  }
   ]
 };
--- a/devtools/client/performance/test/unit/test_waterfall-utils-collapse-01.js
+++ b/devtools/client/performance/test/unit/test_waterfall-utils-collapse-01.js
@@ -14,17 +14,17 @@ add_task(function test() {
 
   let rootMarkerNode = WaterfallUtils.createParentNode({ name: "(root)" });
 
   WaterfallUtils.collapseMarkersIntoNode({
     rootNode: rootMarkerNode,
     markersList: gTestMarkers
   });
 
-  function compare (marker, expected) {
+  function compare(marker, expected) {
     for (let prop in expected) {
       if (prop === "submarkers") {
         for (let i = 0; i < expected.submarkers.length; i++) {
           compare(marker.submarkers[i], expected.submarkers[i]);
         }
       } else if (prop !== "uid") {
         equal(marker[prop], expected[prop], `${expected.name} matches ${prop}`);
       }
@@ -62,9 +62,9 @@ const gExpectedOutput = {
         { start: 10, end: 11, name: "Parse HTML" },
         { start: 12, end: 13, name: "Parse XML" },
         { start: 14, end: 15, name: "GarbageCollection" },
       ]}
     ]},
     { start: 25, end: 30, name: "Javascript", submarkers: [
       { start: 26, end: 27, name: "Paint" },
     ]}
-]};
+  ]};
--- a/devtools/client/performance/test/unit/test_waterfall-utils-collapse-02.js
+++ b/devtools/client/performance/test/unit/test_waterfall-utils-collapse-02.js
@@ -15,17 +15,17 @@ add_task(function test() {
 
   let rootMarkerNode = WaterfallUtils.createParentNode({ name: "(root)" });
 
   WaterfallUtils.collapseMarkersIntoNode({
     rootNode: rootMarkerNode,
     markersList: gTestMarkers
   });
 
-  function compare (marker, expected) {
+  function compare(marker, expected) {
     for (let prop in expected) {
       if (prop === "submarkers") {
         for (let i = 0; i < expected.submarkers.length; i++) {
           compare(marker.submarkers[i], expected.submarkers[i]);
         }
       } else if (prop !== "uid") {
         equal(marker[prop], expected[prop], `${expected.name} matches ${prop}`);
       }
@@ -63,19 +63,19 @@ const gExpectedOutput = {
       { start: 3, end: 4, name: "Paint" }
     ]},
     { start: 5, end: 12, name: "ConsoleTime", causeName: "1" },
 
     { start: 15, end: 21, name: "ConsoleTime", causeName: "2" },
     { start: 18, end: 22, name: "Javascript", submarkers: [
       { start: 19, end: 20, name: "Paint" }
     ]},
-    
+
     { start: 30, end: 40, name: "ConsoleTime", causeName: "3" },
     { start: 34, end: 39, name: "Javascript", submarkers: [
       { start: 35, end: 36, name: "Paint" },
     ]},
 
     { start: 50, end: 60, name: "Javascript", submarkers: [
       { start: 56, end: 57, name: "Paint" },
     ]},
     { start: 54, end: 59, name: "ConsoleTime", causeName: "4" },
-]};
+  ]};
--- a/devtools/client/performance/test/unit/test_waterfall-utils-collapse-03.js
+++ b/devtools/client/performance/test/unit/test_waterfall-utils-collapse-03.js
@@ -15,17 +15,17 @@ add_task(function test() {
 
   let rootMarkerNode = WaterfallUtils.createParentNode({ name: "(root)" });
 
   WaterfallUtils.collapseMarkersIntoNode({
     rootNode: rootMarkerNode,
     markersList: gTestMarkers
   });
 
-  function compare (marker, expected) {
+  function compare(marker, expected) {
     for (let prop in expected) {
       if (prop === "submarkers") {
         for (let i = 0; i < expected.submarkers.length; i++) {
           compare(marker.submarkers[i], expected.submarkers[i]);
         }
       } else if (prop !== "uid") {
         equal(marker[prop], expected[prop], `${expected.name} matches ${prop}`);
       }
@@ -55,9 +55,9 @@ const gExpectedOutput = {
     ]},
     { start: 11, end: 12, name: "Styles" },
     { start: 13, end: 14, name: "Styles" },
     { start: 15, end: 25, name: "DOMEvent", submarkers: [
       { start: 17, end: 24, name: "Javascript", submarkers: [
         { start: 18, end: 19, name: "GarbageCollection" }
       ]}
     ]},
-]};
+  ]};
--- a/devtools/client/performance/test/unit/test_waterfall-utils-collapse-04.js
+++ b/devtools/client/performance/test/unit/test_waterfall-utils-collapse-04.js
@@ -24,17 +24,17 @@ add_task(function test() {
       rootNode: rootMarkerNode,
       markersList: gTestMarkers,
       filter
     });
 
     compare(rootMarkerNode, expected);
   });
 
-  function compare (marker, expected) {
+  function compare(marker, expected) {
     for (let prop in expected) {
       if (prop === "submarkers") {
         for (let i = 0; i < expected.submarkers.length; i++) {
           compare(marker.submarkers[i], expected.submarkers[i]);
         }
       } else if (prop !== "uid") {
         equal(marker[prop], expected[prop], `${expected.name} matches ${prop}`);
       }
@@ -66,37 +66,37 @@ const gExpectedOutputNoJS = {
       { start: 5, end: 6, name: "Reflow" },
       { start: 7, end: 8, name: "Styles" },
       { start: 9, end: 9, name: "TimeStamp" },
       { start: 10, end: 11, name: "Parse HTML" },
       { start: 12, end: 13, name: "Parse XML" },
       { start: 14, end: 15, name: "GarbageCollection" },
     ]},
     { start: 26, end: 27, name: "Paint" },
-]};
+  ]};
 
 const gExpectedOutputNoDOMEvent = {
   name: "(root)", submarkers: [
     { start: 2, end: 16, name: "Javascript", submarkers: [
       { start: 3, end: 4, name: "Paint" },
       { start: 5, end: 6, name: "Reflow" },
       { start: 7, end: 8, name: "Styles" },
       { start: 9, end: 9, name: "TimeStamp" },
       { start: 10, end: 11, name: "Parse HTML" },
       { start: 12, end: 13, name: "Parse XML" },
       { start: 14, end: 15, name: "GarbageCollection" },
     ]},
     { start: 25, end: 30, name: "Javascript", submarkers: [
       { start: 26, end: 27, name: "Paint" },
     ]}
-]};
+  ]};
 
 const gExpectedOutputNoDOMEventOrJS = {
   name: "(root)", submarkers: [
     { start: 3, end: 4, name: "Paint" },
     { start: 5, end: 6, name: "Reflow" },
     { start: 7, end: 8, name: "Styles" },
     { start: 9, end: 9, name: "TimeStamp" },
     { start: 10, end: 11, name: "Parse HTML" },
     { start: 12, end: 13, name: "Parse XML" },
     { start: 14, end: 15, name: "GarbageCollection" },
     { start: 26, end: 27, name: "Paint" },
-]};
+  ]};
--- a/devtools/client/performance/test/unit/test_waterfall-utils-collapse-05.js
+++ b/devtools/client/performance/test/unit/test_waterfall-utils-collapse-05.js
@@ -17,17 +17,17 @@ add_task(function test() {
 
   WaterfallUtils.collapseMarkersIntoNode({
     rootNode: rootMarkerNode,
     markersList: gTestMarkers
   });
 
   compare(rootMarkerNode, gExpectedOutput);
 
-  function compare (marker, expected) {
+  function compare(marker, expected) {
     for (let prop in expected) {
       if (prop === "submarkers") {
         for (let i = 0; i < expected.submarkers.length; i++) {
           compare(marker.submarkers[i], expected.submarkers[i]);
         }
       } else if (prop !== "uid") {
         equal(marker[prop], expected[prop], `${expected.name} matches ${prop}`);
       }
--- a/devtools/client/performance/views/details-abstract-subview.js
+++ b/devtools/client/performance/views/details-abstract-subview.js
@@ -23,17 +23,17 @@ var DetailsSubview = {
     PerformanceController.on(EVENTS.PREF_CHANGED, this._onPrefChanged);
     OverviewView.on(EVENTS.UI_OVERVIEW_RANGE_SELECTED, this._onOverviewRangeChange);
     DetailsView.on(EVENTS.UI_DETAILS_VIEW_SELECTED, this._onDetailsViewSelected);
 
     let self = this;
     let originalRenderFn = this.render;
     let afterRenderFn = () => this._wasRendered = true;
 
-    this.render = Task.async(function *(...args) {
+    this.render = Task.async(function* (...args) {
       let maybeRetval = yield originalRenderFn.apply(self, args);
       afterRenderFn();
       return maybeRetval;
     });
   },
 
   /**
    * Unbinds events.
@@ -99,17 +99,17 @@ var DetailsSubview = {
    * Flag specifying if this view should update while the overview selection
    * area is actively being dragged by the mouse.
    */
   shouldUpdateWhileMouseIsActive: false,
 
   /**
    * Called when recording stops or is selected.
    */
-  _onRecordingStoppedOrSelected: function(_, state, recording) {
+  _onRecordingStoppedOrSelected: function (_, state, recording) {
     if (typeof state !== "string") {
       recording = state;
     }
     if (arguments.length === 3 && state !== "recording-stopped") {
       return;
     }
 
     if (!recording || !recording.isCompleted()) {
@@ -142,17 +142,17 @@ var DetailsSubview = {
     } else {
       this.shouldUpdateWhenShown = true;
     }
   },
 
   /**
    * Fired when a view is selected in the DetailsView.
    */
-  _onDetailsViewSelected: function() {
+  _onDetailsViewSelected: function () {
     if (DetailsView.isViewSelected(this) && this.shouldUpdateWhenShown) {
       this.render(OverviewView.getTimeInterval());
       this.shouldUpdateWhenShown = false;
     }
   },
 
   /**
    * Fired when a preference in `devtools.performance.ui.` is changed.
--- a/devtools/client/performance/views/details-js-call-tree.js
+++ b/devtools/client/performance/views/details-js-call-tree.js
@@ -45,17 +45,17 @@ var JsCallTreeView = Heritage.extend(Det
   },
 
   /**
    * Method for handling all the set up for rendering a new call tree.
    *
    * @param object interval [optional]
    *        The { startTime, endTime }, in milliseconds.
    */
-  render: function (interval={}) {
+  render: function (interval = {}) {
     let recording = PerformanceController.getCurrentRecording();
     let profile = recording.getProfile();
     let showOptimizations = PerformanceController.getOption("show-jit-optimizations");
 
     let options = {
       contentOnly: !PerformanceController.getOption("show-platform-data"),
       invertTree: PerformanceController.getOption("invert-call-tree"),
       flattenRecursion: PerformanceController.getOption("flatten-tree-recursion"),
@@ -147,17 +147,17 @@ var JsCallTreeView = Heritage.extend(Det
     }
 
     return threadNode;
   },
 
   /**
    * Renders the call tree.
    */
-  _populateCallTree: function (frameNode, options={}) {
+  _populateCallTree: function (frameNode, options = {}) {
     // If we have an empty profile (no samples), then don't invert the tree, as
     // it would hide the root node and a completely blank call tree space can be
     // mis-interpreted as an error.
     let inverted = options.invertTree && frameNode.samples > 0;
 
     let root = new CallView({
       frame: frameNode,
       inverted: inverted,
--- a/devtools/client/performance/views/details-js-flamegraph.js
+++ b/devtools/client/performance/views/details-js-flamegraph.js
@@ -51,17 +51,17 @@ var JsFlameGraphView = Heritage.extend(D
   }),
 
   /**
    * Method for handling all the set up for rendering a new flamegraph.
    *
    * @param object interval [optional]
    *        The { startTime, endTime }, in milliseconds.
    */
-  render: function (interval={}) {
+  render: function (interval = {}) {
     let recording = PerformanceController.getCurrentRecording();
     let duration = recording.getDuration();
     let profile = recording.getProfile();
     let thread = profile.threads[0];
 
     let data = FlameGraphUtils.createFlameGraphDataFromThread(thread, {
       invertTree: PerformanceController.getOption("invert-flame-graph"),
       flattenRecursion: PerformanceController.getOption("flatten-tree-recursion"),
@@ -97,17 +97,17 @@ var JsFlameGraphView = Heritage.extend(D
     this.requiresUpdateOnRangeChange = false;
     OverviewView.setTimeInterval(interval);
     this.requiresUpdateOnRangeChange = true;
   },
 
   /**
    * Called whenever a pref is changed and this view needs to be rerendered.
    */
-  _onRerenderPrefChanged: function() {
+  _onRerenderPrefChanged: function () {
     let recording = PerformanceController.getCurrentRecording();
     let profile = recording.getProfile();
     let thread = profile.threads[0];
     FlameGraphUtils.removeFromCache(thread);
   },
 
   /**
    * Called when `devtools.theme` changes.
--- a/devtools/client/performance/views/details-memory-call-tree.js
+++ b/devtools/client/performance/views/details-memory-call-tree.js
@@ -35,17 +35,17 @@ var MemoryCallTreeView = Heritage.extend
   },
 
   /**
    * Method for handling all the set up for rendering a new call tree.
    *
    * @param object interval [optional]
    *        The { startTime, endTime }, in milliseconds.
    */
-  render: function (interval={}) {
+  render: function (interval = {}) {
     let options = {
       invertTree: PerformanceController.getOption("invert-call-tree")
     };
     let recording = PerformanceController.getCurrentRecording();
     let allocations = recording.getAllocations();
     let threadNode = this._prepareCallTree(allocations, interval, options);
     this._populateCallTree(threadNode, options);
     this.emit(EVENTS.UI_MEMORY_CALL_TREE_RENDERED);
@@ -74,17 +74,17 @@ var MemoryCallTreeView = Heritage.extend
     let { invertTree } = options;
 
     return new ThreadNode(thread, { startTime, endTime, invertTree });
   },
 
   /**
    * Renders the call tree.
    */
-  _populateCallTree: function (frameNode, options={}) {
+  _populateCallTree: function (frameNode, options = {}) {
     // If we have an empty profile (no samples), then don't invert the tree, as
     // it would hide the root node and a completely blank call tree space can be
     // mis-interpreted as an error.
     let inverted = options.invertTree && frameNode.samples > 0;
 
     let root = new CallView({
       frame: frameNode,
       inverted: inverted,
--- a/devtools/client/performance/views/details-memory-flamegraph.js
+++ b/devtools/client/performance/views/details-memory-flamegraph.js
@@ -50,17 +50,17 @@ var MemoryFlameGraphView = Heritage.exte
   }),
 
   /**
    * Method for handling all the set up for rendering a new flamegraph.
    *
    * @param object interval [optional]
    *        The { startTime, endTime }, in milliseconds.
    */
-  render: function (interval={}) {
+  render: function (interval = {}) {
     let recording = PerformanceController.getCurrentRecording();
     let duration = recording.getDuration();
     let allocations = recording.getAllocations();
 
     let thread = RecordingUtils.getProfileThreadFromAllocations(allocations);
     let data = FlameGraphUtils.createFlameGraphDataFromThread(thread, {
       invertStack: PerformanceController.getOption("invert-flame-graph"),
       flattenRecursion: PerformanceController.getOption("flatten-tree-recursion"),
@@ -93,17 +93,17 @@ var MemoryFlameGraphView = Heritage.exte
     this.requiresUpdateOnRangeChange = false;
     OverviewView.setTimeInterval(interval);
     this.requiresUpdateOnRangeChange = true;
   },
 
   /**
    * Called whenever a pref is changed and this view needs to be rerendered.
    */
-  _onRerenderPrefChanged: function() {
+  _onRerenderPrefChanged: function () {
     let recording = PerformanceController.getCurrentRecording();
     let allocations = recording.getAllocations();
     let thread = RecordingUtils.getProfileThreadFromAllocations(allocations);
     FlameGraphUtils.removeFromCache(thread);
   },
 
   /**
    * Called when `devtools.theme` changes.
--- a/devtools/client/performance/views/details-waterfall.js
+++ b/devtools/client/performance/views/details-waterfall.js
@@ -75,17 +75,17 @@ var WaterfallView = Heritage.extend(Deta
   },
 
   /**
    * Method for handling all the set up for rendering a new waterfall.
    *
    * @param object interval [optional]
    *        The { startTime, endTime }, in milliseconds.
    */
-  render: function(interval={}) {
+  render: function (interval = {}) {
     let recording = PerformanceController.getCurrentRecording();
     if (recording.isRecording()) {
       return;
     }
     let startTime = interval.startTime || 0;
     let endTime = interval.endTime || recording.getDuration();
     let markers = recording.getMarkers();
     let rootMarkerNode = this._prepareWaterfallTree(markers);
@@ -121,17 +121,17 @@ var WaterfallView = Heritage.extend(Deta
       this._markersRoot.recalculateBounds();
       this.render(OverviewView.getTimeInterval());
     });
   },
 
   /**
    * Called whenever an observed pref is changed.
    */
-  _onObservedPrefChange: function(_, prefName) {
+  _onObservedPrefChange: function (_, prefName) {
     this._hiddenMarkers = PerformanceController.getPref("hidden-markers");
 
     // Clear the cache as we'll need to recompute the collapsed
     // marker model
     this._cache = new WeakMap();
   },
 
   /**
@@ -179,17 +179,17 @@ var WaterfallView = Heritage.extend(Deta
     OverviewView.setTimeInterval({ startTime, endTime });
     DetailsView.selectView("memory-calltree");
   },
 
   /**
    * Called when the recording is stopped and prepares data to
    * populate the waterfall tree.
    */
-  _prepareWaterfallTree: function(markers) {
+  _prepareWaterfallTree: function (markers) {
     let cached = this._cache.get(markers);
     if (cached) {
       return cached;
     }
 
     let rootMarkerNode = WaterfallUtils.createParentNode({ name: "(root)" });
 
     WaterfallUtils.collapseMarkersIntoNode({
@@ -200,17 +200,17 @@ var WaterfallView = Heritage.extend(Deta
 
     this._cache.set(markers, rootMarkerNode);
     return rootMarkerNode;
   },
 
   /**
    * Renders the waterfall tree.
    */
-  _populateWaterfallTree: function(rootMarkerNode, interval) {
+  _populateWaterfallTree: function (rootMarkerNode, interval) {
     let root = new MarkerView({
       marker: rootMarkerNode,
       // The root node is irrelevant in a waterfall tree.
       hidden: true,
       // The waterfall tree should not expand by default.
       autoExpandDepth: 0
     });
 
--- a/devtools/client/performance/views/details.js
+++ b/devtools/client/performance/views/details.js
@@ -39,17 +39,17 @@ var DetailsView = {
       features: ["withAllocations"],
       prefs: ["enable-memory-flame"],
     },
   },
 
   /**
    * Sets up the view with event binding, initializes subviews.
    */
-  initialize: Task.async(function *() {
+  initialize: Task.async(function* () {
     this.el = $("#details-pane");
     this.toolbar = $("#performance-toolbar-controls-detail-views");
 
     this._onViewToggle = this._onViewToggle.bind(this);
     this._onRecordingStoppedOrSelected = this._onRecordingStoppedOrSelected.bind(this);
     this.setAvailableViews = this.setAvailableViews.bind(this);
 
     for (let button of $$("toolbarbutton[data-view]", this.toolbar)) {
@@ -61,17 +61,17 @@ var DetailsView = {
     PerformanceController.on(EVENTS.RECORDING_STATE_CHANGE, this._onRecordingStoppedOrSelected);
     PerformanceController.on(EVENTS.RECORDING_SELECTED, this._onRecordingStoppedOrSelected);
     PerformanceController.on(EVENTS.PREF_CHANGED, this.setAvailableViews);
   }),
 
   /**
    * Unbinds events, destroys subviews.
    */
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     for (let button of $$("toolbarbutton[data-view]", this.toolbar)) {
       button.removeEventListener("command", this._onViewToggle);
     }
 
     for (let [_, component] of Iterator(this.components)) {
       component.initialized && (yield component.view.destroy());
     }
 
@@ -105,17 +105,17 @@ var DetailsView = {
     // Two scenarios in which we select the default view.
     //
     // 1: If we currently have selected a view that is no longer valid due
     // to feature support, and this isn't the first view, and the current recording
     // is completed.
     //
     // 2. If we have a finished recording and no panel was selected yet,
     // use a default now that we have the recording configurations
-    if ((this._initialized  && isCompleted && invalidCurrentView) ||
+    if ((this._initialized && isCompleted && invalidCurrentView) ||
         (!this._initialized && isCompleted && recording)) {
       yield this.selectDefaultView();
     }
   }),
 
   /**
    * Takes a view name and determines if the current recording
    * can support the view.
@@ -139,17 +139,17 @@ var DetailsView = {
 
   /**
    * Select one of the DetailView's subviews to be rendered,
    * hiding the others.
    *
    * @param String viewName
    *        Name of the view to be shown.
    */
-  selectView: Task.async(function *(viewName) {
+  selectView: Task.async(function* (viewName) {
     let component = this.components[viewName];
     this.el.selectedPanel = $("#" + component.id);
 
     yield this._whenViewInitialized(component);
 
     for (let button of $$("toolbarbutton[data-view]", this.toolbar)) {
       if (button.getAttribute("data-view") === viewName) {
         button.setAttribute("checked", true);
@@ -183,17 +183,17 @@ var DetailsView = {
   },
 
   /**
    * Checks if the provided view is currently selected.
    *
    * @param object viewObject
    * @return boolean
    */
-  isViewSelected: function(viewObject) {
+  isViewSelected: function (viewObject) {
     // If not initialized, and we have no recordings,
     // no views are selected (even though there's a selected panel)
     if (!this._initialized) {
       return false;
     }
 
     let selectedPanel = this.el.selectedPanel;
     let selectedId = selectedPanel.id;
@@ -209,17 +209,17 @@ var DetailsView = {
 
   /**
    * Initializes a subview if it wasn't already set up, and makes sure
    * it's populated with recording data if there is some available.
    *
    * @param object component
    *        A component descriptor from DetailsView.components
    */
-  _whenViewInitialized: Task.async(function *(component) {
+  _whenViewInitialized: Task.async(function* (component) {
     if (component.initialized) {
       return;
     }
     component.initialized = true;
     yield component.view.initialize();
 
     // If this view is initialized *after* a recording is shown, it won't display
     // any data. Make sure it's populated by setting `shouldUpdateWhenShown`.
@@ -229,17 +229,17 @@ var DetailsView = {
     if (recording && recording.isCompleted()) {
       component.view.shouldUpdateWhenShown = true;
     }
   }),
 
   /**
    * Called when recording stops or is selected.
    */
-  _onRecordingStoppedOrSelected: function(_, state, recording) {
+  _onRecordingStoppedOrSelected: function (_, state, recording) {
     if (typeof state === "string" && state !== "recording-stopped") {
       return;
     }
     this.setAvailableViews();
   },
 
   /**
    * Called when a view button is clicked.
--- a/devtools/client/performance/views/overview.js
+++ b/devtools/client/performance/views/overview.js
@@ -70,17 +70,17 @@ var OverviewView = {
     PerformanceController.on(EVENTS.RECORDING_SELECTED, this._onRecordingSelected);
     this.graphs.on("selecting", this._onGraphSelecting);
     this.graphs.on("rendered", this._onGraphRendered);
   },
 
   /**
    * Unbinds events.
    */
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     PerformanceController.off(EVENTS.PREF_CHANGED, this._onPrefChanged);
     PerformanceController.off(EVENTS.THEME_CHANGED, this._onThemeChanged);
     PerformanceController.off(EVENTS.RECORDING_STATE_CHANGE, this._onRecordingStateChange);
     PerformanceController.off(EVENTS.RECORDING_SELECTED, this._onRecordingSelected);
     this.graphs.off("selecting", this._onGraphSelecting);
     this.graphs.off("rendered", this._onGraphRendered);
     yield this.graphs.destroy();
   }),
@@ -116,17 +116,17 @@ var OverviewView = {
   },
 
   /**
    * Sets the time interval selection for all graphs in this overview.
    *
    * @param object interval
    *        The { startTime, endTime }, in milliseconds.
    */
-  setTimeInterval: function(interval, options = {}) {
+  setTimeInterval: function (interval, options = {}) {
     let recording = PerformanceController.getCurrentRecording();
     if (recording == null) {
       throw new Error("A recording should be available in order to set the selection.");
     }
     if (this.isDisabled()) {
       return;
     }
     let mapStart = () => 0;
@@ -138,17 +138,17 @@ var OverviewView = {
   },
 
   /**
    * Gets the time interval selection for all graphs in this overview.
    *
    * @return object
    *         The { startTime, endTime }, in milliseconds.
    */
-  getTimeInterval: function() {
+  getTimeInterval: function () {
     let recording = PerformanceController.getCurrentRecording();
     if (recording == null) {
       throw new Error("A recording should be available in order to get the selection.");
     }
     if (this.isDisabled()) {
       return { startTime: 0, endTime: recording.getDuration() };
     }
     let mapStart = () => 0;
@@ -165,34 +165,34 @@ var OverviewView = {
   },
 
   /**
    * Method for handling all the set up for rendering the overview graphs.
    *
    * @param number resolution
    *        The fps graph resolution. @see Graphs.js
    */
-  render: Task.async(function *(resolution) {
+  render: Task.async(function* (resolution) {
     if (this.isDisabled()) {
       return;
     }
 
     let recording = PerformanceController.getCurrentRecording();
     yield this.graphs.render(recording.getAllData(), resolution);
 
     // Finished rendering all graphs in this overview.
     this.emit(EVENTS.UI_OVERVIEW_RENDERED, resolution);
   }),
 
   /**
    * Called at most every OVERVIEW_UPDATE_INTERVAL milliseconds
    * and uses data fetched from the controller to render
    * data into all the corresponding overview graphs.
    */
-  _onRecordingTick: Task.async(function *() {
+  _onRecordingTick: Task.async(function* () {
     yield this.render(FRAMERATE_GRAPH_LOW_RES_INTERVAL);
     this._prepareNextTick();
   }),
 
   /**
    * Called to refresh the timer to keep firing _onRecordingTick.
    */
   _prepareNextTick: function () {
@@ -363,18 +363,18 @@ var OverviewView = {
  * handles a recording state change like when a recording is starting,
  * stopping, or about to start/stop, and determines whether or not
  * the polling for rendering the overview graphs needs to start or stop.
  * Must be called with the OverviewView context.
  *
  * @param {function?} fn
  * @return {function}
  */
-function OverviewViewOnStateChange (fn) {
-  return function _onRecordingStateChange (eventName, recording) {
+function OverviewViewOnStateChange(fn) {
+  return function _onRecordingStateChange(eventName, recording) {
     // Normalize arguments for the RECORDING_STATE_CHANGE event,
     // as it also has a `state` argument.
     if (typeof recording === "string") {
       recording = arguments[2];
     }
 
     let currentRecording = PerformanceController.getCurrentRecording();
 
@@ -407,13 +407,13 @@ function OverviewViewOnStateChange (fn) 
       this._stopPolling();
     } else if (currentRecording.isRecording() && !this.isRendering()) {
       this._startPolling();
     }
 
     if (fn) {
       fn.apply(this, arguments);
     }
-  }
+  };
 }
 
 // Decorates the OverviewView as an EventEmitter
 EventEmitter.decorate(OverviewView);
--- a/devtools/client/performance/views/recordings.js
+++ b/devtools/client/performance/views/recordings.js
@@ -8,17 +8,17 @@
 
 /**
  * Functions handling the recordings UI.
  */
 var RecordingsView = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     this.widget = new SideMenuWidget($("#recordings-list"));
 
     this._onSelect = this._onSelect.bind(this);
     this._onRecordingStateChange = this._onRecordingStateChange.bind(this);
     this._onNewRecording = this._onNewRecording.bind(this);
     this._onSaveButtonClick = this._onSaveButtonClick.bind(this);
     this._onRecordingDeleted = this._onRecordingDeleted.bind(this);
     this._onRecordingExported = this._onRecordingExported.bind(this);
@@ -30,17 +30,17 @@ var RecordingsView = Heritage.extend(Wid
     PerformanceController.on(EVENTS.RECORDING_DELETED, this._onRecordingDeleted);
     PerformanceController.on(EVENTS.RECORDING_EXPORTED, this._onRecordingExported);
     this.widget.addEventListener("select", this._onSelect, false);
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: function() {
+  destroy: function () {
     PerformanceController.off(EVENTS.RECORDING_STATE_CHANGE, this._onRecordingStateChange);
     PerformanceController.off(EVENTS.RECORDING_ADDED, this._onNewRecording);
     PerformanceController.off(EVENTS.RECORDING_DELETED, this._onRecordingDeleted);
     PerformanceController.off(EVENTS.RECORDING_EXPORTED, this._onRecordingExported);
     this.widget.removeEventListener("select", this._onSelect, false);
   },
 
   /**
@@ -172,17 +172,17 @@ var RecordingsView = Heritage.extend(Wid
     let durationNode = $(".recording-item-duration", recordingItem.target);
     durationNode.setAttribute("value",
       L10N.getFormatStr("recordingsList.durationLabel", durationMillis));
   },
 
   /**
    * The select listener for this container.
    */
-  _onSelect: Task.async(function*({ detail: recordingItem }) {
+  _onSelect: Task.async(function* ({ detail: recordingItem }) {
     if (!recordingItem) {
       return;
     }
 
     let model = recordingItem.attachment;
     this.emit(EVENTS.UI_RECORDING_SELECTED, model);
   }),
 
--- a/devtools/client/performance/views/toolbar.js
+++ b/devtools/client/performance/views/toolbar.js
@@ -8,17 +8,17 @@
 
 /**
  * View handler for toolbar events (mostly option toggling and triggering)
  */
 var ToolbarView = {
   /**
    * Sets up the view with event binding.
    */
-  initialize: Task.async(function *() {
+  initialize: Task.async(function* () {
     this._onFilterPopupShowing = this._onFilterPopupShowing.bind(this);
     this._onFilterPopupHiding = this._onFilterPopupHiding.bind(this);
     this._onHiddenMarkersChanged = this._onHiddenMarkersChanged.bind(this);
     this._onPrefChanged = this._onPrefChanged.bind(this);
     this._popup = $("#performance-options-menupopup");
 
     this.optionsView = new OptionsView({
       branchName: BRANCH_NAME,
@@ -31,35 +31,35 @@ var ToolbarView = {
     this._toggleExperimentalUI(experimentalEnabled);
 
     yield this.optionsView.initialize();
     this.optionsView.on("pref-changed", this._onPrefChanged);
 
     this._buildMarkersFilterPopup();
     this._updateHiddenMarkersPopup();
     $("#performance-filter-menupopup").addEventListener("popupshowing", this._onFilterPopupShowing);
-    $("#performance-filter-menupopup").addEventListener("popuphiding",  this._onFilterPopupHiding);
+    $("#performance-filter-menupopup").addEventListener("popuphiding", this._onFilterPopupHiding);
   }),
 
   /**
    * Unbinds events and cleans up view.
    */
   destroy: function () {
     $("#performance-filter-menupopup").removeEventListener("popupshowing", this._onFilterPopupShowing);
-    $("#performance-filter-menupopup").removeEventListener("popuphiding",  this._onFilterPopupHiding);
-    this._popup = null
+    $("#performance-filter-menupopup").removeEventListener("popuphiding", this._onFilterPopupHiding);
+    this._popup = null;
 
     this.optionsView.off("pref-changed", this._onPrefChanged);
     this.optionsView.destroy();
   },
 
   /**
    * Creates the timeline markers filter popup.
    */
-  _buildMarkersFilterPopup: function() {
+  _buildMarkersFilterPopup: function () {
     for (let [markerName, markerDetails] of Iterator(TIMELINE_BLUEPRINT)) {
       let menuitem = document.createElement("menuitem");
       menuitem.setAttribute("closemenu", "none");
       menuitem.setAttribute("type", "checkbox");
       menuitem.setAttribute("align", "center");
       menuitem.setAttribute("flex", "1");
       menuitem.setAttribute("label", MarkerBlueprintUtils.getMarkerGenericName(markerName));
       menuitem.setAttribute("marker-type", markerName);
@@ -69,17 +69,17 @@ var ToolbarView = {
 
       $("#performance-filter-menupopup").appendChild(menuitem);
     }
   },
 
   /**
    * Updates the menu items checked state in the timeline markers filter popup.
    */
-  _updateHiddenMarkersPopup: function() {
+  _updateHiddenMarkersPopup: function () {
     let menuItems = $$("#performance-filter-menupopup menuitem[marker-type]");
     let hiddenMarkers = PerformanceController.getPref("hidden-markers");
 
     for (let menuitem of menuItems) {
       if (~hiddenMarkers.indexOf(menuitem.getAttribute("marker-type"))) {
         menuitem.removeAttribute("checked");
       } else {
         menuitem.setAttribute("checked", "true");
@@ -108,31 +108,31 @@ var ToolbarView = {
       $(".theme-body").classList.remove("experimental-enabled");
       this._popup.classList.remove("experimental-enabled");
     }
   },
 
   /**
    * Fired when the markers filter popup starts to show.
    */
-  _onFilterPopupShowing: function() {
+  _onFilterPopupShowing: function () {
     $("#filter-button").setAttribute("open", "true");
   },
 
   /**
    * Fired when the markers filter popup starts to hide.
    */
-  _onFilterPopupHiding: function() {
+  _onFilterPopupHiding: function () {
     $("#filter-button").removeAttribute("open");
   },
 
   /**
    * Fired when a menu item in the markers filter popup is checked or unchecked.
    */
-  _onHiddenMarkersChanged: function() {
+  _onHiddenMarkersChanged: function () {
     let checkedMenuItems = $$("#performance-filter-menupopup menuitem[marker-type]:not([checked])");
     let hiddenMarkers = Array.map(checkedMenuItems, e => e.getAttribute("marker-type"));
     PerformanceController.setPref("hidden-markers", hiddenMarkers);
   },
 
   /**
    * Fired when a preference changes in the underlying OptionsView.
    * Propogated by the PerformanceController.
--- a/devtools/client/projecteditor/chrome/content/projecteditor-loader.js
+++ b/devtools/client/projecteditor/chrome/content/projecteditor-loader.js
@@ -36,17 +36,17 @@ document.addEventListener("DOMContentLoa
 
   projecteditor.on("onEditorCreated", (editor, a) => {
     log("editor created: " + editor);
     if (editor.label === "app-manager") {
       appManagerEditor = editor;
       appManagerEditor.on("load", function foo() {
         appManagerEditor.off("load", foo);
         log("Working on: " + SAMPLE_PATH);
-      })
+      });
     }
   });
   projecteditor.on("onEditorDestroyed", (editor) => {
     log("editor destroyed: " + editor);
   });
   projecteditor.on("onEditorSave", (editor, resource) => {
     log("editor saved: " + editor, resource.path);
   });
@@ -100,52 +100,52 @@ function buildTempDirectoryStructure() {
   FileUtils.getDir("TmpD", ["ProjectEditor", "css"], true);
   FileUtils.getDir("TmpD", ["ProjectEditor", "data"], true);
   FileUtils.getDir("TmpD", ["ProjectEditor", "img", "icons"], true);
   FileUtils.getDir("TmpD", ["ProjectEditor", "js"], true);
 
   let htmlFile = FileUtils.getFile("TmpD", ["ProjectEditor", "index.html"]);
   htmlFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFile(htmlFile, [
-    '<!DOCTYPE html>',
+    "<!DOCTYPE html>",
     '<html lang="en">',
-    ' <head>',
+    " <head>",
     '   <meta charset="utf-8" />',
-    '   <title>ProjectEditor Temp File</title>',
+    "   <title>ProjectEditor Temp File</title>",
     '   <link rel="stylesheet" href="style.css" />',
-    ' </head>',
+    " </head>",
     ' <body id="home">',
-    '   <p>ProjectEditor Temp File</p>',
-    ' </body>',
-    '</html>'].join("\n")
+    "   <p>ProjectEditor Temp File</p>",
+    " </body>",
+    "</html>"].join("\n")
   );
 
   let readmeFile = FileUtils.getFile("TmpD", ["ProjectEditor", "README.md"]);
   readmeFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFile(readmeFile, [
-    '## Readme'
-    ].join("\n")
+    "## Readme"
+  ].join("\n")
   );
 
   let licenseFile = FileUtils.getFile("TmpD", ["ProjectEditor", "LICENSE"]);
   licenseFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFile(licenseFile, [
-   '/* This Source Code Form is subject to the terms of the Mozilla Public',
-   ' * License, v. 2.0. If a copy of the MPL was not distributed with this',
-   ' * file, You can obtain one at http://mozilla.org/MPL/2.0/. */'
-    ].join("\n")
+    "/* This Source Code Form is subject to the terms of the Mozilla Public",
+    " * License, v. 2.0. If a copy of the MPL was not distributed with this",
+    " * file, You can obtain one at http://mozilla.org/MPL/2.0/. */"
+  ].join("\n")
   );
 
   let cssFile = FileUtils.getFile("TmpD", ["ProjectEditor", "css", "styles.css"]);
   cssFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFile(cssFile, [
-    'body {',
-    ' background: red;',
-    '}'
-    ].join("\n")
+    "body {",
+    " background: red;",
+    "}"
+  ].join("\n")
   );
 
   FileUtils.getFile("TmpD", ["ProjectEditor", "js", "script.js"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
 
   FileUtils.getFile("TmpD", ["ProjectEditor", "img", "fake.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", ["ProjectEditor", "img", "icons", "16x16.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", ["ProjectEditor", "img", "icons", "32x32.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", ["ProjectEditor", "img", "icons", "128x128.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
@@ -154,23 +154,23 @@ function buildTempDirectoryStructure() {
   return TEMP_DIR.path;
 }
 
 
 // https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Writing_to_a_file
 function writeToFile(file, data) {
 
   let defer = promise.defer();
-  var ostream = FileUtils.openSafeFileOutputStream(file)
+  var ostream = FileUtils.openSafeFileOutputStream(file);
 
   var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].
                   createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
   converter.charset = "UTF-8";
   var istream = converter.convertToInputStream(data);
 
   // The last argument (the callback) is optional.
-  NetUtil.asyncCopy(istream, ostream, function(status) {
+  NetUtil.asyncCopy(istream, ostream, function (status) {
     if (!Components.isSuccessCode(status)) {
       // Handle error!
       console.log("ERROR WRITING TEMP FILE", status);
     }
   });
 }
--- a/devtools/client/projecteditor/lib/editors.js
+++ b/devtools/client/projecteditor/lib/editors.js
@@ -4,17 +4,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const { Cu } = require("chrome");
 const { Class } = require("sdk/core/heritage");
 const { EventTarget } = require("sdk/event/target");
 const { emit } = require("sdk/event/core");
 const promise = require("promise");
-const Editor  = require("devtools/client/sourceeditor/editor");
+const Editor = require("devtools/client/sourceeditor/editor");
 const HTML_NS = "http://www.w3.org/1999/xhtml";
 const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 
 /**
  * ItchEditor is extended to implement an editor, which is the main view
  * that shows up when a file is selected.  This object should not be used
  * directly - use TextEditor for a basic code editor.
  */
@@ -27,51 +27,51 @@ var ItchEditor = Class({
   hidesToolbar: false,
 
   /**
    * A boolean specifying whether the editor can be edited / saved.
    * For instance, a 'save' doesn't make sense on an image.
    */
   isEditable: false,
 
-  toString: function() {
+  toString: function () {
     return this.label || "";
   },
 
-  emit: function(name, ...args) {
+  emit: function (name, ...args) {
     emit(this, name, ...args);
   },
 
   /* Does the editor not have any unsaved changes? */
-  isClean: function() {
+  isClean: function () {
     return true;
   },
 
   /**
    * Initialize the editor with a single host.  This should be called
    * by objects extending this object with:
    * ItchEditor.prototype.initialize.apply(this, arguments)
    */
-  initialize: function(host) {
+  initialize: function (host) {
     this.host = host;
     this.doc = host.document;
     this.label = "";
     this.elt = this.doc.createElement("vbox");
     this.elt.setAttribute("flex", "1");
     this.elt.editor = this;
     this.toolbar = this.doc.querySelector("#projecteditor-toolbar");
     this.projectEditorKeyset = host.projectEditorKeyset;
     this.projectEditorCommandset = host.projectEditorCommandset;
   },
 
   /**
    * Sets the visibility of the element that shows up above the editor
    * based on the this.hidesToolbar property.
    */
-  setToolbarVisibility: function() {
+  setToolbarVisibility: function () {
     if (this.hidesToolbar) {
       this.toolbar.setAttribute("hidden", "true");
     } else {
       this.toolbar.removeAttribute("hidden");
     }
   },
 
 
@@ -79,36 +79,36 @@ var ItchEditor = Class({
    * Load a single resource into the editor.
    *
    * @param Resource resource
    *        The single file / item that is being dealt with (see stores/base)
    * @returns Promise
    *          A promise that is resolved once the editor has loaded the contents
    *          of the resource.
    */
-  load: function(resource) {
+  load: function (resource) {
     return promise.resolve();
   },
 
   /**
    * Clean up the editor.  This can have different meanings
    * depending on the type of editor.
    */
-  destroy: function() {
+  destroy: function () {
 
   },
 
   /**
    * Give focus to the editor.  This can have different meanings
    * depending on the type of editor.
    *
    * @returns Promise
    *          A promise that is resolved once the editor has been focused.
    */
-  focus: function() {
+  focus: function () {
     return promise.resolve();
   }
 });
 exports.ItchEditor = ItchEditor;
 
 /**
  * The main implementation of the ItchEditor class.  The TextEditor is used
  * when editing any sort of plain text file, and can be created with different
@@ -136,34 +136,34 @@ var TextEditor = Class({
       let modifiers = {
         alt: toolModifiers.includes("alt"),
         shift: toolModifiers.includes("shift")
       };
 
       // On the key press, we will dispatch the event within projecteditor.
       extraKeys[Editor.accel(keyUpper, modifiers)] = () => {
         let doc = this.projectEditorCommandset.ownerDocument;
-        let event = doc.createEvent('Event');
-        event.initEvent('command', true, true);
+        let event = doc.createEvent("Event");
+        event.initEvent("command", true, true);
         let command = this.projectEditorCommandset.querySelector("#" + key.getAttribute("command"));
         command.dispatchEvent(event);
       };
     });
 
     return extraKeys;
   },
 
-  isClean: function() {
+  isClean: function () {
     if (!this.editor.isAppended()) {
       return true;
     }
     return this.editor.getText() === this._savedResourceContents;
   },
 
-  initialize: function(document, mode=Editor.modes.text) {
+  initialize: function (document, mode = Editor.modes.text) {
     ItchEditor.prototype.initialize.apply(this, arguments);
     this.label = mode.name;
     this.editor = new Editor({
       mode: mode,
       lineNumbers: true,
       extraKeys: this.extraKeys,
       themeSwitching: false,
       autocomplete: true,
@@ -177,40 +177,40 @@ var TextEditor = Class({
     this.editor.on("cursorActivity", (...args) => {
       this.emit("cursorActivity", ...args);
     });
     this.editor.on("focus", (...args) => {
       this.emit("focus", ...args);
     });
     this.editor.on("saveRequested", (...args) => {
       this.emit("saveRequested", ...args);
-    })
+    });
 
     this.appended = this.editor.appendTo(this.elt);
   },
 
   /**
    * Clean up the editor.  This can have different meanings
    * depending on the type of editor.
    */
-  destroy: function() {
+  destroy: function () {
     this.editor.destroy();
     this.editor = null;
   },
 
   /**
    * Load a single resource into the text editor.
    *
    * @param Resource resource
    *        The single file / item that is being dealt with (see stores/base)
    * @returns Promise
    *          A promise that is resolved once the text editor has loaded the
    *          contents of the resource.
    */
-  load: function(resource) {
+  load: function (resource) {
     // Wait for the editor.appendTo and resource.load before proceeding.
     // They can run in parallel.
     return promise.all([
       resource.load(),
       this.appended
     ]).then(([resourceContents])=> {
       if (!this.editor) {
         return;
@@ -227,31 +227,31 @@ var TextEditor = Class({
    * Save the resource based on the current state of the editor
    *
    * @param Resource resource
    *        The single file / item to be saved
    * @returns Promise
    *          A promise that is resolved once the resource has been
    *          saved.
    */
-  save: function(resource) {
+  save: function (resource) {
     let newText = this.editor.getText();
     return resource.save(newText).then(() => {
       this._savedResourceContents = newText;
       this.emit("save", resource);
     });
   },
 
   /**
    * Give focus to the code editor.
    *
    * @returns Promise
    *          A promise that is resolved once the editor has been focused.
    */
-  focus: function() {
+  focus: function () {
     return this.appended.then(() => {
       if (this.editor) {
         this.editor.focus();
       }
     });
   }
 });
 
--- a/devtools/client/projecteditor/lib/helpers/event.js
+++ b/devtools/client/projecteditor/lib/helpers/event.js
@@ -11,46 +11,46 @@
 
 const { Class } = require("sdk/core/heritage");
 
 /**
  * The Scope object is used to keep track of listeners.
  * This object is not exported.
  */
 var Scope = Class({
-  on: function(target, event, handler) {
+  on: function (target, event, handler) {
     this.listeners = this.listeners || [];
     this.listeners.push({
       target: target,
       event: event,
       handler: handler
     });
     target.on(event, handler);
   },
 
-  off: function(t, e, h) {
+  off: function (t, e, h) {
     if (!this.listeners) return;
     this.listeners = this.listeners.filter(({ target, event, handler }) => {
       return !(target === t && event === e && handler === h);
     });
     target.off(event, handler);
   },
 
-  clear: function(clearTarget) {
+  clear: function (clearTarget) {
     if (!this.listeners) return;
     this.listeners = this.listeners.filter(({ target, event, handler }) => {
       if (target === clearTarget) {
         target.off(event, handler);
         return false;
       }
       return true;
     });
   },
 
-  destroy: function() {
+  destroy: function () {
     if (!this.listeners) return;
     this.listeners.forEach(({ target, event, handler }) => {
       target.off(event, handler);
     });
     this.listeners = undefined;
   }
 });
 
@@ -63,24 +63,24 @@ function scope(owner) {
   }
   return scopes.get(owner);
 }
 exports.scope = scope;
 
 exports.on = function on(owner, target, event, handler) {
   if (!target) return;
   scope(owner).on(target, event, handler);
-}
+};
 
 exports.off = function off(owner, target, event, handler) {
   if (!target) return;
   scope(owner).off(target, event, handler);
-}
+};
 
 exports.forget = function forget(owner, target) {
   scope(owner).clear(target);
-}
+};
 
 exports.done = function done(owner) {
   scope(owner).destroy();
   scopes.delete(owner);
-}
+};
 
--- a/devtools/client/projecteditor/lib/helpers/file-picker.js
+++ b/devtools/client/projecteditor/lib/helpers/file-picker.js
@@ -34,29 +34,29 @@ const { getLocalizedString } = require("
  *         A promise that is resolved with the full path
  *         after the file has been picked.
  */
 function showPicker(options) {
   let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
   if (options.directory) {
     try {
       fp.displayDirectory = FileUtils.File(options.directory);
-    } catch(ex) {
+    } catch (ex) {
       console.warn(ex);
     }
   }
 
   if (options.defaultName) {
     fp.defaultString = options.defaultName;
   }
 
   fp.init(options.window, options.title, options.mode);
   let deferred = promise.defer();
   fp.open({
-    done: function(res) {
+    done: function (res) {
       if (res === Ci.nsIFilePicker.returnOK || res === Ci.nsIFilePicker.returnReplace) {
         deferred.resolve(fp.file.path);
       } else {
         deferred.reject();
       }
     }
   });
   return deferred.promise;
--- a/devtools/client/projecteditor/lib/helpers/l10n.js
+++ b/devtools/client/projecteditor/lib/helpers/l10n.js
@@ -8,17 +8,17 @@
  * This file contains helper functions for internationalizing projecteditor strings
  */
 
 const { Cu, Cc, Ci } = require("chrome");
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
 const ITCHPAD_STRINGS_URI = "chrome://devtools/locale/projecteditor.properties";
 const L10N = new LocalizationHelper(ITCHPAD_STRINGS_URI).stringBundle;
 
-function getLocalizedString (name) {
+function getLocalizedString(name) {
   try {
     return L10N.GetStringFromName(name);
   } catch (ex) {
     console.log("Error reading '" + name + "'");
     throw new Error("l10n error with " + name);
   }
 }
 
--- a/devtools/client/projecteditor/lib/helpers/readdir.js
+++ b/devtools/client/projecteditor/lib/helpers/readdir.js
@@ -69,21 +69,21 @@ function readDir(path, ignore, maxDepth 
       isDir: info.isDir,
       isSymLink: info.isSymLink,
       depth: info.depth,
       children: children,
     };
   }
 
   return ret;
-};
+}
 
 onmessage = function (event) {
   try {
     let {path, ignore, depth} = event.data;
     let message = readDir(path, ignore, depth);
     postMessage(message);
-  } catch(ex) {
+  } catch (ex) {
     console.log(ex);
   }
 };
 
 
--- a/devtools/client/projecteditor/lib/plugins/app-manager/app-project-editor.js
+++ b/devtools/client/projecteditor/lib/plugins/app-manager/app-project-editor.js
@@ -9,29 +9,29 @@ const { Class } = require("sdk/core/heri
 const promise = require("promise");
 const { ItchEditor } = require("devtools/client/projecteditor/lib/editors");
 
 var AppProjectEditor = Class({
   extends: ItchEditor,
 
   hidesToolbar: true,
 
-  initialize: function(host) {
+  initialize: function (host) {
     ItchEditor.prototype.initialize.apply(this, arguments);
     this.appended = promise.resolve();
     this.host = host;
     this.label = "app-manager";
   },
 
-  destroy: function() {
+  destroy: function () {
     this.elt.remove();
     this.elt = null;
   },
 
-  load: function(resource) {
+  load: function (resource) {
     let {appManagerOpts} = this.host.project;
 
     // Only load the frame the first time it is selected
     if (!this.iframe || this.iframe.getAttribute("src") !== appManagerOpts.projectOverviewURL) {
 
       this.elt.textContent = "";
       let iframe = this.iframe = this.elt.ownerDocument.createElement("iframe");
       let iframeLoaded = this.iframeLoaded = promise.defer();
--- a/devtools/client/projecteditor/lib/plugins/app-manager/plugin.js
+++ b/devtools/client/projecteditor/lib/plugins/app-manager/plugin.js
@@ -7,25 +7,25 @@ var { registerPlugin, Plugin } = require
 const { AppProjectEditor } = require("./app-project-editor");
 const OPTION_URL = "chrome://devtools/skin/images/tool-options.svg";
 const Services = require("Services");
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 var AppManagerRenderer = Class({
   extends: Plugin,
 
-  isAppManagerProject: function() {
+  isAppManagerProject: function () {
     return !!this.host.project.appManagerOpts;
   },
-  editorForResource: function(resource) {
+  editorForResource: function (resource) {
     if (!resource.parent && this.isAppManagerProject()) {
       return AppProjectEditor;
     }
   },
-  getUI: function(parent) {
+  getUI: function (parent) {
     let doc = parent.ownerDocument;
     if (parent.childElementCount == 0) {
       let image = doc.createElement("image");
       let optionImage = doc.createElement("image");
       let flexElement = doc.createElement("div");
       let nameLabel = doc.createElement("span");
       let statusElement = doc.createElement("div");
 
@@ -44,25 +44,25 @@ var AppManagerRenderer = Class({
     }
 
     return {
       image: parent.querySelector(".project-image"),
       nameLabel: parent.querySelector(".project-name-label"),
       statusElement: parent.querySelector(".project-status")
     };
   },
-  onAnnotate: function(resource, editor, elt) {
+  onAnnotate: function (resource, editor, elt) {
     if (resource.parent || !this.isAppManagerProject()) {
       return;
     }
 
     let {appManagerOpts} = this.host.project;
     let doc = elt.ownerDocument;
 
-    let {image,nameLabel,statusElement} = this.getUI(elt);
+    let {image, nameLabel, statusElement} = this.getUI(elt);
     let name = appManagerOpts.name || resource.basename;
     let url = appManagerOpts.iconUrl || "icon-sample.png";
     let status = appManagerOpts.validationStatus || "unknown";
     let tooltip = Strings.formatStringFromName("status_tooltip",
       [Strings.GetStringFromName("status_" + status)], 1);
 
     nameLabel.textContent = name;
     image.setAttribute("src", url);
--- a/devtools/client/projecteditor/lib/plugins/core.js
+++ b/devtools/client/projecteditor/lib/plugins/core.js
@@ -4,79 +4,79 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 // This is the core plugin API.
 
 const { Class } = require("sdk/core/heritage");
 
 var Plugin = Class({
-  initialize: function(host) {
+  initialize: function (host) {
     this.host = host;
     this.init(host);
   },
 
-  destroy: function(host) { },
+  destroy: function (host) { },
 
-  init: function(host) {},
+  init: function (host) {},
 
-  showForCategories: function(elt, categories) {
+  showForCategories: function (elt, categories) {
     this._showFor = this._showFor || [];
     let set = new Set(categories);
     this._showFor.push({
       elt: elt,
       categories: new Set(categories)
     });
     if (this.host.currentEditor) {
       this.onEditorActivated(this.host.currentEditor);
     } else {
       elt.classList.add("plugin-hidden");
     }
   },
 
-  priv: function(item) {
+  priv: function (item) {
     if (!this._privData) {
       this._privData = new WeakMap();
     }
     if (!this._privData.has(item)) {
-       this._privData.set(item, {});
+      this._privData.set(item, {});
     }
     return this._privData.get(item);
   },
-  onTreeSelected: function(resource) {},
+  onTreeSelected: function (resource) {},
 
 
   // Editor state lifetime...
-  onEditorCreated: function(editor) {},
-  onEditorDestroyed: function(editor) {},
+  onEditorCreated: function (editor) {},
+  onEditorDestroyed: function (editor) {},
 
-  onEditorActivated: function(editor) {
+  onEditorActivated: function (editor) {
     if (this._showFor) {
       let category = editor.category;
       for (let item of this._showFor) {
         if (item.categories.has(category)) {
           item.elt.classList.remove("plugin-hidden");
         } else {
           item.elt.classList.add("plugin-hidden");
         }
       }
     }
   },
-  onEditorDeactivated: function(editor) {
+  onEditorDeactivated: function (editor) {
     if (this._showFor) {
       for (let item of this._showFor) {
         item.elt.classList.add("plugin-hidden");
       }
     }
   },
 
-  onEditorLoad: function(editor) {},
-  onEditorSave: function(editor) {},
-  onEditorChange: function(editor) {},
-  onEditorCursorActivity: function(editor) {},
+  onEditorLoad: function (editor) {},
+  onEditorSave: function (editor) {},
+  onEditorChange: function (editor) {},
+  onEditorCursorActivity: function (editor) {},
 });
 exports.Plugin = Plugin;
 
 function registerPlugin(constr) {
   exports.registeredPlugins.push(constr);
 }
 exports.registerPlugin = registerPlugin;
 
--- a/devtools/client/projecteditor/lib/plugins/delete/delete.js
+++ b/devtools/client/projecteditor/lib/plugins/delete/delete.js
@@ -8,51 +8,51 @@ const { Class } = require("sdk/core/heri
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 const { confirm } = require("devtools/client/projecteditor/lib/helpers/prompts");
 const { getLocalizedString } = require("devtools/client/projecteditor/lib/helpers/l10n");
 
 var DeletePlugin = Class({
   extends: Plugin,
   shouldConfirm: true,
 
-  init: function(host) {
+  init: function (host) {
     this.host.addCommand(this, {
       id: "cmd-delete"
     });
     this.contextMenuItem = this.host.createMenuItem({
       parent: this.host.contextMenuPopup,
       label: getLocalizedString("projecteditor.deleteLabel"),
       command: "cmd-delete"
     });
   },
 
-  confirmDelete: function(resource) {
+  confirmDelete: function (resource) {
     let deletePromptMessage = resource.isDir ?
       getLocalizedString("projecteditor.deleteFolderPromptMessage") :
       getLocalizedString("projecteditor.deleteFilePromptMessage");
     return !this.shouldConfirm || confirm(
       getLocalizedString("projecteditor.deletePromptTitle"),
       deletePromptMessage
     );
   },
 
-  onContextMenuOpen: function(resource) {
+  onContextMenuOpen: function (resource) {
     // Do not allow deletion of the top level items in the tree.  In the
     // case of the Web IDE in particular this can leave the UI in a weird
     // state. If we'd like to add ability to delete the project folder from
     // the tree in the future, then the UI could be cleaned up by listening
     // to the ProjectTree's "resource-removed" event.
     if (!resource.parent) {
       this.contextMenuItem.setAttribute("hidden", "true");
     } else {
       this.contextMenuItem.removeAttribute("hidden");
     }
   },
 
-  onCommand: function(cmd) {
+  onCommand: function (cmd) {
     if (cmd === "cmd-delete") {
       let tree = this.host.projectTree;
       let resource = tree.getSelectedResource();
 
       if (!this.confirmDelete(resource)) {
         return;
       }
 
--- a/devtools/client/projecteditor/lib/plugins/dirty/dirty.js
+++ b/devtools/client/projecteditor/lib/plugins/dirty/dirty.js
@@ -6,42 +6,42 @@
 
 const { Class } = require("sdk/core/heritage");
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 const { emit } = require("sdk/event/core");
 
 var DirtyPlugin = Class({
   extends: Plugin,
 
-  onEditorSave: function(editor) { this.onEditorChange(editor); },
-  onEditorLoad: function(editor) { this.onEditorChange(editor); },
+  onEditorSave: function (editor) { this.onEditorChange(editor); },
+  onEditorLoad: function (editor) { this.onEditorChange(editor); },
 
-  onEditorChange: function(editor) {
+  onEditorChange: function (editor) {
     // Only run on a TextEditor
     if (!editor || !editor.editor) {
       return;
     }
 
     // Dont' force a refresh unless the dirty state has changed...
     let priv = this.priv(editor);
-    let clean = editor.isClean()
+    let clean = editor.isClean();
     if (priv.isClean !== clean) {
       let resource = editor.shell.resource;
       emit(resource, "label-change", resource);
       priv.isClean = clean;
     }
   },
 
-  onAnnotate: function(resource, editor, elt) {
+  onAnnotate: function (resource, editor, elt) {
     // Only run on a TextEditor
     if (!editor || !editor.editor) {
       return;
     }
 
     if (!editor.isClean()) {
-      elt.textContent = '*' + resource.displayName;
+      elt.textContent = "*" + resource.displayName;
       return true;
     }
   }
 });
 exports.DirtyPlugin = DirtyPlugin;
 
 registerPlugin(DirtyPlugin);
--- a/devtools/client/projecteditor/lib/plugins/image-view/image-editor.js
+++ b/devtools/client/projecteditor/lib/plugins/image-view/image-editor.js
@@ -7,23 +7,23 @@
 const { Cu } = require("chrome");
 const { Class } = require("sdk/core/heritage");
 const promise = require("promise");
 const { ItchEditor } = require("devtools/client/projecteditor/lib/editors");
 
 var ImageEditor = Class({
   extends: ItchEditor,
 
-  initialize: function() {
+  initialize: function () {
     ItchEditor.prototype.initialize.apply(this, arguments);
     this.label = "image";
     this.appended = promise.resolve();
   },
 
-  load: function(resource) {
+  load: function (resource) {
     this.elt.innerHTML = "";
     let image = this.image = this.doc.createElement("image");
     image.className = "editor-image";
     image.setAttribute("src", resource.uri);
 
     let box1 = this.doc.createElement("box");
     box1.appendChild(image);
 
@@ -33,17 +33,17 @@ var ImageEditor = Class({
     this.elt.appendChild(box1);
     this.elt.appendChild(box2);
 
     this.appended.then(() => {
       this.emit("load");
     });
   },
 
-  destroy: function() {
+  destroy: function () {
     if (this.image) {
       this.image.remove();
       this.image = null;
     }
   }
 
 });
 
--- a/devtools/client/projecteditor/lib/plugins/image-view/plugin.js
+++ b/devtools/client/projecteditor/lib/plugins/image-view/plugin.js
@@ -8,21 +8,21 @@ const { Cu } = require("chrome");
 const { Class } = require("sdk/core/heritage");
 const promise = require("promise");
 const { ImageEditor } = require("./image-editor");
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 
 var ImageEditorPlugin = Class({
   extends: Plugin,
 
-  editorForResource: function(node) {
+  editorForResource: function (node) {
     if (node.contentCategory === "image") {
       return ImageEditor;
     }
   },
 
-  init: function(host) {
+  init: function (host) {
 
   }
 });
 
 exports.ImageEditorPlugin = ImageEditorPlugin;
 registerPlugin(ImageEditorPlugin);
--- a/devtools/client/projecteditor/lib/plugins/logging/logging.js
+++ b/devtools/client/projecteditor/lib/plugins/logging/logging.js
@@ -6,24 +6,24 @@
 
 var { Class } = require("sdk/core/heritage");
 var { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 
 var LoggingPlugin = Class({
   extends: Plugin,
 
   // Editor state lifetime...
-  onEditorCreated: function(editor) { console.log("editor created: " + editor) },
-  onEditorDestroyed: function(editor) { console.log("editor destroyed: " + editor )},
+  onEditorCreated: function (editor) { console.log("editor created: " + editor); },
+  onEditorDestroyed: function (editor) { console.log("editor destroyed: " + editor);},
 
-  onEditorSave: function(editor) { console.log("editor saved: " + editor) },
-  onEditorLoad: function(editor) { console.log("editor loaded: " + editor) },
+  onEditorSave: function (editor) { console.log("editor saved: " + editor); },
+  onEditorLoad: function (editor) { console.log("editor loaded: " + editor); },
 
-  onEditorActivated: function(editor) { console.log("editor activated: " + editor )},
-  onEditorDeactivated: function(editor) { console.log("editor deactivated: " + editor )},
+  onEditorActivated: function (editor) { console.log("editor activated: " + editor);},
+  onEditorDeactivated: function (editor) { console.log("editor deactivated: " + editor);},
 
-  onEditorChange: function(editor) { console.log("editor changed: " + editor )},
+  onEditorChange: function (editor) { console.log("editor changed: " + editor);},
 
-  onCommand: function(cmd) { console.log("Command: " + cmd); }
+  onCommand: function (cmd) { console.log("Command: " + cmd); }
 });
 exports.LoggingPlugin = LoggingPlugin;
 
 registerPlugin(LoggingPlugin);
--- a/devtools/client/projecteditor/lib/plugins/new/new.js
+++ b/devtools/client/projecteditor/lib/plugins/new/new.js
@@ -7,17 +7,17 @@
 const { Class } = require("sdk/core/heritage");
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 const { getLocalizedString } = require("devtools/client/projecteditor/lib/helpers/l10n");
 
 // Handles the new command.
 var NewFile = Class({
   extends: Plugin,
 
-  init: function() {
+  init: function () {
     this.command = this.host.addCommand(this, {
       id: "cmd-new",
       key: getLocalizedString("projecteditor.new.commandkey"),
       modifiers: "accel"
     });
     this.host.createMenuItem({
       parent: this.host.fileMenuPopup,
       label: getLocalizedString("projecteditor.newLabel"),
@@ -26,17 +26,17 @@ var NewFile = Class({
     });
     this.host.createMenuItem({
       parent: this.host.contextMenuPopup,
       label: getLocalizedString("projecteditor.newLabel"),
       command: "cmd-new"
     });
   },
 
-  onCommand: function(cmd) {
+  onCommand: function (cmd) {
     if (cmd === "cmd-new") {
       let tree = this.host.projectTree;
       let resource = tree.getSelectedResource();
       parent = resource.isDir ? resource : resource.parent;
       sibling = resource.isDir ? null : resource;
 
       if (!("createChild" in parent)) {
         return;
@@ -60,17 +60,17 @@ var NewFile = Class({
         return parent.createChild(name);
       }).then(resource => {
         tree.selectResource(resource);
         this.host.currentEditor.focus();
       }).then(null, console.error);
     }
   },
 
-  suggestName: function(parent, template, start=1) {
+  suggestName: function (parent, template, start = 1) {
     let i = start;
     let name;
     do {
       name = template.replace("\{1\}", i === 1 ? "" : i);
       i++;
     } while (parent.hasChild(name));
 
     return name;
--- a/devtools/client/projecteditor/lib/plugins/rename/rename.js
+++ b/devtools/client/projecteditor/lib/plugins/rename/rename.js
@@ -6,63 +6,63 @@
 
 const { Class } = require("sdk/core/heritage");
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 const { getLocalizedString } = require("devtools/client/projecteditor/lib/helpers/l10n");
 
 var RenamePlugin = Class({
   extends: Plugin,
 
-  init: function(host) {
+  init: function (host) {
     this.host.addCommand(this, {
       id: "cmd-rename"
     });
     this.contextMenuItem = this.host.createMenuItem({
       parent: this.host.contextMenuPopup,
       label: getLocalizedString("projecteditor.renameLabel"),
       command: "cmd-rename"
     });
   },
 
-  onContextMenuOpen: function(resource) {
+  onContextMenuOpen: function (resource) {
     if (resource.isRoot) {
       this.contextMenuItem.setAttribute("hidden", "true");
     } else {
       this.contextMenuItem.removeAttribute("hidden");
     }
   },
 
-  onCommand: function(cmd) {
+  onCommand: function (cmd) {
     if (cmd === "cmd-rename") {
       let tree = this.host.projectTree;
       let resource = tree.getSelectedResource();
       let parent = resource.parent;
       let oldName = resource.basename;
 
       tree.promptEdit(oldName, resource).then(name => {
         if (name === oldName) {
           return resource;
         }
         if (parent.hasChild(name)) {
           let matches = name.match(/([^\d.]*)(\d*)([^.]*)(.*)/);
           let template = matches[1] + "{1}" + matches[3] + matches[4];
           name = this.suggestName(resource, template, parseInt(matches[2]) || 2);
         }
-        return parent.rename(oldName,name);
+        return parent.rename(oldName, name);
       }).then(resource => {
         this.host.project.refresh();
         tree.selectResource(resource);
         if (!resource.isDir) {
           this.host.currentEditor.focus();
         }
       }).then(null, console.error);
     }
   },
 
-  suggestName: function(resource, template, start=1) {
+  suggestName: function (resource, template, start = 1) {
     let i = start;
     let name;
     let parent = resource.parent;
     do {
       name = template.replace("\{1\}", i === 1 ? "" : i);
       i++;
     } while (parent.hasChild(name));
 
--- a/devtools/client/projecteditor/lib/plugins/save/save.js
+++ b/devtools/client/projecteditor/lib/plugins/save/save.js
@@ -8,17 +8,17 @@ const { Class } = require("sdk/core/heri
 const { registerPlugin, Plugin } = require("devtools/client/projecteditor/lib/plugins/core");
 const picker = require("devtools/client/projecteditor/lib/helpers/file-picker");
 const { getLocalizedString } = require("devtools/client/projecteditor/lib/helpers/l10n");
 
 // Handles the save command.
 var SavePlugin = Class({
   extends: Plugin,
 
-  init: function(host) {
+  init: function (host) {
 
     this.host.addCommand(this, {
       id: "cmd-save",
       key: getLocalizedString("projecteditor.save.commandkey"),
       modifiers: "accel"
     });
     this.host.addCommand(this, {
       id: "cmd-saveas",
@@ -34,30 +34,30 @@ var SavePlugin = Class({
     this.host.createMenuItem({
       parent: this.host.fileMenuPopup,
       label: getLocalizedString("projecteditor.saveAsLabel"),
       command: "cmd-saveas",
       key: "key_cmd-saveas"
     });
   },
 
-  isCommandEnabled: function(cmd) {
+  isCommandEnabled: function (cmd) {
     let currentEditor = this.host.currentEditor;
     return currentEditor.isEditable;
   },
 
-  onCommand: function(cmd) {
+  onCommand: function (cmd) {
     if (cmd === "cmd-save") {
       this.onEditorSaveRequested();
     } else if (cmd === "cmd-saveas") {
       this.saveAs();
     }
   },
 
-  saveAs: function() {
+  saveAs: function () {
     let editor = this.host.currentEditor;
     let project = this.host.resourceFor(editor);
 
     let resource;
     picker.showSave({
       window: this.host.window,
       directory: project && project.parent ? project.parent.path : null,
       defaultName: project ? project.basename : null,
@@ -66,28 +66,28 @@ var SavePlugin = Class({
     }).then(res => {
       resource = res;
       return this.saveResource(editor, resource);
     }).then(() => {
       this.host.openResource(resource);
     }).then(null, console.error);
   },
 
-  onEditorSaveRequested: function() {
+  onEditorSaveRequested: function () {
     let editor = this.host.currentEditor;
     let resource = this.host.resourceFor(editor);
     if (!resource) {
       return this.saveAs();
     }
 
     return this.saveResource(editor, resource);
   },
 
-  createResource: function(path) {
-    return this.host.project.resourceFor(path, { create: true })
+  createResource: function (path) {
+    return this.host.project.resourceFor(path, { create: true });
   },
 
-  saveResource: function(editor, resource) {
+  saveResource: function (editor, resource) {
     return editor.save(resource);
   }
-})
+});
 exports.SavePlugin = SavePlugin;
 registerPlugin(SavePlugin);
--- a/devtools/client/projecteditor/lib/plugins/status-bar/plugin.js
+++ b/devtools/client/projecteditor/lib/plugins/status-bar/plugin.js
@@ -11,17 +11,17 @@ const { registerPlugin, Plugin } = requi
 
 /**
  * Print information about the currently opened file
  * and the state of the current editor
  */
 var StatusBarPlugin = Class({
   extends: Plugin,
 
-  init: function() {
+  init: function () {
     this.box = this.host.createElement("hbox", {
       parent: "#projecteditor-toolbar-bottom"
     });
 
     this.activeMode = this.host.createElement("label", {
       parent: this.box,
       class: "projecteditor-basic-display"
     });
@@ -32,25 +32,25 @@ var StatusBarPlugin = Class({
     });
 
     this.fileLabel = this.host.createElement("label", {
       parent: "#plugin-toolbar-left",
       class: "projecteditor-file-label"
     });
   },
 
-  destroy: function() {
+  destroy: function () {
   },
 
   /**
    * Print information about the current state of the editor
    *
    * @param Editor editor
    */
-  render: function(editor, resource) {
+  render: function (editor, resource) {
     if (!resource || resource.isDir) {
       this.fileLabel.textContent = "";
       this.cursorPosition.value = "";
       return;
     }
 
     this.fileLabel.textContent = resource.basename;
     this.activeMode.value = editor.toString();
@@ -69,37 +69,37 @@ var StatusBarPlugin = Class({
   },
 
 
   /**
    * Print the current file name
    *
    * @param Resource resource
    */
-  onTreeSelected: function(resource) {
+  onTreeSelected: function (resource) {
     if (!resource || resource.isDir) {
       this.fileLabel.textContent = "";
       return;
     }
     this.fileLabel.textContent = resource.basename;
   },
 
-  onEditorDeactivated: function(editor) {
+  onEditorDeactivated: function (editor) {
     this.fileLabel.textContent = "";
     this.cursorPosition.value = "";
   },
 
-  onEditorChange: function(editor, resource) {
+  onEditorChange: function (editor, resource) {
     this.render(editor, resource);
   },
 
-  onEditorCursorActivity: function(editor, resource) {
+  onEditorCursorActivity: function (editor, resource) {
     this.render(editor, resource);
   },
 
-  onEditorActivated: function(editor, resource) {
+  onEditorActivated: function (editor, resource) {
     this.render(editor, resource);
   },
 
 });
 
 exports.StatusBarPlugin = StatusBarPlugin;
 registerPlugin(StatusBarPlugin);
--- a/devtools/client/projecteditor/lib/project.js
+++ b/devtools/client/projecteditor/lib/project.js
@@ -9,18 +9,18 @@ const { Class } = require("sdk/core/heri
 const { EventTarget } = require("sdk/event/target");
 const { emit } = require("sdk/event/core");
 const { scope, on, forget } = require("devtools/client/projecteditor/lib/helpers/event");
 const prefs = require("sdk/preferences/service");
 const { LocalStore } = require("devtools/client/projecteditor/lib/stores/local");
 const { OS } = Cu.import("resource://gre/modules/osfile.jsm", {});
 const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
 const promise = require("promise");
-const { TextEncoder, TextDecoder } = require('sdk/io/buffer');
-const url = require('sdk/url');
+const { TextEncoder, TextDecoder } = require("sdk/io/buffer");
+const url = require("sdk/url");
 
 const gDecoder = new TextDecoder();
 const gEncoder = new TextEncoder();
 
 /**
  * A Project keeps track of the opened folders using LocalStore
  * objects.  Resources are generally requested from the project,
  * even though the Store is actually keeping track of them.
@@ -37,43 +37,43 @@ var Project = Class({
   extends: EventTarget,
 
   /**
    * Intialize the Project.
    *
    * @param Object options
    *               Options to be passed into Project.load function
    */
-  initialize: function(options) {
+  initialize: function (options) {
     this.localStores = new Map();
 
     this.load(options);
   },
 
-  destroy: function() {
+  destroy: function () {
     // We are removing the store because the project never gets persisted.
     // There may need to be separate destroy functionality that doesn't remove
     // from project if this is saved to DB.
     this.removeAllStores();
   },
 
-  toString: function() {
+  toString: function () {
     return "[Project] " + this.name;
   },
 
   /**
    * Load a project given metadata about it.
    *
    * @param Object options
    *               Information about the project, containing:
    *                id: An ID (currently unused, but could be used for saving)
    *                name: The display name of the project
    *                directories: An array of path strings to load
    */
-  load: function(options) {
+  load: function (options) {
     this.id = options.id;
     this.name = options.name || "Untitled";
 
     let paths = new Set(options.directories.map(name => OS.Path.normalize(name)));
 
     for (let [path, store] of this.localStores) {
       if (!paths.has(path)) {
         this.removePath(path);
@@ -86,18 +86,18 @@ var Project = Class({
   },
 
   /**
    * Refresh all project stores from disk
    *
    * @returns Promise
    *          A promise that resolves when everything has been refreshed.
    */
-  refresh: function() {
-    return Task.spawn(function*() {
+  refresh: function () {
+    return Task.spawn(function* () {
       for (let [path, store] of this.localStores) {
         yield store.refresh();
       }
       emit(this, "refresh-complete");
     }.bind(this));
   },
 
 
@@ -106,65 +106,65 @@ var Project = Class({
    *
    * @param string path
    *               The path to fetch
    * @param Object options
    *               "create": bool indicating whether to create a file if it does not exist.
    * @returns Promise
    *          A promise that resolves with the Resource.
    */
-  resourceFor: function(path, options) {
+  resourceFor: function (path, options) {
     let store = this.storeContaining(path);
     return store.resourceFor(path, options);
   },
 
   /**
    * Get every resource used inside of the project.
    *
    * @returns Array<Resource>
    *          A list of all Resources in all Stores.
    */
-  allResources: function() {
+  allResources: function () {
     let resources = [];
     for (let store of this.allStores()) {
       resources = resources.concat(store.allResources());
     }
     return resources;
   },
 
   /**
    * Get every Path used inside of the project.
    *
    * @returns generator-iterator<Store>
    *          A list of all Stores
    */
-  allStores: function*() {
+  allStores: function* () {
     for (let [path, store] of this.localStores) {
       yield store;
     }
   },
 
   /**
    * Get every file path used inside of the project.
    *
    * @returns Array<string>
    *          A list of all file paths
    */
-  allPaths: function() {
+  allPaths: function () {
     return [...this.localStores.keys()];
   },
 
   /**
    * Get the store that contains a path.
    *
    * @returns Store
    *          The store, if any.  Will return null if no store
    *          contains the given path.
    */
-  storeContaining: function(path) {
+  storeContaining: function (path) {
     let containingStore = null;
     for (let store of this.allStores()) {
       if (store.contains(path)) {
         // With nested projects, the final containing store will be returned.
         containingStore = store;
       }
     }
     return containingStore;
@@ -172,71 +172,71 @@ var Project = Class({
 
   /**
    * Add a store at the current path.  If a store already exists
    * for this path, then return it.
    *
    * @param string path
    * @returns LocalStore
    */
-  addPath: function(path) {
+  addPath: function (path) {
     if (!this.localStores.has(path)) {
       this.addLocalStore(new LocalStore(path));
     }
     return this.localStores.get(path);
   },
 
   /**
    * Remove a store for a given path.
    *
    * @param string path
    */
-  removePath: function(path) {
+  removePath: function (path) {
     this.removeLocalStore(this.localStores.get(path));
   },
 
 
   /**
    * Add the given Store to the project.
    * Fires a 'store-added' event on the project.
    *
    * @param Store store
    */
-  addLocalStore: function(store) {
+  addLocalStore: function (store) {
     store.canPair = true;
     this.localStores.set(store.path, store);
 
     // Originally StoreCollection.addStore
     on(this, store, "resource-added", (resource) => {
       emit(this, "resource-added", resource);
     });
     on(this, store, "resource-removed", (resource) => {
       emit(this, "resource-removed", resource);
-    })
+    });
 
     emit(this, "store-added", store);
   },
 
 
   /**
    * Remove all of the Stores belonging to the project.
    */
-  removeAllStores: function() {
+  removeAllStores: function () {
     for (let store of this.allStores()) {
       this.removeLocalStore(store);
     }
   },
 
   /**
    * Remove the given Store from the project.
    * Fires a 'store-removed' event on the project.
    *
    * @param Store store
    */
-  removeLocalStore: function(store) {
+  removeLocalStore: function (store) {
     // XXX: tree selection should be reset if active element is affected by
     // the store being removed
     if (store) {
       this.localStores.delete(store.path);
       forget(this, store);
       emit(this, "store-removed", store);
       store.destroy();
     }
--- a/devtools/client/projecteditor/lib/projecteditor.js
+++ b/devtools/client/projecteditor/lib/projecteditor.js
@@ -80,17 +80,17 @@ var ProjectEditor = Class({
    * @param Iframe iframe
    *        The iframe to inject the DOM into.  If this is not
    *        specified, then this.load(frame) will need to be called
    *        before accessing ProjectEditor.
    * @param Object options
    *         - menubar: a <menubar> element to inject menus into
    *         - menuindex: Integer child index to insert menus
    */
-  initialize: function(iframe, options = {}) {
+  initialize: function (iframe, options = {}) {
     this._onTreeSelected = this._onTreeSelected.bind(this);
     this._onTreeResourceRemoved = this._onTreeResourceRemoved.bind(this);
     this._onEditorCreated = this._onEditorCreated.bind(this);
     this._onEditorActivated = this._onEditorActivated.bind(this);
     this._onEditorDeactivated = this._onEditorDeactivated.bind(this);
     this._updateMenuItems = this._updateMenuItems.bind(this);
     this._updateContextMenuItems = this._updateContextMenuItems.bind(this);
     this.destroy = this.destroy.bind(this);
@@ -111,17 +111,17 @@ var ProjectEditor = Class({
    * from the first call.
    *
    * @param Iframe iframe
    *        The iframe to inject the projecteditor DOM into
    * @returns Promise
    *          A promise that is resolved once the iframe has been
    *          loaded.
    */
-  load: function(iframe) {
+  load: function (iframe) {
     if (this.loaded) {
       return this.loaded;
     }
 
     let deferred = promise.defer();
     this.loaded = deferred.promise;
     this.iframe = iframe;
 
@@ -141,17 +141,17 @@ var ProjectEditor = Class({
     this.iframe.setAttribute("src", ITCHPAD_URL);
 
     return this.loaded;
   },
 
   /**
    * Build the projecteditor DOM inside of this.iframe.
    */
-  _onLoad: function() {
+  _onLoad: function () {
     this.document = this.iframe.contentDocument;
     this.window = this.iframe.contentWindow;
 
     this._initCommands();
     this._buildMenubar();
     this._buildSidebar();
 
     this.window.addEventListener("unload", this.destroy, false);
@@ -172,17 +172,17 @@ var ProjectEditor = Class({
       name: "",
       directories: [],
       openFiles: []
     }));
 
     this._initPlugins();
   },
 
-  _buildMenubar: function() {
+  _buildMenubar: function () {
 
     this.contextMenuPopup = this.document.getElementById("context-menu-popup");
     this.contextMenuPopup.addEventListener("popupshowing", this._updateContextMenuItems);
 
     this.textEditorContextMenuPopup = this.document.getElementById("texteditor-context-popup");
     this.textEditorContextMenuPopup.addEventListener("popupshowing", this._updateMenuItems);
 
     this.editMenu = this.document.getElementById("edit-menu");
@@ -214,33 +214,33 @@ var ProjectEditor = Class({
     this._commandWindow = this.editorCommandset.ownerDocument.defaultView;
     this._commandController = getCommandController(this);
     this._commandWindow.controllers.insertControllerAt(0, this._commandController);
   },
 
   /**
    * Create the project tree sidebar that lists files.
    */
-  _buildSidebar: function() {
+  _buildSidebar: function () {
     this.projectTree = new ProjectTreeView(this.document, {
       resourceVisible: this.resourceVisible.bind(this),
       resourceFormatter: this.resourceFormatter.bind(this),
       contextMenuPopup: this.contextMenuPopup
     });
     on(this, this.projectTree, "selection", this._onTreeSelected);
     on(this, this.projectTree, "resource-removed", this._onTreeResourceRemoved);
 
     let sourcesBox = this.document.querySelector("#sources > vbox");
     sourcesBox.appendChild(this.projectTree.elt);
   },
 
   /**
    * Set up listeners for commands to dispatch to all of the plugins
    */
-  _initCommands: function() {
+  _initCommands: function () {
 
     this.projectEditorCommandset = this.document.getElementById("projecteditor-commandset");
     this.projectEditorKeyset = this.document.getElementById("projecteditor-keyset");
 
     this.editorCommandset = this.document.getElementById("editMenuCommands");
     this.editorKeyset = this.document.getElementById("editMenuKeys");
 
     this.projectEditorCommandset.addEventListener("command", (evt) => {
@@ -248,56 +248,56 @@ var ProjectEditor = Class({
       evt.preventDefault();
       this.pluginDispatch("onCommand", evt.target.id, evt.target);
     });
   },
 
   /**
    * Initialize each plugin in registeredPlugins
    */
-  _initPlugins: function() {
+  _initPlugins: function () {
     this._plugins = [];
 
     for (let plugin of registeredPlugins) {
       try {
         this._plugins.push(plugin(this));
-      } catch(ex) {
+      } catch (ex) {
         console.exception(ex);
       }
     }
 
     this.pluginDispatch("lateInit");
   },
 
   /**
    * Enable / disable necessary menu items using globalOverlay.js.
    */
-  _updateMenuItems: function() {
+  _updateMenuItems: function () {
     let window = this.editMenu.ownerDocument.defaultView;
-    let commands = ['cmd_undo', 'cmd_redo', 'cmd_delete', 'cmd_cut', 'cmd_copy', 'cmd_paste'];
+    let commands = ["cmd_undo", "cmd_redo", "cmd_delete", "cmd_cut", "cmd_copy", "cmd_paste"];
     commands.forEach(window.goUpdateCommand);
 
     for (let c of this._pluginCommands.keys()) {
       window.goUpdateCommand(c);
     }
   },
 
   /**
    * Enable / disable necessary context menu items by passing an event
    * onto plugins.
    */
-  _updateContextMenuItems: function() {
+  _updateContextMenuItems: function () {
     let resource = this.projectTree.getSelectedResource();
     this.pluginDispatch("onContextMenuOpen", resource);
   },
 
   /**
    * Destroy all objects on the iframe unload event.
    */
-  destroy: function() {
+  destroy: function () {
     this._destroyed = true;
 
 
     // If been destroyed before the iframe finished loading, then
     // the properties below will not exist.
     if (!this._loaded) {
       this.iframe.setAttribute("src", "about:blank");
       return;
@@ -334,17 +334,17 @@ var ProjectEditor = Class({
   },
 
   /**
    * Set the current project viewed by the projecteditor.
    *
    * @param Project project
    *        The project to set.
    */
-  setProject: function(project) {
+  setProject: function (project) {
     if (this.project) {
       forget(this, this.project);
     }
     this.project = project;
     this.projectTree.setProject(project);
 
     // Whenever a store gets removed, clean up any editors that
     // exist for resources within it.
@@ -366,17 +366,17 @@ var ProjectEditor = Class({
    *                - name: display name for project
    *                - iconUrl: path to icon for project
    *                - validationStatus: one of 'unknown|error|warning|valid'
    *                - projectOverviewURL: path to load for iframe when project
    *                    is selected in the tree.
    * @param Promise
    *        Promise that is resolved once the project is ready to be used.
    */
-  setProjectToAppPath: function(path, opts = {}) {
+  setProjectToAppPath: function (path, opts = {}) {
     this.project.appManagerOpts = opts;
 
     let existingPaths = this.project.allPaths();
     if (existingPaths.length !== 1 || existingPaths[0] !== path) {
       // Only fully reset if this is a new path.
       this.project.removeAllStores();
       this.project.addPath(path);
     } else {
@@ -389,110 +389,110 @@ var ProjectEditor = Class({
   },
 
   /**
    * Open a resource in a particular shell.
    *
    * @param Resource resource
    *                 The file to be opened.
    */
-  openResource: function(resource) {
+  openResource: function (resource) {
     let shell = this.shells.open(resource);
     this.projectTree.selectResource(resource);
     shell.editor.focus();
   },
 
   /**
    * When a node is selected in the tree, open its associated editor.
    *
    * @param Resource resource
    *                 The file that has been selected
    */
-  _onTreeSelected: function(resource) {
+  _onTreeSelected: function (resource) {
     // Don't attempt to open a directory that is not the root element.
     if (resource.isDir && resource.parent) {
       return;
     }
     this.pluginDispatch("onTreeSelected", resource);
     this.openResource(resource);
   },
 
   /**
    * When a node is removed, destroy it and its associated editor.
    *
    * @param Resource resource
    *                 The resource being removed
    */
-  _onTreeResourceRemoved: function(resource) {
+  _onTreeResourceRemoved: function (resource) {
     this.shells.removeResource(resource);
   },
 
   /**
    * Create an xul element with options
    *
    * @param string type
    *               The tag name of the element to create.
    * @param Object options
    *               "command": DOMNode or string ID of a command element.
    *               "parent": DOMNode or selector of parent to append child to.
    *               anything other keys are set as an attribute as the element.
    * @returns DOMElement
    *          The element that has been created.
    */
-  createElement: function(type, options) {
+  createElement: function (type, options) {
     let elt = this.document.createElement(type);
 
     let parent;
 
     for (let opt in options) {
       if (opt === "command") {
-        let command = typeof(options.command) === "string" ? options.command : options.command.id;
+        let command = typeof (options.command) === "string" ? options.command : options.command.id;
         elt.setAttribute("command", command);
       } else if (opt === "parent") {
         continue;
       } else {
         elt.setAttribute(opt, options[opt]);
       }
     }
 
     if (options.parent) {
       let parent = options.parent;
-      if (typeof(parent) === "string") {
+      if (typeof (parent) === "string") {
         parent = this.document.querySelector(parent);
       }
       parent.appendChild(elt);
     }
 
     return elt;
   },
 
   /**
    * Create a "menuitem" xul element with options
    *
    * @param Object options
    *               See createElement for available options.
    * @returns DOMElement
    *          The menuitem that has been created.
    */
-  createMenuItem: function(options) {
+  createMenuItem: function (options) {
     return this.createElement("menuitem", options);
   },
 
   /**
    * Add a command to the projecteditor document.
    * This method is meant to be used with plugins.
    *
    * @param Object definition
    *               key: a key/keycode string. Example: "f".
    *               id: Unique ID.  Example: "find".
    *               modifiers: Key modifiers. Example: "accel".
    * @returns DOMElement
    *          The command element that has been created.
    */
-  addCommand: function(plugin, definition) {
+  addCommand: function (plugin, definition) {
     this._pluginCommands.set(definition.id, plugin);
     let document = this.projectEditorKeyset.ownerDocument;
     let command = document.createElement("command");
     command.setAttribute("id", definition.id);
     if (definition.key) {
       let key = document.createElement("key");
       key.id = "key_" + definition.id;
 
@@ -514,17 +514,17 @@ var ProjectEditor = Class({
   /**
    * Get the instance of a plugin registered with a certain type.
    *
    * @param Type pluginType
    *             The type, such as SavePlugin
    * @returns Plugin
    *          The plugin instance matching the specified type.
    */
-  getPlugin: function(pluginType) {
+  getPlugin: function (pluginType) {
     for (let plugin of this.plugins) {
       if (plugin.constructor === pluginType) {
         return plugin;
       }
     }
     return null;
   },
 
@@ -545,17 +545,17 @@ var ProjectEditor = Class({
 
   /**
    * Dispatch an onEditorCreated event, and listen for other events specific
    * to this editor instance.
    *
    * @param Editor editor
    *               The new editor instance.
    */
-  _onEditorCreated: function(editor) {
+  _onEditorCreated: function (editor) {
     this.pluginDispatch("onEditorCreated", editor);
     this._editorListenAndDispatch(editor, "change", "onEditorChange");
     this._editorListenAndDispatch(editor, "cursorActivity", "onEditorCursorActivity");
     this._editorListenAndDispatch(editor, "load", "onEditorLoad");
     this._editorListenAndDispatch(editor, "saveRequested", "onEditorSaveRequested");
     this._editorListenAndDispatch(editor, "save", "onEditorSave");
 
     editor.on("focus", () => {
@@ -567,130 +567,130 @@ var ProjectEditor = Class({
    * Dispatch an onEditorActivated event and finish setting up once the
    * editor is ready to use.
    *
    * @param Editor editor
    *               The editor instance, which is now appended in the document.
    * @param Resource resource
    *               The resource used by the editor
    */
-  _onEditorActivated: function(editor, resource) {
+  _onEditorActivated: function (editor, resource) {
     editor.setToolbarVisibility();
     this.pluginDispatch("onEditorActivated", editor, resource);
   },
 
   /**
    * Dispatch an onEditorDactivated event once an editor loses focus
    *
    * @param Editor editor
    *               The editor instance, which is no longer active.
    * @param Resource resource
    *               The resource used by the editor
    */
-  _onEditorDeactivated: function(editor, resource) {
+  _onEditorDeactivated: function (editor, resource) {
     this.pluginDispatch("onEditorDeactivated", editor, resource);
   },
 
   /**
    * Call a method on all plugins that implement the method.
    * Also emits the same handler name on `this`.
    *
    * @param string handler
    *               Which function name to call on plugins.
    * @param ...args args
    *                All remaining parameters are passed into the handler.
    */
-  pluginDispatch: function(handler, ...args) {
+  pluginDispatch: function (handler, ...args) {
     emit(this, handler, ...args);
     this.plugins.forEach(plugin => {
       try {
         if (handler in plugin) plugin[handler](...args);
-      } catch(ex) {
+      } catch (ex) {
         console.error(ex);
       }
-    })
+    });
   },
 
   /**
    * Listen to an event on the editor object and dispatch it
    * to all plugins that implement the associated method
    *
    * @param Editor editor
    *               Which editor to listen to
    * @param string event
    *               Which editor event to listen for
    * @param string handler
    *               Which plugin method to call
    */
-  _editorListenAndDispatch: function(editor, event, handler) {
+  _editorListenAndDispatch: function (editor, event, handler) {
     editor.on(event, (...args) => {
       this.pluginDispatch(handler, editor, this.resourceFor(editor), ...args);
     });
   },
 
   /**
    * Find a shell for a resource.
    *
    * @param Resource resource
    *                 The file to be opened.
    * @returns Shell
    */
-  shellFor: function(resource) {
+  shellFor: function (resource) {
     return this.shells.shellFor(resource);
   },
 
   /**
    * Returns the Editor for a given resource.
    *
    * @param Resource resource
    *                 The file to check.
    * @returns Editor
    *          Instance of the editor for this file.
    */
-  editorFor: function(resource) {
+  editorFor: function (resource) {
     let shell = this.shellFor(resource);
     return shell ? shell.editor : shell;
   },
 
   /**
    * Returns a resource for the given editor
    *
    * @param Editor editor
    *               The editor to check
    * @returns Resource
    *          The resource associated with this editor
    */
-  resourceFor: function(editor) {
+  resourceFor: function (editor) {
     if (editor && editor.shell && editor.shell.resource) {
       return editor.shell.resource;
     }
     return null;
   },
 
   /**
    * Decide whether a given resource should be hidden in the tree.
    *
    * @param Resource resource
    *                 The resource in the tree
    * @returns Boolean
    *          True if the node should be visible, false if hidden.
    */
-  resourceVisible: function(resource) {
+  resourceVisible: function (resource) {
     return true;
   },
 
   /**
    * Format the given node for display in the resource tree view.
    *
    * @param Resource resource
    *                 The file to be opened.
    * @param DOMNode elt
    *                The element in the tree to render into.
    */
-  resourceFormatter: function(resource, elt) {
+  resourceFormatter: function (resource, elt) {
     let editor = this.editorFor(resource);
     let renderedByPlugin = false;
 
     // Allow plugins to override default templating of resource in tree.
     this.plugins.forEach(plugin => {
       if (!plugin.onAnnotate) {
         return;
       }
@@ -747,34 +747,34 @@ var ProjectEditor = Class({
 
   /**
    * Check with the user about navigating away with unsaved changes.
    *
    * @returns Boolean
    *          True if there are no unsaved changes
    *          Otherwise, ask the user to confirm and return the outcome.
    */
-  confirmUnsaved: function() {
+  confirmUnsaved: function () {
     if (this.hasUnsavedResources) {
       return confirm(
         getLocalizedString("projecteditor.confirmUnsavedTitle"),
         getLocalizedString("projecteditor.confirmUnsavedLabel2")
       );
     }
 
     return true;
   },
 
   /**
    * Save all the changes in source files.
    *
    * @returns Boolean
    *          True if there were resources to save.
    */
-  saveAllFiles: Task.async(function*() {
+  saveAllFiles: Task.async(function* () {
     if (this.hasUnsavedResources) {
       for (let resource of this.project.allResources()) {
         let editor = this.editorFor(resource);
         if (editor && !editor.isClean()) {
           yield editor.save(resource);
         }
       }
 
@@ -803,14 +803,14 @@ function getCommandController(host) {
         return false;
       }
       let plugin = host._pluginCommands.get(cmd);
       if (plugin && plugin.isCommandEnabled) {
         return plugin.isCommandEnabled(cmd);
       }
       return true;
     },
-    doCommand: function(cmd) {
+    doCommand: function (cmd) {
     }
   };
 }
 
 exports.ProjectEditor = ProjectEditor;
--- a/devtools/client/projecteditor/lib/shells.js
+++ b/devtools/client/projecteditor/lib/shells.js
@@ -23,17 +23,17 @@ const promise = require("promise");
  */
 var Shell = Class({
   extends: EventTarget,
 
   /**
    * @param ProjectEditor host
    * @param Resource resource
    */
-  initialize: function(host, resource) {
+  initialize: function (host, resource) {
     this.host = host;
     this.doc = host.document;
     this.resource = resource;
     this.elt = this.doc.createElement("vbox");
     this.elt.classList.add("view-project-detail");
     this.elt.shell = this;
 
     let constructor = this._editorTypeForResource();
@@ -48,35 +48,35 @@ var Shell = Class({
     this.elt.appendChild(this.editor.elt);
   },
 
   /**
    * Start loading the resource.  The 'load' event happens as
    * a result of this function, so any listeners to 'editorAppended'
    * need to be added before calling this.
    */
-  load: function() {
+  load: function () {
     this.editorDeferred = promise.defer();
     this.editorLoaded = this.editorDeferred.promise;
     this.editor.load(this.resource);
   },
 
   /**
    * Destroy the shell and its associated editor
    */
-  destroy: function() {
+  destroy: function () {
     this.editor.destroy();
     this.resource.destroy();
   },
 
   /**
    * Make sure the correct editor is selected for the resource.
    * @returns Type:Editor
    */
-  _editorTypeForResource: function() {
+  _editorTypeForResource: function () {
     let resource = this.resource;
     let constructor = EditorTypeForResource(resource);
 
     if (this.host.plugins) {
       this.host.plugins.forEach(plugin => {
         if (plugin.editorForResource) {
           let pluginEditor = plugin.editorForResource(resource);
           if (pluginEditor) {
@@ -101,17 +101,17 @@ var Shell = Class({
  */
 var ShellDeck = Class({
   extends: EventTarget,
 
   /**
    * @param ProjectEditor host
    * @param Document document
    */
-  initialize: function(host, document) {
+  initialize: function (host, document) {
     this.doc = document;
     this.host = host;
     this.deck = this.doc.createElement("deck");
     this.deck.setAttribute("flex", "1");
     this.elt = this.deck;
 
     this.shells = new Map();
 
@@ -121,32 +121,32 @@ var ShellDeck = Class({
   /**
    * Open a resource in a Shell.  Will create the Shell
    * if it doesn't exist yet.
    *
    * @param Resource resource
    *                 The file to be opened
    * @returns Shell
    */
-  open: function(defaultResource) {
+  open: function (defaultResource) {
     let shell = this.shellFor(defaultResource);
     if (!shell) {
       shell = this._createShell(defaultResource);
       this.shells.set(defaultResource, shell);
     }
     this.selectShell(shell);
     return shell;
   },
 
   /**
    * Create a new Shell for a resource.  Called by `open`.
    *
    * @returns Shell
    */
-  _createShell: function(defaultResource) {
+  _createShell: function (defaultResource) {
     let shell = Shell(this.host, defaultResource);
 
     shell.editorAppended.then(() => {
       this.shells.set(shell.resource, shell);
       emit(this, "editor-created", shell.editor);
       if (this.currentShell === shell) {
         this.selectShell(shell);
       }
@@ -158,39 +158,39 @@ var ShellDeck = Class({
     return shell;
   },
 
   /**
    * Remove the shell for a given resource.
    *
    * @param Resource resource
    */
-  removeResource: function(resource) {
+  removeResource: function (resource) {
     let shell = this.shellFor(resource);
     if (shell) {
       this.shells.delete(resource);
       shell.destroy();
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     for (let [resource, shell] of this.shells.entries()) {
       this.shells.delete(resource);
       shell.destroy();
     }
   },
 
   /**
    * Select a given shell and open its editor.
    * Will fire editor-deactivated on the old selected Shell (if any),
    * and editor-activated on the new one once it is ready
    *
    * @param Shell shell
    */
-  selectShell: function(shell) {
+  selectShell: function (shell) {
     // Don't fire another activate if this is already the active shell
     if (this._activeShell != shell) {
       if (this._activeShell) {
         emit(this, "editor-deactivated", this._activeShell.editor, this._activeShell.resource);
       }
       this.deck.selectedPanel = shell.elt;
       this._activeShell = shell;
 
@@ -209,17 +209,17 @@ var ShellDeck = Class({
   },
 
   /**
    * Find a Shell for a Resource.
    *
    * @param Resource resource
    * @returns Shell
    */
-  shellFor: function(resource) {
+  shellFor: function (resource) {
     return this.shells.get(resource);
   },
 
   /**
    * The currently active Shell.  Note: the editor may not yet be available
    * on the current shell.  Best to wait for the 'editor-activated' event
    * instead.
    *
--- a/devtools/client/projecteditor/lib/stores/base.js
+++ b/devtools/client/projecteditor/lib/stores/base.js
@@ -20,39 +20,39 @@ const promise = require("promise");
  * This object emits the 'resource-added' and 'resource-removed' events.
  */
 var Store = Class({
   extends: EventTarget,
 
   /**
    * Should be called during initialize() of a subclass.
    */
-  initStore: function() {
+  initStore: function () {
     this.resources = new Map();
   },
 
-  refresh: function() {
+  refresh: function () {
     return promise.resolve();
   },
 
   /**
    * Return a sorted Array of all Resources in the Store
    */
-  allResources: function() {
+  allResources: function () {
     var resources = [];
     function addResource(resource) {
       resources.push(resource);
       resource.childrenSorted.forEach(addResource);
     }
     addResource(this.root);
     return resources;
   },
 
-  notifyAdd: function(resource) {
+  notifyAdd: function (resource) {
     emit(this, "resource-added", resource);
   },
 
-  notifyRemove: function(resource) {
+  notifyRemove: function (resource) {
     emit(this, "resource-removed", resource);
   }
 });
 
 exports.Store = Store;
--- a/devtools/client/projecteditor/lib/stores/resource.js
+++ b/devtools/client/projecteditor/lib/stores/resource.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 const { Cc, Ci, Cu } = require("chrome");
-const { TextEncoder, TextDecoder } = require('sdk/io/buffer');
+const { TextEncoder, TextDecoder } = require("sdk/io/buffer");
 const { Class } = require("sdk/core/heritage");
 const { EventTarget } = require("sdk/event/target");
 const { emit } = require("sdk/event/core");
 const URL = require("sdk/url");
 const promise = require("promise");
 const { OS } = Cu.import("resource://gre/modules/osfile.jsm", {});
 const { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 const mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
@@ -31,37 +31,37 @@ const gEncoder = new TextEncoder();
  * This object emits the following events:
  *   - "children-changed": When a child has been added or removed.
  *                         See setChildren.
  *   - "deleted": When the resource has been deleted.
  */
 var Resource = Class({
   extends: EventTarget,
 
-  refresh: function() { return promise.resolve(this); },
-  destroy: function() { },
-  delete: function() { },
+  refresh: function () { return promise.resolve(this); },
+  destroy: function () { },
+  delete: function () { },
 
-  setURI: function(uri) {
-    if (typeof(uri) === "string") {
+  setURI: function (uri) {
+    if (typeof (uri) === "string") {
       uri = URL.URL(uri);
     }
     this.uri = uri;
   },
 
   /**
    * Is there more than 1 child Resource?
    */
   get hasChildren() { return this.children && this.children.size > 0; },
 
   /**
    * Is this Resource the root (top level for the store)?
    */
   get isRoot() {
-    return !this.parent
+    return !this.parent;
   },
 
   /**
    * Sorted array of children for display
    */
   get childrenSorted() {
     if (!this.hasChildren) {
       return [];
@@ -75,17 +75,17 @@ var Resource = Class({
       return a.basename.toLowerCase() > b.basename.toLowerCase();
     });
   },
 
   /**
    * Set the children set of this Resource, and notify of any
    * additions / removals that happened in the change.
    */
-  setChildren: function(newChildren) {
+  setChildren: function (newChildren) {
     let oldChildren = this.children || new Set();
     let change = false;
 
     for (let child of oldChildren) {
       if (!newChildren.has(child)) {
         change = true;
         child.parent = null;
         this.store.notifyRemove(child);
@@ -106,60 +106,60 @@ var Resource = Class({
     }
   },
 
   /**
    * Add a resource to children set and notify of the change.
    *
    * @param Resource resource
    */
-  addChild: function(resource) {
+  addChild: function (resource) {
     this.children = this.children || new Set();
 
     resource.parent = this;
     this.children.add(resource);
     this.store.notifyAdd(resource);
     emit(this, "children-changed", this);
     return resource;
   },
 
   /**
    * Checks if current object has child with specific name.
    *
    * @param string name
    */
-  hasChild: function(name) {
+  hasChild: function (name) {
     for (let child of this.children) {
       if (child.basename === name) {
         return true;
       }
     }
     return false;
   },
 
   /**
    * Remove a resource to children set and notify of the change.
    *
    * @param Resource resource
    */
-  removeChild: function(resource) {
+  removeChild: function (resource) {
     resource.parent = null;
     this.children.remove(resource);
     this.store.notifyRemove(resource);
     emit(this, "children-changed", this);
     return resource;
   },
 
   /**
    * Return a set with children, children of children, etc -
    * gathered recursively.
    *
    * @returns Set<Resource>
    */
-  allDescendants: function() {
+  allDescendants: function () {
     let set = new Set();
 
     function addChildren(item) {
       if (!item.children) {
         return;
       }
 
       for (let child of item.children) {
@@ -184,46 +184,46 @@ var FileResource = Class({
   extends: Resource,
 
   /**
    * @param Store store
    * @param String path
    * @param FileInfo info
    *        https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File.Info
    */
-  initialize: function(store, path, info) {
+  initialize: function (store, path, info) {
     this.store = store;
     this.path = path;
 
     this.setURI(URL.URL(URL.fromFilename(path)));
     this._lastReadModification = undefined;
 
     this.info = info;
     this.parent = null;
   },
 
-  toString: function() {
+  toString: function () {
     return "[FileResource:" + this.path + "]";
   },
 
-  destroy: function() {
+  destroy: function () {
     if (this._refreshDeferred) {
       this._refreshDeferred.reject();
     }
     this._refreshDeferred = null;
   },
 
   /**
    * Fetch and cache information about this particular file.
    * https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread#OS.File.stat
    *
    * @returns Promise
    *          Resolves once the File.stat has finished.
    */
-  refresh: function() {
+  refresh: function () {
     if (this._refreshDeferred) {
       return this._refreshDeferred.promise;
     }
     this._refreshDeferred = promise.defer();
     OS.File.stat(this.path).then(info => {
       this.info = info;
       if (this._refreshDeferred) {
         this._refreshDeferred.resolve(this);
@@ -232,24 +232,24 @@ var FileResource = Class({
     });
     return this._refreshDeferred.promise;
   },
 
   /**
    * Return the trailing name component of this Resource
    */
   get basename() {
-    return this.path.replace(/\/+$/, '').replace(/\\/g,'/').replace( /.*\//, '' );
+    return this.path.replace(/\/+$/, "").replace(/\\/g, "/").replace(/.*\//, "");
   },
 
   /**
    * A string to be used when displaying this Resource in views
    */
   get displayName() {
-    return this.basename + (this.isDir ? "/" : "")
+    return this.basename + (this.isDir ? "/" : "");
   },
 
   /**
    * Is this FileResource a directory?  Rather than checking children
    * here, we use this.info.  So this could return a false negative
    * if there was no info passed in on constructor and the first
    * refresh hasn't yet finished.
    */
@@ -259,29 +259,29 @@ var FileResource = Class({
   },
 
   /**
    * Read the file as a string asynchronously.
    *
    * @returns Promise
    *          Resolves with the text of the file.
    */
-  load: function() {
+  load: function () {
     return OS.File.read(this.path).then(bytes => {
       return gDecoder.decode(bytes);
     });
   },
 
   /**
    * Delete the file from the filesystem
    *
    * @returns Promise
    *          Resolves when the file is deleted
    */
-  delete: function() {
+  delete: function () {
     emit(this, "deleted", this);
     if (this.isDir) {
       return OS.File.removeDir(this.path);
     } else {
       return OS.File.remove(this.path);
     }
   },
 
@@ -293,17 +293,17 @@ var FileResource = Class({
    *               The filename (path will be generated based on this.path).
    *        string initial
    *               The content to write to the new file.
    * @returns Promise
    *          Resolves with the new FileResource once it has
    *          been written to disk.
    *          Rejected if this is not a directory.
    */
-  createChild: function(name, initial="") {
+  createChild: function (name, initial = "") {
     if (!this.isDir) {
       return promise.reject(new Error("Cannot add child to a regular file"));
     }
 
     let newPath = OS.Path.join(this.path, name);
 
     let buffer = initial ? gEncoder.encode(initial) : "";
     return OS.File.writeAtomic(newPath, buffer, {
@@ -320,17 +320,17 @@ var FileResource = Class({
   },
 
   /**
    * Rename the file from the filesystem
    *
    * @returns Promise
    *          Resolves with the renamed FileResource.
    */
-  rename: function(oldName, newName) {
+  rename: function (oldName, newName) {
     let oldPath = OS.Path.join(this.path, oldName);
     let newPath = OS.Path.join(this.path, newName);
 
     return OS.File.move(oldPath, newPath).then(() => {
       return this.store.refresh();
     }).then(() => {
       let resource = this.store.resources.get(newPath);
       if (!resource) {
@@ -343,17 +343,17 @@ var FileResource = Class({
   /**
    * Write a string to this file.
    *
    * @param string content
    * @returns Promise
    *          Resolves once it has been written to disk.
    *          Rejected if there is an error
    */
-  save: Task.async(function*(content) {
+  save: Task.async(function* (content) {
     // XXX: writeAtomic was losing permissions after saving on OSX
     // return OS.File.writeAtomic(this.path, buffer, { tmpPath: this.path + ".tmp" });
     let buffer = gEncoder.encode(content);
     let path = this.path;
     let file = yield OS.File.open(path, {truncate: true});
     yield file.write(buffer);
     yield file.close();
   }),
@@ -365,17 +365,17 @@ var FileResource = Class({
     if (this._contentType) {
       return this._contentType;
     }
     if (this.isDir) {
       return "x-directory/normal";
     }
     try {
       this._contentType = mimeService.getTypeFromFile(new FileUtils.File(this.path));
-    } catch(ex) {
+    } catch (ex) {
       if (ex.name !== "NS_ERROR_NOT_AVAILABLE" &&
           ex.name !== "NS_ERROR_FAILURE") {
         console.error(ex, this.path);
       }
       this._contentType = null;
     }
     return this._contentType;
   },
--- a/devtools/client/projecteditor/lib/tree.js
+++ b/devtools/client/projecteditor/lib/tree.js
@@ -20,17 +20,17 @@ const HTML_NS = "http://www.w3.org/1999/
  * ResourceContainer is used as the view of a single Resource in
  * the tree.  It is not exported.
  */
 var ResourceContainer = Class({
   /**
    * @param ProjectTreeView tree
    * @param Resource resource
    */
-  initialize: function(tree, resource) {
+  initialize: function (tree, resource) {
     this.tree = tree;
     this.resource = resource;
     this.elt = null;
     this.expander = null;
     this.children = null;
 
     let doc = tree.doc;
 
@@ -80,66 +80,66 @@ var ResourceContainer = Class({
     }, true);
 
     if (!this.resource.isRoot) {
       this.expanded = false;
     }
     this.update();
   },
 
-  toggleExpansion: function() {
+  toggleExpansion: function () {
     if (!this.resource.isRoot) {
       this.expanded = !this.expanded;
     } else {
       this.expanded = true;
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.elt.remove();
     this.expander.remove();
     this.highlighter.remove();
     this.children.remove();
     this.label.remove();
     this.elt = this.expander = this.highlighter = this.children = this.label = null;
   },
 
   /**
    * Open the context menu when right clicking on the view.
    * XXX: We could pass this to plugins to allow themselves
    * to be register/remove items from the context menu if needed.
    *
    * @param Event e
    */
-  openContextMenu: function(ev) {
+  openContextMenu: function (ev) {
     ev.preventDefault();
     let popup = this.tree.options.contextMenuPopup;
     popup.openPopupAtScreen(ev.screenX, ev.screenY, true);
   },
 
   /**
    * Update the view based on the current state of the Resource.
    */
-  update: function() {
+  update: function () {
     let visible = this.tree.options.resourceVisible ?
       this.tree.options.resourceVisible(this.resource) :
       true;
 
     this.elt.hidden = !visible;
 
     this.tree.options.resourceFormatter(this.resource, this.label);
 
     this.expander.style.visibility = this.resource.hasChildren ? "visible" : "hidden";
 
   },
 
   /**
    * Select this view in the ProjectTreeView.
    */
-  select: function() {
+  select: function () {
     this.tree.selectContainer(this);
   },
 
   /**
    * @returns Boolean
    *          Is this view currently selected
    */
   get selected() {
@@ -191,20 +191,20 @@ var TreeView = Class({
    * @param Document document
    * @param Object options
    *               - contextMenuPopup: a <menupopup> element
    *               - resourceFormatter: a function(Resource, DOMNode)
    *                 that renders the resource into the view
    *               - resourceVisible: a function(Resource) -> Boolean
    *                 that determines if the resource should show up.
    */
-  initialize: function(doc, options) {
+  initialize: function (doc, options) {
     this.doc = doc;
     this.options = merge({
-      resourceFormatter: function(resource, elt) {
+      resourceFormatter: function (resource, elt) {
         elt.textContent = resource.toString();
       }
     }, options);
     this.models = new Set();
     this.roots = new Set();
     this._containers = new Map();
     this.elt = this.doc.createElementNS(HTML_NS, "div");
     this.elt.tree = this;
@@ -216,25 +216,25 @@ var TreeView = Class({
     this.children = this.doc.createElementNS(HTML_NS, "ul");
     this.elt.appendChild(this.children);
 
     this.resourceChildrenChanged = this.resourceChildrenChanged.bind(this);
     this.removeResource = this.removeResource.bind(this);
     this.updateResource = this.updateResource.bind(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     this._destroyed = true;
     this.elt.remove();
   },
 
   /**
    * Helper function to create DOM elements for promptNew and promptEdit
    */
-  createInputContainer: function() {
+  createInputContainer: function () {
     let inputholder = this.doc.createElementNS(HTML_NS, "div");
     inputholder.className = "child entry";
 
     let expander = this.doc.createElementNS(HTML_NS, "span");
     expander.className = "arrow expander";
     expander.setAttribute("invisible", "");
     inputholder.appendChild(expander);
 
@@ -254,38 +254,38 @@ var TreeView = Class({
    * @param Resource sibling
    *                 Which resource to put this next to.  If not set,
    *                 it will be put in front of all other children.
    *
    * @returns Promise
    *          Resolves once the prompt has been successful,
    *          Rejected if it is cancelled
    */
-  promptNew: function(initial, parent, sibling=null) {
+  promptNew: function (initial, parent, sibling = null) {
     let deferred = promise.defer();
 
     let parentContainer = this._containers.get(parent);
     let item = this.doc.createElement("li");
     item.className = "child";
 
-    let {inputholder,placeholder} = this.createInputContainer();
+    let {inputholder, placeholder} = this.createInputContainer();
     item.appendChild(inputholder);
 
     let children = parentContainer.children;
     sibling = sibling ? this._containers.get(sibling).elt : null;
     parentContainer.children.insertBefore(item, sibling ? sibling.nextSibling : children.firstChild);
 
     new InplaceEditor({
       element: placeholder,
       initial: initial,
       preserveTextStyles: true,
       start: editor => {
         editor.input.select();
       },
-      done: function(val, commit) {
+      done: function (val, commit) {
         if (commit) {
           deferred.resolve(val);
         } else {
           deferred.reject(val);
         }
         parentContainer.line.focus();
       },
       destroy: () => {
@@ -302,34 +302,34 @@ var TreeView = Class({
    * @param string initial
    *               The suggested starting file name
    * @param resource
    *
    * @returns Promise
    *          Resolves once the prompt has been successful,
    *          Rejected if it is cancelled
    */
-  promptEdit: function(initial, resource) {
+  promptEdit: function (initial, resource) {
     let deferred = promise.defer();
     let item = this._containers.get(resource).elt;
     let originalText = item.childNodes[0];
 
-    let {inputholder,placeholder} = this.createInputContainer();
+    let {inputholder, placeholder} = this.createInputContainer();
     item.insertBefore(inputholder, originalText);
 
     item.removeChild(originalText);
 
     new InplaceEditor({
       element: placeholder,
       initial: initial,
       preserveTextStyles: true,
       start: editor => {
         editor.input.select();
       },
-      done: function(val, commit) {
+      done: function (val, commit) {
         if (val === initial) {
           item.insertBefore(originalText, inputholder);
         }
 
         item.removeChild(inputholder);
 
         if (commit) {
           deferred.resolve(val);
@@ -342,17 +342,17 @@ var TreeView = Class({
     return deferred.promise;
   },
 
   /**
    * Add a new Store into the TreeView
    *
    * @param Store model
    */
-  addModel: function(model) {
+  addModel: function (model) {
     if (this.models.has(model)) {
       // Requesting to add a model that already exists
       return;
     }
     this.models.add(model);
     let placeholder = this.doc.createElementNS(HTML_NS, "li");
     placeholder.style.display = "none";
     this.children.appendChild(placeholder);
@@ -373,74 +373,74 @@ var TreeView = Class({
     });
   },
 
   /**
    * Remove a Store from the TreeView
    *
    * @param Store model
    */
-  removeModel: function(model) {
+  removeModel: function (model) {
     this.models.delete(model);
     this.removeResource(model.root);
   },
 
 
   /**
    * Get the ResourceContainer.  Used for testing the view.
    *
    * @param Resource resource
    * @returns ResourceContainer
    */
-  getViewContainer: function(resource) {
+  getViewContainer: function (resource) {
     return this._containers.get(resource);
   },
 
   /**
    * Select a ResourceContainer in the tree.
    *
    * @param ResourceContainer container
    */
-  selectContainer: function(container) {
+  selectContainer: function (container) {
     if (this.selectedContainer === container) {
       return;
     }
     if (this.selectedContainer) {
       this.selectedContainer.selected = false;
     }
     this.selectedContainer = container;
     container.selected = true;
     emit(this, "selection", container.resource);
   },
 
   /**
    * Select a Resource in the tree.
    *
    * @param Resource resource
    */
-  selectResource: function(resource) {
+  selectResource: function (resource) {
     this.selectContainer(this._containers.get(resource));
   },
 
   /**
    * Get the currently selected Resource
    *
    * @param Resource resource
    */
-  getSelectedResource: function() {
+  getSelectedResource: function () {
     return this.selectedContainer.resource;
   },
 
   /**
    * Insert a Resource into the view.
    * Makes a new ResourceContainer if needed
    *
    * @param Resource resource
    */
-  importResource: function(resource) {
+  importResource: function (resource) {
     if (!resource) {
       return null;
     }
 
     if (this._containers.has(resource)) {
       return this._containers.get(resource);
     }
     var container = ResourceContainer(this, resource);
@@ -454,68 +454,68 @@ var TreeView = Class({
     return container;
   },
 
   /**
    * Remove a Resource (including children) from the view.
    *
    * @param Resource resource
    */
-  removeResource: function(resource) {
+  removeResource: function (resource) {
     let toRemove = resource.allDescendants();
     toRemove.add(resource);
     for (let remove of toRemove) {
       this._removeResource(remove);
     }
   },
 
   /**
    * Remove an individual Resource (but not children) from the view.
    *
    * @param Resource resource
    */
-  _removeResource: function(resource) {
+  _removeResource: function (resource) {
     forget(this, resource);
     if (this._containers.get(resource)) {
       this._containers.get(resource).destroy();
       this._containers.delete(resource);
     }
     emit(this, "resource-removed", resource);
   },
 
   /**
    * Listener for when a resource has new children.
    * This can happen as files are being loaded in from FileSystem, for example.
    *
    * @param Resource resource
    */
-  resourceChildrenChanged: function(resource) {
+  resourceChildrenChanged: function (resource) {
     this.updateResource(resource);
     this._updateChildren(this._containers.get(resource));
   },
 
   /**
    * Listener for when a label in the view has been updated.
    * For example, the 'dirty' plugin marks changed files with an '*'
    * next to the filename, and notifies with this event.
    *
    * @param Resource resource
    */
-  updateResource: function(resource) {
+  updateResource: function (resource) {
     let container = this._containers.get(resource);
     container.update();
   },
 
   /**
    * Build necessary ResourceContainers for a Resource and its
    * children, then append them into the view.
    *
    * @param ResourceContainer container
    */
-  _updateChildren: function(container) {
+  _updateChildren: function (container) {
     let resource = container.resource;
     let fragment = this.doc.createDocumentFragment();
     if (resource.children) {
       for (let child of resource.childrenSorted) {
         let childContainer = this.importResource(child);
         fragment.appendChild(childContainer.elt);
       }
     }
@@ -537,57 +537,57 @@ var ProjectTreeView = Class({
   extends: TreeView,
 
   /**
    * See TreeView.initialize
    *
    * @param Document document
    * @param Object options
    */
-  initialize: function(document, options) {
+  initialize: function (document, options) {
     TreeView.prototype.initialize.apply(this, arguments);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.forgetProject();
     TreeView.prototype.destroy.apply(this, arguments);
   },
 
   /**
    * Remove current project and empty the tree
    */
-  forgetProject: function() {
+  forgetProject: function () {
     if (this.project) {
       forget(this, this.project);
       for (let store of this.project.allStores()) {
         this.removeModel(store);
       }
     }
   },
 
   /**
    * Show a project in the tree
    *
    * @param Project project
    *        The project to render into a tree
    */
-  setProject: function(project) {
+  setProject: function (project) {
     this.forgetProject();
     this.project = project;
     if (this.project) {
       on(this, project, "store-added", this.addModel.bind(this));
       on(this, project, "store-removed", this.removeModel.bind(this));
       on(this, project, "project-saved", this.refresh.bind(this));
       this.refresh();
     }
   },
 
   /**
    * Refresh the tree with all of the current project stores
    */
-  refresh: function() {
+  refresh: function () {
     for (let store of this.project.allStores()) {
       this.addModel(store);
     }
   }
 });
 
 exports.ProjectTreeView = ProjectTreeView;
--- a/devtools/client/projecteditor/test/browser_projecteditor_app_options.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_app_options.js
@@ -1,87 +1,87 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that options can be changed without resetting the whole
 // editor.
-add_task(function*() {
+add_task(function* () {
 
   let TEMP_PATH = buildTempDirectoryStructure();
   let projecteditor = yield addProjectEditorTab();
 
   let resourceBeenAdded = promise.defer();
   projecteditor.project.once("resource-added", () => {
-    info ("A resource has been added");
+    info("A resource has been added");
     resourceBeenAdded.resolve();
   });
 
-  info ("About to set project to: " + TEMP_PATH);
+  info("About to set project to: " + TEMP_PATH);
   yield projecteditor.setProjectToAppPath(TEMP_PATH, {
     name: "Test",
     iconUrl: "chrome://devtools/skin/images/tool-options.svg",
     projectOverviewURL: SAMPLE_WEBAPP_URL
   });
 
-  info ("Making sure a resource has been added before continuing");
+  info("Making sure a resource has been added before continuing");
   yield resourceBeenAdded.promise;
 
-  info ("From now on, if a resource is added it should fail");
+  info("From now on, if a resource is added it should fail");
   projecteditor.project.on("resource-added", failIfResourceAdded);
 
-  info ("Getting ahold and validating the project header DOM");
+  info("Getting ahold and validating the project header DOM");
   let header = projecteditor.document.querySelector(".entry-group-title");
   let image = header.querySelector(".project-image");
   let nameLabel = header.querySelector(".project-name-label");
   let statusElement = header.querySelector(".project-status");
-  is (statusElement.getAttribute("status"), "unknown", "The status starts out as unknown.");
-  is (nameLabel.textContent, "Test", "The name label has been set correctly");
-  is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-options.svg", "The icon has been set correctly");
+  is(statusElement.getAttribute("status"), "unknown", "The status starts out as unknown.");
+  is(nameLabel.textContent, "Test", "The name label has been set correctly");
+  is(image.getAttribute("src"), "chrome://devtools/skin/images/tool-options.svg", "The icon has been set correctly");
 
-  info ("About to set project with new options.");
+  info("About to set project with new options.");
   yield projecteditor.setProjectToAppPath(TEMP_PATH, {
     name: "Test2",
     iconUrl: "chrome://devtools/skin/images/tool-inspector.svg",
     projectOverviewURL: SAMPLE_WEBAPP_URL,
     validationStatus: "error"
   });
 
-  info ("Getting ahold of and validating the project header DOM");
-  is (statusElement.getAttribute("status"), "error", "The status has been set correctly.");
-  is (nameLabel.textContent, "Test2", "The name label has been set correctly");
-  is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-inspector.svg", "The icon has been set correctly");
+  info("Getting ahold of and validating the project header DOM");
+  is(statusElement.getAttribute("status"), "error", "The status has been set correctly.");
+  is(nameLabel.textContent, "Test2", "The name label has been set correctly");
+  is(image.getAttribute("src"), "chrome://devtools/skin/images/tool-inspector.svg", "The icon has been set correctly");
 
-  info ("About to set project with new options.");
+  info("About to set project with new options.");
   yield projecteditor.setProjectToAppPath(TEMP_PATH, {
     name: "Test3",
     iconUrl: "chrome://devtools/skin/images/tool-webconsole.svg",
     projectOverviewURL: SAMPLE_WEBAPP_URL,
     validationStatus: "warning"
   });
 
-  info ("Getting ahold of and validating the project header DOM");
-  is (statusElement.getAttribute("status"), "warning", "The status has been set correctly.");
-  is (nameLabel.textContent, "Test3", "The name label has been set correctly");
-  is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-webconsole.svg", "The icon has been set correctly");
+  info("Getting ahold of and validating the project header DOM");
+  is(statusElement.getAttribute("status"), "warning", "The status has been set correctly.");
+  is(nameLabel.textContent, "Test3", "The name label has been set correctly");
+  is(image.getAttribute("src"), "chrome://devtools/skin/images/tool-webconsole.svg", "The icon has been set correctly");
 
-  info ("About to set project with new options.");
+  info("About to set project with new options.");
   yield projecteditor.setProjectToAppPath(TEMP_PATH, {
     name: "Test4",
     iconUrl: "chrome://devtools/skin/images/tool-debugger.svg",
     projectOverviewURL: SAMPLE_WEBAPP_URL,
     validationStatus: "valid"
   });
 
-  info ("Getting ahold of and validating the project header DOM");
-  is (statusElement.getAttribute("status"), "valid", "The status has been set correctly.");
-  is (nameLabel.textContent, "Test4", "The name label has been set correctly");
-  is (image.getAttribute("src"), "chrome://devtools/skin/images/tool-debugger.svg", "The icon has been set correctly");
+  info("Getting ahold of and validating the project header DOM");
+  is(statusElement.getAttribute("status"), "valid", "The status has been set correctly.");
+  is(nameLabel.textContent, "Test4", "The name label has been set correctly");
+  is(image.getAttribute("src"), "chrome://devtools/skin/images/tool-debugger.svg", "The icon has been set correctly");
 
-  info ("Test finished, cleaning up");
+  info("Test finished, cleaning up");
   projecteditor.project.off("resource-added", failIfResourceAdded);
 });
 
 function failIfResourceAdded() {
-  ok (false, "A resource has been added, but it shouldn't have been");
+  ok(false, "A resource has been added, but it shouldn't have been");
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_confirm_unsaved.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_confirm_unsaved.js
@@ -2,31 +2,31 @@
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 loadHelperScript("helper_edits.js");
 
 // Test that a prompt shows up when requested if a file is unsaved.
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(true, "ProjectEditor has loaded");
 
   let resources = projecteditor.project.allResources();
   yield selectFile(projecteditor, resources[2]);
   let editor = projecteditor.currentEditor;
   let originalText = editor.editor.getText();
 
-  ok (!projecteditor.hasUnsavedResources, "There are no unsaved resources");
-  ok (projecteditor.confirmUnsaved(), "When there are no unsaved changes, confirmUnsaved() is true");
+  ok(!projecteditor.hasUnsavedResources, "There are no unsaved resources");
+  ok(projecteditor.confirmUnsaved(), "When there are no unsaved changes, confirmUnsaved() is true");
   editor.editor.setText("bar");
   editor.editor.setText(originalText);
-  ok (!projecteditor.hasUnsavedResources, "There are no unsaved resources");
-  ok (projecteditor.confirmUnsaved(), "When an editor has changed but is still the original text, confirmUnsaved() is true");
+  ok(!projecteditor.hasUnsavedResources, "There are no unsaved resources");
+  ok(projecteditor.confirmUnsaved(), "When an editor has changed but is still the original text, confirmUnsaved() is true");
 
   editor.editor.setText("bar");
 
   checkConfirmYes(projecteditor);
   checkConfirmNo(projecteditor);
 });
 
 function checkConfirmYes(projecteditor, container) {
@@ -35,26 +35,26 @@ function checkConfirmYes(projecteditor, 
     Services.obs.removeObserver(confirmYes, "common-dialog-loaded");
     Services.obs.removeObserver(confirmYes, "tabmodal-dialog-loaded");
     aSubject.Dialog.ui.button0.click();
   }
 
   Services.obs.addObserver(confirmYes, "common-dialog-loaded", false);
   Services.obs.addObserver(confirmYes, "tabmodal-dialog-loaded", false);
 
-  ok (projecteditor.hasUnsavedResources, "There are unsaved resources");
-  ok (projecteditor.confirmUnsaved(), "When there are unsaved changes, clicking OK makes confirmUnsaved() true");
+  ok(projecteditor.hasUnsavedResources, "There are unsaved resources");
+  ok(projecteditor.confirmUnsaved(), "When there are unsaved changes, clicking OK makes confirmUnsaved() true");
 }
 
 function checkConfirmNo(projecteditor, container) {
   function confirmNo(aSubject) {
     info("confirm dialog observed as expected, going to click cancel");
     Services.obs.removeObserver(confirmNo, "common-dialog-loaded");
     Services.obs.removeObserver(confirmNo, "tabmodal-dialog-loaded");
     aSubject.Dialog.ui.button1.click();
   }
 
   Services.obs.addObserver(confirmNo, "common-dialog-loaded", false);
   Services.obs.addObserver(confirmNo, "tabmodal-dialog-loaded", false);
 
-  ok (projecteditor.hasUnsavedResources, "There are unsaved resources");
-  ok (!projecteditor.confirmUnsaved(), "When there are unsaved changes, clicking cancel makes confirmUnsaved() false");
+  ok(projecteditor.hasUnsavedResources, "There are unsaved resources");
+  ok(!projecteditor.confirmUnsaved(), "When there are unsaved changes, clicking cancel makes confirmUnsaved() false");
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_contextmenu_01.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_contextmenu_01.js
@@ -1,27 +1,27 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that context menus append to the correct document.
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory({
     menubar: false
   });
   ok(projecteditor, "ProjectEditor has loaded");
 
   let contextMenuPopup = projecteditor.document.querySelector("#context-menu-popup");
   let textEditorContextMenuPopup = projecteditor.document.querySelector("#texteditor-context-popup");
-  ok (contextMenuPopup, "The menu has loaded in the projecteditor document");
-  ok (textEditorContextMenuPopup, "The menu has loaded in the projecteditor document");
+  ok(contextMenuPopup, "The menu has loaded in the projecteditor document");
+  ok(textEditorContextMenuPopup, "The menu has loaded in the projecteditor document");
 
   let projecteditor2 = yield addProjectEditorTabForTempDirectory();
   contextMenuPopup = projecteditor2.document.getElementById("context-menu-popup");
   textEditorContextMenuPopup = projecteditor2.document.getElementById("texteditor-context-popup");
-  ok (!contextMenuPopup, "The menu has NOT loaded in the projecteditor document");
-  ok (!textEditorContextMenuPopup, "The menu has NOT loaded in the projecteditor document");
-  ok (content.document.querySelector("#context-menu-popup"), "The menu has loaded in the specified element");
-  ok (content.document.querySelector("#texteditor-context-popup"), "The menu has loaded in the specified element");
+  ok(!contextMenuPopup, "The menu has NOT loaded in the projecteditor document");
+  ok(!textEditorContextMenuPopup, "The menu has NOT loaded in the projecteditor document");
+  ok(content.document.querySelector("#context-menu-popup"), "The menu has loaded in the specified element");
+  ok(content.document.querySelector("#texteditor-context-popup"), "The menu has loaded in the specified element");
 });
--- a/devtools/client/projecteditor/test/browser_projecteditor_contextmenu_02.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_contextmenu_02.js
@@ -3,57 +3,57 @@
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 loadHelperScript("helper_edits.js");
 
 // Test context menu enabled / disabled state in editor
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
-  ok (projecteditor, "ProjectEditor has loaded");
+  ok(projecteditor, "ProjectEditor has loaded");
 
   let {textEditorContextMenuPopup} = projecteditor;
 
   // Update menu items for a clean slate, so previous tests cannot
   // affect paste, and possibly other side effects
   projecteditor._updateMenuItems();
 
   let cmdDelete = textEditorContextMenuPopup.querySelector("[command=cmd_delete]");
   let cmdSelectAll = textEditorContextMenuPopup.querySelector("[command=cmd_selectAll]");
   let cmdCut = textEditorContextMenuPopup.querySelector("[command=cmd_cut]");
   let cmdCopy = textEditorContextMenuPopup.querySelector("[command=cmd_copy]");
   let cmdPaste = textEditorContextMenuPopup.querySelector("[command=cmd_paste]");
 
-  info ("Opening resource");
+  info("Opening resource");
   let resource = projecteditor.project.allResources()[2];
   yield selectFile(projecteditor, resource);
   let editor = projecteditor.currentEditor;
   editor.editor.focus();
 
-  info ("Opening context menu on resource");
+  info("Opening context menu on resource");
   yield openContextMenuForEditor(editor, textEditorContextMenuPopup);
 
-  is (cmdDelete.getAttribute("disabled"), "true", "cmdDelete is disabled");
-  is (cmdSelectAll.getAttribute("disabled"), "", "cmdSelectAll is enabled");
-  is (cmdCut.getAttribute("disabled"), "true", "cmdCut is disabled");
-  is (cmdCopy.getAttribute("disabled"), "true", "cmdCopy is disabled");
-  is (cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
+  is(cmdDelete.getAttribute("disabled"), "true", "cmdDelete is disabled");
+  is(cmdSelectAll.getAttribute("disabled"), "", "cmdSelectAll is enabled");
+  is(cmdCut.getAttribute("disabled"), "true", "cmdCut is disabled");
+  is(cmdCopy.getAttribute("disabled"), "true", "cmdCopy is disabled");
+  is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
 
-  info ("Setting a selection and repening context menu on resource");
+  info("Setting a selection and repening context menu on resource");
   yield closeContextMenuForEditor(editor, textEditorContextMenuPopup);
   editor.editor.setSelection({line: 0, ch: 0}, {line: 0, ch: 2});
   yield openContextMenuForEditor(editor, textEditorContextMenuPopup);
 
-  is (cmdDelete.getAttribute("disabled"), "", "cmdDelete is enabled");
-  is (cmdSelectAll.getAttribute("disabled"), "", "cmdSelectAll is enabled");
-  is (cmdCut.getAttribute("disabled"), "", "cmdCut is enabled");
-  is (cmdCopy.getAttribute("disabled"), "", "cmdCopy is enabled");
-  is (cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
+  is(cmdDelete.getAttribute("disabled"), "", "cmdDelete is enabled");
+  is(cmdSelectAll.getAttribute("disabled"), "", "cmdSelectAll is enabled");
+  is(cmdCut.getAttribute("disabled"), "", "cmdCut is enabled");
+  is(cmdCopy.getAttribute("disabled"), "", "cmdCopy is enabled");
+  is(cmdPaste.getAttribute("disabled"), "", "cmdPaste is enabled");
 });
 
 function* openContextMenuForEditor(editor, contextMenu) {
   let editorDoc = editor.editor.container.contentDocument;
   let shown = onPopupShow(contextMenu);
   EventUtils.synthesizeMouse(editorDoc.body, 2, 2,
     {type: "contextmenu", button: 2}, editorDoc.defaultView);
   yield shown;
--- a/devtools/client/projecteditor/test/browser_projecteditor_delete_file.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_delete_file.js
@@ -1,17 +1,17 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test tree selection functionality
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(true, "ProjectEditor has loaded");
 
   let root = [...projecteditor.project.allStores()][0].root;
   is(root.path, TEMP_PATH, "The root store is set to the correct temp path.");
   for (let child of root.children) {
     yield deleteWithContextMenu(projecteditor, projecteditor.projectTree.getViewContainer(child));
   }
@@ -30,45 +30,45 @@ function openContextMenuOn(node) {
 
 function* testDeleteOnRoot(projecteditor, container) {
   let popup = projecteditor.contextMenuPopup;
   let oncePopupShown = onPopupShow(popup);
   openContextMenuOn(container.label);
   yield oncePopupShown;
 
   let deleteCommand = popup.querySelector("[command=cmd-delete]");
-  ok (deleteCommand, "Delete command exists in popup");
-  is (deleteCommand.getAttribute("hidden"), "true", "Delete command is hidden");
+  ok(deleteCommand, "Delete command exists in popup");
+  is(deleteCommand.getAttribute("hidden"), "true", "Delete command is hidden");
 }
 
 function deleteWithContextMenu(projecteditor, container) {
   let defer = promise.defer();
 
   let popup = projecteditor.contextMenuPopup;
   let resource = container.resource;
-  info ("Going to attempt deletion for: " + resource.path);
+  info("Going to attempt deletion for: " + resource.path);
 
   onPopupShow(popup).then(function () {
     let deleteCommand = popup.querySelector("[command=cmd-delete]");
-    ok (deleteCommand, "Delete command exists in popup");
-    is (deleteCommand.getAttribute("hidden"), "", "Delete command is visible");
-    is (deleteCommand.getAttribute("disabled"), "", "Delete command is enabled");
+    ok(deleteCommand, "Delete command exists in popup");
+    is(deleteCommand.getAttribute("hidden"), "", "Delete command is visible");
+    is(deleteCommand.getAttribute("disabled"), "", "Delete command is enabled");
 
     function onConfirmShown(aSubject) {
       info("confirm dialog observed as expected");
       Services.obs.removeObserver(onConfirmShown, "common-dialog-loaded");
       Services.obs.removeObserver(onConfirmShown, "tabmodal-dialog-loaded");
 
       projecteditor.project.on("refresh-complete", function refreshComplete() {
         projecteditor.project.off("refresh-complete", refreshComplete);
         OS.File.stat(resource.path).then(() => {
-          ok (false, "The file was not deleted");
+          ok(false, "The file was not deleted");
           defer.resolve();
         }, (ex) => {
-          ok (ex instanceof OS.File.Error && ex.becauseNoSuchFile, "OS.File.stat promise was rejected because the file is gone");
+          ok(ex instanceof OS.File.Error && ex.becauseNoSuchFile, "OS.File.stat promise was rejected because the file is gone");
           defer.resolve();
         });
       });
 
       // Click the 'OK' button
       aSubject.Dialog.ui.button0.click();
     }
 
--- a/devtools/client/projecteditor/test/browser_projecteditor_editing_01.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_editing_01.js
@@ -1,71 +1,71 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 
 loadHelperScript("helper_edits.js");
 
 // Test ProjectEditor basic functionality
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
   for (let data of helperEditData) {
-    info ("Processing " + data.path);
+    info("Processing " + data.path);
     let resource = resources.filter(r=>r.basename === data.basename)[0];
     yield selectFile(projecteditor, resource);
     yield testEditFile(projecteditor, getTempFile(data.path).path, data.newContent);
   }
 });
 
 function* testEditFile(projecteditor, filePath, newData) {
-  info ("Testing file editing for: " + filePath);
+  info("Testing file editing for: " + filePath);
 
   let initialData = yield getFileData(filePath);
   let editor = projecteditor.currentEditor;
   let resource = projecteditor.resourceFor(editor);
-  let viewContainer= projecteditor.projectTree.getViewContainer(resource);
+  let viewContainer = projecteditor.projectTree.getViewContainer(resource);
   let originalTreeLabel = viewContainer.label.textContent;
 
-  is (resource.path, filePath, "Resource path is set correctly");
-  is (editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
+  is(resource.path, filePath, "Resource path is set correctly");
+  is(editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
 
-  info ("Setting text in the editor and doing checks before saving");
+  info("Setting text in the editor and doing checks before saving");
 
   editor.editor.undo();
   editor.editor.undo();
-  is (editor.editor.getText(), initialData, "Editor is still loaded with correct contents after undo");
+  is(editor.editor.getText(), initialData, "Editor is still loaded with correct contents after undo");
 
   editor.editor.setText(newData);
-  is (editor.editor.getText(), newData, "Editor has been filled with new data");
-  is (viewContainer.label.textContent, "*" + originalTreeLabel, "Label is marked as changed");
+  is(editor.editor.getText(), newData, "Editor has been filled with new data");
+  is(viewContainer.label.textContent, "*" + originalTreeLabel, "Label is marked as changed");
 
-  info ("Saving the editor and checking to make sure the file gets saved on disk");
+  info("Saving the editor and checking to make sure the file gets saved on disk");
 
   editor.save(resource);
 
   let savedResource = yield onceEditorSave(projecteditor);
 
-  is (viewContainer.label.textContent, originalTreeLabel, "Label is unmarked as changed");
-  is (savedResource.path, filePath, "The saved resouce path matches the original file path");
-  is (savedResource, resource, "The saved resource is the same as the original resource");
+  is(viewContainer.label.textContent, originalTreeLabel, "Label is unmarked as changed");
+  is(savedResource.path, filePath, "The saved resouce path matches the original file path");
+  is(savedResource, resource, "The saved resource is the same as the original resource");
 
   let savedData = yield getFileData(filePath);
-  is (savedData, newData, "Data has been correctly saved to disk");
+  is(savedData, newData, "Data has been correctly saved to disk");
 
-  info ("Finished checking saving for " + filePath);
+  info("Finished checking saving for " + filePath);
 
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_editors_image.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_editors_image.js
@@ -1,31 +1,31 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 
 loadHelperScript("helper_edits.js");
 
 // Test ProjectEditor image editor functionality
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
   let helperImageData = [
     {
       basename: "16x16.png",
       path: "img/icons/16x16.png"
     },
     {
@@ -34,42 +34,42 @@ add_task(function*() {
     },
     {
       basename: "128x128.png",
       path: "img/icons/128x128.png"
     },
   ];
 
   for (let data of helperImageData) {
-    info ("Processing " + data.path);
+    info("Processing " + data.path);
     let resource = resources.filter(r=>r.basename === data.basename)[0];
     yield selectFile(projecteditor, resource);
     yield testEditor(projecteditor, getTempFile(data.path).path);
   }
 });
 
 function* testEditor(projecteditor, filePath) {
-  info ("Testing file editing for: " + filePath);
+  info("Testing file editing for: " + filePath);
 
   let editor = projecteditor.currentEditor;
   let resource = projecteditor.resourceFor(editor);
 
-  is (resource.path, filePath, "Resource path is set correctly");
+  is(resource.path, filePath, "Resource path is set correctly");
 
   let images = editor.elt.querySelectorAll("image");
-  is (images.length, 1, "There is one image inside the editor");
-  is (images[0], editor.image, "The image property is set correctly with the DOM");
-  is (editor.image.getAttribute("src"), resource.uri, "The image has the resource URL");
+  is(images.length, 1, "There is one image inside the editor");
+  is(images[0], editor.image, "The image property is set correctly with the DOM");
+  is(editor.image.getAttribute("src"), resource.uri, "The image has the resource URL");
 
-  info ("Selecting another resource, then reselecting this one");
+  info("Selecting another resource, then reselecting this one");
   projecteditor.projectTree.selectResource(resource.store.root);
   yield onceEditorActivated(projecteditor);
   projecteditor.projectTree.selectResource(resource);
   yield onceEditorActivated(projecteditor);
 
   editor = projecteditor.currentEditor;
   images = editor.elt.querySelectorAll("image");
-  ok (images.length, 1, "There is one image inside the editor");
-  is (images[0], editor.image, "The image property is set correctly with the DOM");
-  is (editor.image.getAttribute("src"), resource.uri, "The image has the resource URL");
+  ok(images.length, 1, "There is one image inside the editor");
+  is(images[0], editor.image, "The image property is set correctly with the DOM");
+  is(editor.image.getAttribute("src"), resource.uri, "The image has the resource URL");
 
-  info ("Finished checking saving for " + filePath);
+  info("Finished checking saving for " + filePath);
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_external_change.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_external_change.js
@@ -3,82 +3,82 @@
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 loadHelperScript("helper_edits.js");
 
 // Test ProjectEditor reaction to external changes (made outside of the)
 // editor.
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
   for (let data of helperEditData) {
-    info ("Processing " + data.path);
+    info("Processing " + data.path);
     let resource = resources.filter(r=>r.basename === data.basename)[0];
     yield selectFile(projecteditor, resource);
     yield testChangeFileExternally(projecteditor, getTempFile(data.path).path, data.newContent);
     yield testChangeUnsavedFileExternally(projecteditor, getTempFile(data.path).path, data.newContent + "[changed]");
   }
 });
 
 function* testChangeUnsavedFileExternally(projecteditor, filePath, newData) {
-  info ("Testing file external changes for: " + filePath);
+  info("Testing file external changes for: " + filePath);
 
   let editor = projecteditor.currentEditor;
   let resource = projecteditor.resourceFor(editor);
   let initialData = yield getFileData(filePath);
 
-  is (resource.path, filePath, "Resource path is set correctly");
-  is (editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
+  is(resource.path, filePath, "Resource path is set correctly");
+  is(editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
 
-  info ("Editing but not saving file in project editor");
-  ok (editor.isClean(), "Editor is clean");
+  info("Editing but not saving file in project editor");
+  ok(editor.isClean(), "Editor is clean");
   editor.editor.setText("foobar");
-  ok (!editor.isClean(), "Editor is dirty");
+  ok(!editor.isClean(), "Editor is dirty");
 
-  info ("Editor has been selected, writing to file externally");
+  info("Editor has been selected, writing to file externally");
   yield writeToFile(resource.path, newData);
 
-  info ("Selecting another resource, then reselecting this one");
+  info("Selecting another resource, then reselecting this one");
   projecteditor.projectTree.selectResource(resource.store.root);
   yield onceEditorActivated(projecteditor);
   projecteditor.projectTree.selectResource(resource);
   yield onceEditorActivated(projecteditor);
 
   editor = projecteditor.currentEditor;
-  info ("Checking to make sure the editor is now populated correctly");
-  is (editor.editor.getText(), "foobar", "Editor has not been updated with new file contents");
+  info("Checking to make sure the editor is now populated correctly");
+  is(editor.editor.getText(), "foobar", "Editor has not been updated with new file contents");
 
-  info ("Finished checking saving for " + filePath);
+  info("Finished checking saving for " + filePath);
 }
 
 function* testChangeFileExternally(projecteditor, filePath, newData) {
-  info ("Testing file external changes for: " + filePath);
+  info("Testing file external changes for: " + filePath);
 
   let editor = projecteditor.currentEditor;
   let resource = projecteditor.resourceFor(editor);
   let initialData = yield getFileData(filePath);
 
-  is (resource.path, filePath, "Resource path is set correctly");
-  is (editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
+  is(resource.path, filePath, "Resource path is set correctly");
+  is(editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
 
-  info ("Editor has been selected, writing to file externally");
+  info("Editor has been selected, writing to file externally");
   yield writeToFile(resource.path, newData);
 
-  info ("Selecting another resource, then reselecting this one");
+  info("Selecting another resource, then reselecting this one");
   projecteditor.projectTree.selectResource(resource.store.root);
   yield onceEditorActivated(projecteditor);
   projecteditor.projectTree.selectResource(resource);
   yield onceEditorActivated(projecteditor);
 
   editor = projecteditor.currentEditor;
-  info ("Checking to make sure the editor is now populated correctly");
-  is (editor.editor.getText(), newData, "Editor has been updated with correct file contents");
+  info("Checking to make sure the editor is now populated correctly");
+  is(editor.editor.getText(), newData, "Editor has been updated with correct file contents");
 
-  info ("Finished checking saving for " + filePath);
+  info("Finished checking saving for " + filePath);
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_immediate_destroy.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_immediate_destroy.js
@@ -1,88 +1,88 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("TypeError: this.window is null");
 
 // Test that projecteditor can be destroyed in various states of loading
 // without causing any leaks or exceptions.
 
 add_task(function* () {
 
-  info ("Testing tab closure when projecteditor is in various states");
+  info("Testing tab closure when projecteditor is in various states");
   let loaderUrl = "chrome://devtools/content/projecteditor/chrome/content/projecteditor-test.xul";
 
   yield addTab(loaderUrl).then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
 
-    info ("Closing the tab without doing anything");
+    info("Closing the tab without doing anything");
     gBrowser.removeCurrentTab();
   });
 
   yield addTab(loaderUrl).then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
 
     let projecteditor = ProjectEditor.ProjectEditor();
-    ok (projecteditor, "ProjectEditor has been initialized");
+    ok(projecteditor, "ProjectEditor has been initialized");
 
-    info ("Closing the tab before attempting to load");
+    info("Closing the tab before attempting to load");
     gBrowser.removeCurrentTab();
   });
 
   yield addTab(loaderUrl).then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
 
     let projecteditor = ProjectEditor.ProjectEditor();
-    ok (projecteditor, "ProjectEditor has been initialized");
+    ok(projecteditor, "ProjectEditor has been initialized");
 
     projecteditor.load(iframe);
 
-    info ("Closing the tab after a load is requested, but before load is finished");
+    info("Closing the tab after a load is requested, but before load is finished");
     gBrowser.removeCurrentTab();
   });
 
   yield addTab(loaderUrl).then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
 
     let projecteditor = ProjectEditor.ProjectEditor();
-    ok (projecteditor, "ProjectEditor has been initialized");
+    ok(projecteditor, "ProjectEditor has been initialized");
 
     return projecteditor.load(iframe).then(() => {
-      info ("Closing the tab after a load has been requested and finished");
+      info("Closing the tab after a load has been requested and finished");
       gBrowser.removeCurrentTab();
     });
   });
 
   yield addTab(loaderUrl).then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
 
     let projecteditor = ProjectEditor.ProjectEditor(iframe);
-    ok (projecteditor, "ProjectEditor has been initialized");
+    ok(projecteditor, "ProjectEditor has been initialized");
 
     let loadedDone = promise.defer();
     projecteditor.loaded.then(() => {
-      ok (false, "Loaded has finished after destroy() has been called");
+      ok(false, "Loaded has finished after destroy() has been called");
       loadedDone.resolve();
     }, () => {
-      ok (true, "Loaded has been rejected after destroy() has been called");
+      ok(true, "Loaded has been rejected after destroy() has been called");
       loadedDone.resolve();
     });
 
     projecteditor.destroy();
 
     return loadedDone.promise.then(() => {
       gBrowser.removeCurrentTab();
     });
--- a/devtools/client/projecteditor/test/browser_projecteditor_init.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_init.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that projecteditor can be initialized.
 
 function test() {
-  info ("Initializing projecteditor");
+  info("Initializing projecteditor");
   addProjectEditorTab().then((projecteditor) => {
-    ok (projecteditor, "Load callback has been called");
-    ok (projecteditor.shells, "ProjectEditor has shells");
-    ok (projecteditor.project, "ProjectEditor has a project");
+    ok(projecteditor, "Load callback has been called");
+    ok(projecteditor.shells, "ProjectEditor has shells");
+    ok(projecteditor.project, "ProjectEditor has a project");
     finish();
   });
 }
 
--- a/devtools/client/projecteditor/test/browser_projecteditor_menubar_01.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_menubar_01.js
@@ -1,28 +1,28 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that menu bar appends to the correct document.
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory({
     menubar: false
   });
   ok(projecteditor, "ProjectEditor has loaded");
 
   let fileMenu = projecteditor.document.getElementById("file-menu");
   let editMenu = projecteditor.document.getElementById("edit-menu");
-  ok (fileMenu, "The menu has loaded in the projecteditor document");
-  ok (editMenu, "The menu has loaded in the projecteditor document");
+  ok(fileMenu, "The menu has loaded in the projecteditor document");
+  ok(editMenu, "The menu has loaded in the projecteditor document");
 
   let projecteditor2 = yield addProjectEditorTabForTempDirectory();
   let menubar = projecteditor2.menubar;
   fileMenu = projecteditor2.document.getElementById("file-menu");
   editMenu = projecteditor2.document.getElementById("edit-menu");
-  ok (!fileMenu, "The menu has NOT loaded in the projecteditor document");
-  ok (!editMenu, "The menu has NOT loaded in the projecteditor document");
-  ok (content.document.querySelector("#file-menu"), "The menu has loaded in the specified element");
-  ok (content.document.querySelector("#edit-menu"), "The menu has loaded in the specified element");
+  ok(!fileMenu, "The menu has NOT loaded in the projecteditor document");
+  ok(!editMenu, "The menu has NOT loaded in the projecteditor document");
+  ok(content.document.querySelector("#file-menu"), "The menu has loaded in the specified element");
+  ok(content.document.querySelector("#edit-menu"), "The menu has loaded in the specified element");
 });
--- a/devtools/client/projecteditor/test/browser_projecteditor_menubar_02.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_menubar_02.js
@@ -3,119 +3,119 @@
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 loadHelperScript("helper_edits.js");
 
 // Test menu bar enabled / disabled state.
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let menubar = projecteditor.menubar;
 
   // Update menu items for a clean slate, so previous tests cannot
   // affect paste, and possibly other side effects
   projecteditor._updateMenuItems();
 
   // let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(projecteditor, "ProjectEditor has loaded");
 
   let fileMenu = menubar.querySelector("#file-menu");
   let editMenu = menubar.querySelector("#edit-menu");
-  ok (fileMenu, "The menu has loaded in the projecteditor document");
-  ok (editMenu, "The menu has loaded in the projecteditor document");
+  ok(fileMenu, "The menu has loaded in the projecteditor document");
+  ok(editMenu, "The menu has loaded in the projecteditor document");
 
   let cmdNew = fileMenu.querySelector("[command=cmd-new]");
   let cmdSave = fileMenu.querySelector("[command=cmd-save]");
   let cmdSaveas = fileMenu.querySelector("[command=cmd-saveas]");
 
   let cmdUndo = editMenu.querySelector("[command=cmd_undo]");
   let cmdRedo = editMenu.querySelector("[command=cmd_redo]");
   let cmdCut = editMenu.querySelector("[command=cmd_cut]");
   let cmdCopy = editMenu.querySelector("[command=cmd_copy]");
   let cmdPaste = editMenu.querySelector("[command=cmd_paste]");
 
-  info ("Checking initial state of menus");
+  info("Checking initial state of menus");
   yield openAndCloseMenu(fileMenu);
   yield openAndCloseMenu(editMenu);
 
-  is (cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
-  is (cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
-  is (cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
+  is(cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
 
-  is (cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
 
   projecteditor.menuEnabled = false;
 
-  info ("Checking with menuEnabled = false");
+  info("Checking with menuEnabled = false");
   yield openAndCloseMenu(fileMenu);
   yield openAndCloseMenu(editMenu);
 
-  is (cmdNew.getAttribute("disabled"), "true", "File menu item is disabled");
-  is (cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
-  is (cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdNew.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
 
-  is (cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
 
-  info ("Checking with menuEnabled=true");
+  info("Checking with menuEnabled=true");
   projecteditor.menuEnabled = true;
 
   yield openAndCloseMenu(fileMenu);
   yield openAndCloseMenu(editMenu);
 
-  is (cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
-  is (cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
-  is (cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
+  is(cmdSave.getAttribute("disabled"), "true", "File menu item is disabled");
+  is(cmdSaveas.getAttribute("disabled"), "true", "File menu item is disabled");
 
-  is (cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdUndo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdPaste.getAttribute("disabled"), "true", "Edit menu item is disabled");
 
-  info ("Checking with resource selected");
+  info("Checking with resource selected");
   let resource = projecteditor.project.allResources()[2];
   yield selectFile(projecteditor, resource);
   let editor = projecteditor.currentEditor;
 
   let onChange = promise.defer();
 
   projecteditor.on("onEditorChange", () => {
-    info ("onEditorChange has been detected");
+    info("onEditorChange has been detected");
     onChange.resolve();
   });
   editor.editor.focus();
   EventUtils.synthesizeKey("f", { }, projecteditor.window);
 
   yield onChange;
   yield openAndCloseMenu(fileMenu);
   yield openAndCloseMenu(editMenu);
 
-  is (cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
-  is (cmdSave.getAttribute("disabled"), "", "File menu item is enabled");
-  is (cmdSaveas.getAttribute("disabled"), "", "File menu item is enabled");
+  is(cmdNew.getAttribute("disabled"), "", "File menu item is enabled");
+  is(cmdSave.getAttribute("disabled"), "", "File menu item is enabled");
+  is(cmdSaveas.getAttribute("disabled"), "", "File menu item is enabled");
 
   // Use editor.canUndo() to see if this is failing - the menu disabled property
   // should be in sync with this because of isCommandEnabled in editor.js.
-  info ('cmdUndo.getAttribute("disabled") is: "' + cmdUndo.getAttribute("disabled") + '"');
-  ok (editor.editor.canUndo(), "Edit menu item is enabled");
+  info('cmdUndo.getAttribute("disabled") is: "' + cmdUndo.getAttribute("disabled") + '"');
+  ok(editor.editor.canUndo(), "Edit menu item is enabled");
 
-  is (cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
-  is (cmdPaste.getAttribute("disabled"), "", "Edit menu item is enabled");
+  is(cmdRedo.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCut.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdCopy.getAttribute("disabled"), "true", "Edit menu item is disabled");
+  is(cmdPaste.getAttribute("disabled"), "", "Edit menu item is enabled");
 });
 
 function* openAndCloseMenu(menu) {
   let shown = onPopupShow(menu);
   EventUtils.synthesizeMouseAtCenter(menu, {}, menu.ownerDocument.defaultView);
   yield shown;
   let hidden = onPopupHidden(menu);
   EventUtils.synthesizeMouseAtCenter(menu, {}, menu.ownerDocument.defaultView);
--- a/devtools/client/projecteditor/test/browser_projecteditor_new_file.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_new_file.js
@@ -1,13 +1,13 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test tree selection functionality
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(projecteditor, "ProjectEditor has loaded");
 
-});
\ No newline at end of file
+});
--- a/devtools/client/projecteditor/test/browser_projecteditor_rename_file_01.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_rename_file_01.js
@@ -1,17 +1,17 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test file rename functionality
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(true, "ProjectEditor has loaded");
 
   let root = [...projecteditor.project.allStores()][0].root;
   is(root.path, TEMP_PATH, "The root store is set to the correct temp path.");
   for (let child of root.children) {
     yield renameWithContextMenu(projecteditor,
       projecteditor.projectTree.getViewContainer(child), ".renamed");
--- a/devtools/client/projecteditor/test/browser_projecteditor_rename_file_02.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_rename_file_02.js
@@ -1,17 +1,17 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test file rename functionality with non ascii characters
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   ok(true, "ProjectEditor has loaded");
 
   let root = [...projecteditor.project.allStores()][0].root;
   is(root.path, TEMP_PATH, "The root store is set to the correct temp path.");
 
   let childrenList = [];
   for (let child of root.children) {
--- a/devtools/client/projecteditor/test/browser_projecteditor_saveall.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_saveall.js
@@ -1,65 +1,65 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 
 loadHelperScript("helper_edits.js");
 
 // Test ProjectEditor basic functionality
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
   for (let data of helperEditData) {
-    info ("Processing " + data.path);
+    info("Processing " + data.path);
     let resource = resources.filter(r=>r.basename === data.basename)[0];
     yield selectFile(projecteditor, resource);
     yield editFile(projecteditor, getTempFile(data.path).path, data.newContent);
   }
 
-  info ("Saving all resources");
+  info("Saving all resources");
   ok(projecteditor.hasUnsavedResources, "hasUnsavedResources");
   yield projecteditor.saveAllFiles();
   ok(!projecteditor.hasUnsavedResources, "!hasUnsavedResources");
   for (let data of helperEditData) {
     let filePath = getTempFile(data.path).path;
-    info ("Asserting that data at " + filePath + " has been saved");
+    info("Asserting that data at " + filePath + " has been saved");
     let resource = resources.filter(r=>r.basename === data.basename)[0];
     yield selectFile(projecteditor, resource);
     let editor = projecteditor.currentEditor;
     let savedData = yield getFileData(filePath);
-    is (savedData, data.newContent, "Data has been correctly saved to disk");
+    is(savedData, data.newContent, "Data has been correctly saved to disk");
   }
 });
 
 function* editFile(projecteditor, filePath, newData) {
-  info ("Testing file editing for: " + filePath);
+  info("Testing file editing for: " + filePath);
 
   let initialData = yield getFileData(filePath);
   let editor = projecteditor.currentEditor;
   let resource = projecteditor.resourceFor(editor);
   let viewContainer = projecteditor.projectTree.getViewContainer(resource);
   let originalTreeLabel = viewContainer.label.textContent;
 
-  is (resource.path, filePath, "Resource path is set correctly");
-  is (editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
+  is(resource.path, filePath, "Resource path is set correctly");
+  is(editor.editor.getText(), initialData, "Editor is loaded with correct file contents");
 
-  info ("Setting text in the editor");
+  info("Setting text in the editor");
 
   editor.editor.setText(newData);
-  is (editor.editor.getText(), newData, "Editor has been filled with new data");
-  is (viewContainer.label.textContent, "*" + originalTreeLabel, "Label is marked as changed");
+  is(editor.editor.getText(), newData, "Editor has been filled with new data");
+  is(viewContainer.label.textContent, "*" + originalTreeLabel, "Label is marked as changed");
 }
--- a/devtools/client/projecteditor/test/browser_projecteditor_stores.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_stores.js
@@ -1,16 +1,16 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test ProjectEditor basic functionality
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  is (projecteditor.project.allPaths().length, 1, "1 path is set");
+  is(projecteditor.project.allPaths().length, 1, "1 path is set");
   projecteditor.project.removeAllStores();
-  is (projecteditor.project.allPaths().length, 0, "No paths are remaining");
+  is(projecteditor.project.allPaths().length, 0, "No paths are remaining");
 });
--- a/devtools/client/projecteditor/test/browser_projecteditor_tree_selection_01.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_tree_selection_01.js
@@ -1,75 +1,75 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test tree selection functionality
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
-  is (
+  is(
     resources.map(r=>r.basename).join("|"),
     TEMP_FOLDER_NAME + "|css|styles.css|data|img|icons|128x128.png|16x16.png|32x32.png|vector.svg|fake.png|js|script.js|index.html|LICENSE|README.md",
     "Resources came through in proper order"
   );
 
-  for (let i = 0; i < resources.length; i++){
+  for (let i = 0; i < resources.length; i++) {
     yield selectFileFirstLoad(projecteditor, resources[i]);
   }
-  for (let i = 0; i < resources.length; i++){
+  for (let i = 0; i < resources.length; i++) {
     yield selectFileSubsequentLoad(projecteditor, resources[i]);
   }
-  for (let i = 0; i < resources.length; i++){
+  for (let i = 0; i < resources.length; i++) {
     yield selectFileSubsequentLoad(projecteditor, resources[i]);
   }
 });
 
 function* selectFileFirstLoad(projecteditor, resource) {
-  ok (resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
+  ok(resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
   projecteditor.projectTree.selectResource(resource);
   let container = projecteditor.projectTree.getViewContainer(resource);
 
   if (resource.isRoot) {
-    ok (container.expanded, "The root directory is expanded by default.");
+    ok(container.expanded, "The root directory is expanded by default.");
     container.line.click();
-    ok (container.expanded, "Clicking on the line does not toggles expansion.");
+    ok(container.expanded, "Clicking on the line does not toggles expansion.");
     return;
   }
   if (resource.isDir) {
-    ok (!container.expanded, "A directory is not expanded by default.");
+    ok(!container.expanded, "A directory is not expanded by default.");
     container.line.click();
-    ok (container.expanded, "Clicking on the line toggles expansion.");
+    ok(container.expanded, "Clicking on the line toggles expansion.");
     container.line.click();
-    ok (!container.expanded, "Clicking on the line toggles expansion.");
+    ok(!container.expanded, "Clicking on the line toggles expansion.");
     return;
   }
 
   let [editorCreated, editorLoaded, editorActivated] = yield promise.all([
     onceEditorCreated(projecteditor),
     onceEditorLoad(projecteditor),
     onceEditorActivated(projecteditor)
   ]);
 
-  is (editorCreated, projecteditor.currentEditor,  "Editor has been created for " + resource.path);
-  is (editorActivated, projecteditor.currentEditor,  "Editor has been activated for " + resource.path);
-  is (editorLoaded, projecteditor.currentEditor,  "Editor has been loaded for " + resource.path);
+  is(editorCreated, projecteditor.currentEditor, "Editor has been created for " + resource.path);
+  is(editorActivated, projecteditor.currentEditor, "Editor has been activated for " + resource.path);
+  is(editorLoaded, projecteditor.currentEditor, "Editor has been loaded for " + resource.path);
 }
 
 function* selectFileSubsequentLoad(projecteditor, resource) {
-  ok (resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
+  ok(resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
   projecteditor.projectTree.selectResource(resource);
 
   if (resource.isDir) {
     return;
   }
 
   // Make sure text editors are focused immediately when selected.
   let focusPromise = promise.resolve();
@@ -78,17 +78,17 @@ function* selectFileSubsequentLoad(proje
   }
 
   // Only activated should fire the next time
   // (may add load() if we begin checking for changes from disk)
   let [editorActivated] = yield promise.all([
     onceEditorActivated(projecteditor)
   ]);
 
-  is (editorActivated, projecteditor.currentEditor,  "Editor has been activated for " + resource.path);
+  is(editorActivated, projecteditor.currentEditor, "Editor has been activated for " + resource.path);
 
   yield focusPromise;
 }
 
 function onEditorFocus(editor) {
   let def = promise.defer();
   editor.on("focus", function focus() {
     editor.off("focus", focus);
--- a/devtools/client/projecteditor/test/browser_projecteditor_tree_selection_02.js
+++ b/devtools/client/projecteditor/test/browser_projecteditor_tree_selection_02.js
@@ -1,46 +1,46 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 
 // Test that files get reselected in the tree when their editor
 // is focused.  https://bugzilla.mozilla.org/show_bug.cgi?id=1011116.
 
-add_task(function*() {
+add_task(function* () {
   let projecteditor = yield addProjectEditorTabForTempDirectory();
   let TEMP_PATH = projecteditor.project.allPaths()[0];
 
-  is (getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
+  is(getTempFile("").path, TEMP_PATH, "Temp path is set correctly.");
 
-  ok (projecteditor.currentEditor, "There is an editor for projecteditor");
+  ok(projecteditor.currentEditor, "There is an editor for projecteditor");
   let resources = projecteditor.project.allResources();
 
-  is (
+  is(
     resources.map(r=>r.basename).join("|"),
     TEMP_FOLDER_NAME + "|css|styles.css|data|img|icons|128x128.png|16x16.png|32x32.png|vector.svg|fake.png|js|script.js|index.html|LICENSE|README.md",
     "Resources came through in proper order"
   );
 
-  for (let i = 0; i < resources.length; i++){
+  for (let i = 0; i < resources.length; i++) {
     yield selectAndRefocusFile(projecteditor, resources[i]);
   }
 });
 
 function* selectAndRefocusFile(projecteditor, resource) {
-  ok (resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
+  ok(resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
   projecteditor.projectTree.selectResource(resource);
 
   if (resource.isDir) {
     return;
   }
 
   let [editorCreated, editorLoaded, editorActivated] = yield promise.all([
     onceEditorCreated(projecteditor),
@@ -53,17 +53,17 @@ function* selectAndRefocusFile(projected
     // the editor to make sure it is reselected in tree.
     let treeContainer = projecteditor.projectTree.getViewContainer(getDirectoryInStore(resource));
     treeContainer.line.click();
     EventUtils.synthesizeMouseAtCenter(treeContainer.elt, {}, treeContainer.elt.ownerDocument.defaultView);
     let waitForTreeSelect = onTreeSelection(projecteditor);
     projecteditor.currentEditor.focus();
     yield waitForTreeSelect;
 
-    is (projecteditor.projectTree.getSelectedResource(), resource, "The resource gets reselected in the tree");
+    is(projecteditor.projectTree.getSelectedResource(), resource, "The resource gets reselected in the tree");
   }
 }
 
 // Return a directory to select in the tree.
 function getDirectoryInStore(resource) {
   return resource.store.root.childrenSorted.filter(r=>r.isDir)[0];
 }
 
--- a/devtools/client/projecteditor/test/head.js
+++ b/devtools/client/projecteditor/test/head.js
@@ -87,111 +87,111 @@ function loadHelperScript(filePath) {
 
 function addProjectEditorTabForTempDirectory(opts = {}) {
   try {
     TEMP_PATH = buildTempDirectoryStructure();
   } catch (e) {
     // Bug 1037292 - The test servers sometimes are unable to
     // write to the temporary directory due to locked files
     // or access denied errors.  Try again if this failed.
-    info ("Project Editor temp directory creation failed.  Trying again.");
+    info("Project Editor temp directory creation failed.  Trying again.");
     TEMP_PATH = buildTempDirectoryStructure();
   }
   let customOpts = {
     name: "Test",
     iconUrl: "chrome://devtools/skin/images/tool-options.svg",
     projectOverviewURL: SAMPLE_WEBAPP_URL
   };
 
-  info ("Adding a project editor tab for editing at: " + TEMP_PATH);
+  info("Adding a project editor tab for editing at: " + TEMP_PATH);
   return addProjectEditorTab(opts).then((projecteditor) => {
     return projecteditor.setProjectToAppPath(TEMP_PATH, customOpts).then(() => {
       return projecteditor;
     });
   });
 }
 
 function addProjectEditorTab(opts = {}) {
   return addTab("chrome://devtools/content/projecteditor/chrome/content/projecteditor-test.xul").then(() => {
     let iframe = content.document.getElementById("projecteditor-iframe");
     if (opts.menubar !== false) {
       opts.menubar = content.document.querySelector("menubar");
     }
     let projecteditor = ProjectEditor.ProjectEditor(iframe, opts);
 
 
-    ok (iframe, "Tab has placeholder iframe for projecteditor");
-    ok (projecteditor, "ProjectEditor has been initialized");
+    ok(iframe, "Tab has placeholder iframe for projecteditor");
+    ok(projecteditor, "ProjectEditor has been initialized");
 
     return projecteditor.loaded.then((projecteditor) => {
       return projecteditor;
     });
   });
 }
 
 /**
  * Build a temporary directory as a workspace for this loader
  * https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O
  */
 function buildTempDirectoryStructure() {
 
   let dirName = TEMP_FOLDER_NAME;
-  info ("Building a temporary directory at " + dirName);
+  info("Building a temporary directory at " + dirName);
 
   // First create (and remove) the temp dir to discard any changes
   let TEMP_DIR = FileUtils.getDir("TmpD", [dirName], true);
   TEMP_DIR.remove(true);
 
   // Now rebuild our fake project.
   TEMP_DIR = FileUtils.getDir("TmpD", [dirName], true);
 
   FileUtils.getDir("TmpD", [dirName, "css"], true);
   FileUtils.getDir("TmpD", [dirName, "data"], true);
   FileUtils.getDir("TmpD", [dirName, "img", "icons"], true);
   FileUtils.getDir("TmpD", [dirName, "js"], true);
 
   let htmlFile = FileUtils.getFile("TmpD", [dirName, "index.html"]);
   htmlFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFileSync(htmlFile, [
-    '<!DOCTYPE html>',
+    "<!DOCTYPE html>",
     '<html lang="en">',
-    ' <head>',
+    " <head>",
     '   <meta charset="utf-8" />',
-    '   <title>ProjectEditor Temp File</title>',
+    "   <title>ProjectEditor Temp File</title>",
     '   <link rel="stylesheet" href="style.css" />',
-    ' </head>',
+    " </head>",
     ' <body id="home">',
-    '   <p>ProjectEditor Temp File</p>',
-    ' </body>',
-    '</html>'].join("\n")
+    "   <p>ProjectEditor Temp File</p>",
+    " </body>",
+    "</html>"].join("\n")
   );
 
   let readmeFile = FileUtils.getFile("TmpD", [dirName, "README.md"]);
   readmeFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFileSync(readmeFile, [
-    '## Readme'
-    ].join("\n")
+    "## Readme"
+  ].join("\n")
   );
 
   let licenseFile = FileUtils.getFile("TmpD", [dirName, "LICENSE"]);
   licenseFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFileSync(licenseFile, [
-   '/* This Source Code Form is subject to the terms of the Mozilla Public',
-   ' * License, v. 2.0. If a copy of the MPL was not distributed with this',
-   ' * file, You can obtain one at http://mozilla.org/MPL/2.0/. */'
-    ].join("\n")
+    "/* This Source Code Form is subject to the terms of the Mozilla Public",
+    " * License, v. 2.0. If a copy of the MPL was not distributed with this",
+    " * file, You can obtain one at http://mozilla.org/MPL/2.0/. */"
+  ].join("\n")
   );
 
   let cssFile = FileUtils.getFile("TmpD", [dirName, "css", "styles.css"]);
   cssFile.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   writeToFileSync(cssFile, [
-    'body {',
-    ' background: red;',
-    '}'
-    ].join("\n")
+    "body {",
+    " background: red;",
+    "}"
+  ].join("\n")
   );
 
   FileUtils.getFile("TmpD", [dirName, "js", "script.js"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
 
   FileUtils.getFile("TmpD", [dirName, "img", "fake.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", [dirName, "img", "icons", "16x16.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", [dirName, "img", "icons", "32x32.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
   FileUtils.getFile("TmpD", [dirName, "img", "icons", "128x128.png"]).createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
@@ -210,17 +210,17 @@ function writeToFile(file, data) {
   var ostream = FileUtils.openSafeFileOutputStream(file);
 
   var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].
                   createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
   converter.charset = "UTF-8";
   var istream = converter.convertToInputStream(data);
 
   // The last argument (the callback) is optional.
-  NetUtil.asyncCopy(istream, ostream, function(status) {
+  NetUtil.asyncCopy(istream, ostream, function (status) {
     if (!Components.isSuccessCode(status)) {
       // Handle error!
       info("ERROR WRITING TEMP FILE", status);
     }
     defer.resolve();
   });
   return defer.promise;
 }
@@ -259,25 +259,25 @@ function* getFileData(file) {
   if (typeof file === "string") {
     file = new FileUtils.File(file);
   }
   let def = promise.defer();
 
   NetUtil.asyncFetch({
     uri: NetUtil.newURI(file),
     loadUsingSystemPrincipal: true
-  }, function(inputStream, status) {
+  }, function (inputStream, status) {
     if (!Components.isSuccessCode(status)) {
       info("ERROR READING TEMP FILE", status);
     }
 
     // Detect if an empty file is loaded
     try {
       inputStream.available();
-    } catch(e) {
+    } catch (e) {
       def.resolve("");
       return;
     }
 
     var data = NetUtil.readInputStreamToString(inputStream, inputStream.available());
     def.resolve(data);
   });
 
--- a/devtools/client/projecteditor/test/helper_edits.js
+++ b/devtools/client/projecteditor/test/helper_edits.js
@@ -33,21 +33,21 @@ var helperEditData = [
   {
     basename: "vector.svg",
     path: "img/icons/vector.svg",
     newContent: "<svg></svg>"
   },
 ];
 
 function* selectFile(projecteditor, resource) {
-  ok (resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
+  ok(resource && resource.path, "A valid resource has been passed in for selection " + (resource && resource.path));
   projecteditor.projectTree.selectResource(resource);
 
   if (resource.isDir) {
     return;
   }
 
   let [editorActivated] = yield promise.all([
     onceEditorActivated(projecteditor)
   ]);
 
-  is (editorActivated, projecteditor.currentEditor,  "Editor has been activated for " + resource.path);
+  is(editorActivated, projecteditor.currentEditor, "Editor has been activated for " + resource.path);
 }
--- a/devtools/client/promisedebugger/promise-controller.js
+++ b/devtools/client/promisedebugger/promise-controller.js
@@ -23,27 +23,27 @@ loader.lazyRequireGetter(this, "Promises
   "devtools/server/actors/promises", true);
 
 // Global toolbox, set when startup is called.
 var gToolbox;
 
 /**
  * Initialize the promise debugger controller and view upon loading the iframe.
  */
-var startup = Task.async(function*(toolbox) {
+var startup = Task.async(function* (toolbox) {
   gToolbox = toolbox;
 
   yield PromisesController.initialize(toolbox);
   yield PromisesPanel.initialize();
 });
 
 /**
  * Destroy the promise debugger controller and view when unloading the iframe.
  */
-var shutdown = Task.async(function*() {
+var shutdown = Task.async(function* () {
   yield PromisesController.destroy();
   yield PromisesPanel.destroy();
 
   gToolbox = null;
 });
 
 function setPanel(toolbox) {
   return startup(toolbox).catch(e =>
@@ -54,17 +54,17 @@ function destroy() {
   return shutdown().catch(e => DevToolsUtils.reportException("destroy", e));
 }
 
 /**
  * The promisedebugger controller's job is to retrieve PromisesFronts from the
  * server.
  */
 var PromisesController = {
-  initialize: Task.async(function*() {
+  initialize: Task.async(function* () {
     if (this.initialized) {
       return this.initialized.promise;
     }
 
     this.initialized = promise.defer();
 
     let target = gToolbox.target;
     this.promisesFront = new PromisesFront(target.client, target.form);
@@ -73,17 +73,17 @@ var PromisesController = {
     if (this.destroyed) {
       console.warn("Could not fully initialize the PromisesController");
       return null;
     }
 
     this.initialized.resolve();
   }),
 
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     if (!this.initialized) {
       return null;
     }
 
     if (this.destroyed) {
       return this.destroyed.promise;
     }
 
--- a/devtools/client/promisedebugger/promise-panel.js
+++ b/devtools/client/promisedebugger/promise-panel.js
@@ -9,31 +9,31 @@
 "use strict";
 
 /**
  * The main promise debugger UI.
  */
 var PromisesPanel = {
   PANEL_INITIALIZED: "panel-initialized",
 
-  initialize: Task.async(function*() {
+  initialize: Task.async(function* () {
     if (PromisesController.destroyed) {
       return null;
     }
     if (this.initialized) {
       return this.initialized.promise;
     }
     this.initialized = promise.defer();
 
     this.initialized.resolve();
 
     this.emit(this.PANEL_INITIALIZED);
   }),
 
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     if (!this.initialized) {
       return null;
     }
     if (this.destroyed) {
       return this.destroyed.promise;
     }
     this.destroyed = promise.defer();
 
--- a/devtools/client/responsivedesign/resize-commands.js
+++ b/devtools/client/responsivedesign/resize-commands.js
@@ -12,80 +12,80 @@ const BRAND_SHORT_NAME = Cc["@mozilla.or
                          getService(Ci.nsIStringBundleService).
                          createBundle("chrome://branding/locale/brand.properties").
                          GetStringFromName("brandShortName");
 
 const l10n = require("gcli/l10n");
 
 exports.items = [
   {
-    name: 'resize',
-    description: l10n.lookup('resizeModeDesc')
+    name: "resize",
+    description: l10n.lookup("resizeModeDesc")
   },
   {
     item: "command",
     runAt: "client",
-    name: 'resize on',
-    description: l10n.lookup('resizeModeOnDesc'),
-    manual: l10n.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
+    name: "resize on",
+    description: l10n.lookup("resizeModeOnDesc"),
+    manual: l10n.lookupFormat("resizeModeManual2", [BRAND_SHORT_NAME]),
     exec: gcli_cmd_resize
   },
   {
     item: "command",
     runAt: "client",
-    name: 'resize off',
-    description: l10n.lookup('resizeModeOffDesc'),
-    manual: l10n.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
+    name: "resize off",
+    description: l10n.lookup("resizeModeOffDesc"),
+    manual: l10n.lookupFormat("resizeModeManual2", [BRAND_SHORT_NAME]),
     exec: gcli_cmd_resize
   },
   {
     item: "command",
     runAt: "client",
-    name: 'resize toggle',
+    name: "resize toggle",
     buttonId: "command-button-responsive",
     buttonClass: "command-button command-button-invertable",
     tooltipText: l10n.lookup("resizeModeToggleTooltip"),
-    description: l10n.lookup('resizeModeToggleDesc'),
-    manual: l10n.lookupFormat('resizeModeManual2', [BRAND_SHORT_NAME]),
+    description: l10n.lookup("resizeModeToggleDesc"),
+    manual: l10n.lookupFormat("resizeModeManual2", [BRAND_SHORT_NAME]),
     state: {
-      isChecked: function(aTarget) {
+      isChecked: function (aTarget) {
         if (!aTarget.tab) {
           return false;
         }
         return ResponsiveUIManager.isActiveForTab(aTarget.tab);
       },
-      onChange: function(aTarget, aChangeHandler) {
+      onChange: function (aTarget, aChangeHandler) {
         if (aTarget.tab) {
           ResponsiveUIManager.on("on", aChangeHandler);
           ResponsiveUIManager.on("off", aChangeHandler);
         }
       },
-      offChange: function(aTarget, aChangeHandler) {
+      offChange: function (aTarget, aChangeHandler) {
         if (aTarget.tab) {
           ResponsiveUIManager.off("on", aChangeHandler);
           ResponsiveUIManager.off("off", aChangeHandler);
         }
       },
     },
     exec: gcli_cmd_resize
   },
   {
     item: "command",
     runAt: "client",
-    name: 'resize to',
-    description: l10n.lookup('resizeModeToDesc'),
+    name: "resize to",
+    description: l10n.lookup("resizeModeToDesc"),
     params: [
       {
-        name: 'width',
-        type: 'number',
+        name: "width",
+        type: "number",
         description: l10n.lookup("resizePageArgWidthDesc"),
       },
       {
-        name: 'height',
-        type: 'number',
+        name: "height",
+        type: "number",
         description: l10n.lookup("resizePageArgHeightDesc"),
       },
     ],
     exec: gcli_cmd_resize
   }
 ];
 
 function* gcli_cmd_resize(args, context) {
--- a/devtools/client/responsivedesign/responsivedesign-child.js
+++ b/devtools/client/responsivedesign/responsivedesign-child.js
@@ -5,17 +5,17 @@
 "use strict";
 
 /* global content, docShell, addEventListener, addMessageListener,
    removeEventListener, removeMessageListener, sendAsyncMessage, Services */
 
 var global = this;
 
 // Guard against loading this frame script mutiple times
-(function() {
+(function () {
   if (global.responsiveFrameScriptLoaded) {
     return;
   }
 
   var Ci = Components.interfaces;
   const gDeviceSizeWasPageSize = docShell.deviceSizeIsPageSize;
   const gFloatingScrollbarsStylesheet = Services.io.newURI("chrome://devtools/skin/floating-scrollbars-responsive-design.css", null, null);
   var gRequiresFloatingScrollbars;
@@ -113,33 +113,33 @@ var global = this;
       allDocShells.push(child);
     }
 
     for (let d of allDocShells) {
       let win = d.contentViewer.DOMDocument.defaultView;
       let winUtils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
       try {
         winUtils.loadSheet(gFloatingScrollbarsStylesheet, win.AGENT_SHEET);
-      } catch(e) { }
+      } catch (e) { }
     }
 
     flushStyle();
   }
 
   function restoreScrollbars() {
     let allDocShells = [docShell];
     for (let i = 0; i < docShell.childCount; i++) {
       allDocShells.push(docShell.getChildAt(i).QueryInterface(Ci.nsIDocShell));
     }
     for (let d of allDocShells) {
       let win = d.contentViewer.DOMDocument.defaultView;
       let winUtils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
       try {
         winUtils.removeSheet(gFloatingScrollbarsStylesheet, win.AGENT_SHEET);
-      } catch(e) { }
+      } catch (e) { }
     }
     flushStyle();
   }
 
   function flushStyle() {
     // Force presContext destruction
     let isSticky = docShell.contentViewer.sticky;
     docShell.contentViewer.sticky = false;
@@ -168,17 +168,17 @@ var global = this;
         return;
       }
       makeScrollbarsFloating();
     },
     QueryInterface: function QueryInterface(aIID) {
       if (aIID.equals(Ci.nsIWebProgressListener) ||
           aIID.equals(Ci.nsISupportsWeakReference) ||
           aIID.equals(Ci.nsISupports)) {
-          return this;
+        return this;
       }
       throw Components.results.NS_ERROR_NO_INTERFACE;
     }
   };
 })();
 
 global.responsiveFrameScriptLoaded = true;
 sendAsyncMessage("ResponsiveMode:ChildScriptReady");
--- a/devtools/client/responsivedesign/responsivedesign.jsm
+++ b/devtools/client/responsivedesign/responsivedesign.jsm
@@ -51,67 +51,67 @@ var Manager = {
   /**
    * Check if the a tab is in a responsive mode.
    * Leave the responsive mode if active,
    * active the responsive mode if not active.
    *
    * @param aWindow the main window.
    * @param aTab the tab targeted.
    */
-  toggle: function(aWindow, aTab) {
+  toggle: function (aWindow, aTab) {
     if (this.isActiveForTab(aTab)) {
       ActiveTabs.get(aTab).close();
     } else {
       this.runIfNeeded(aWindow, aTab);
     }
   },
 
   /**
    * Launches the responsive mode.
    *
    * @param aWindow the main window.
    * @param aTab the tab targeted.
    * @returns {ResponsiveUI} the instance of ResponsiveUI for the current tab.
    */
-  runIfNeeded: Task.async(function*(aWindow, aTab) {
+  runIfNeeded: Task.async(function* (aWindow, aTab) {
     let ui;
     if (!this.isActiveForTab(aTab)) {
       ui = new ResponsiveUI(aWindow, aTab);
       yield ui.inited;
     } else {
       ui = this.getResponsiveUIForTab(aTab);
     }
     return ui;
   }),
 
   /**
    * Returns true if responsive view is active for the provided tab.
    *
    * @param aTab the tab targeted.
    */
-  isActiveForTab: function(aTab) {
+  isActiveForTab: function (aTab) {
     return ActiveTabs.has(aTab);
   },
 
   /**
    * Return the responsive UI controller for a tab.
    */
-  getResponsiveUIForTab: function(aTab) {
+  getResponsiveUIForTab: function (aTab) {
     return ActiveTabs.get(aTab);
   },
 
   /**
    * Handle gcli commands.
    *
    * @param aWindow the browser window.
    * @param aTab the tab targeted.
    * @param aCommand the command name.
    * @param aArgs command arguments.
    */
-  handleGcliCommand: Task.async(function*(aWindow, aTab, aCommand, aArgs) {
+  handleGcliCommand: Task.async(function* (aWindow, aTab, aCommand, aArgs) {
     switch (aCommand) {
       case "resize to":
         let ui = yield this.runIfNeeded(aWindow, aTab);
         ui.setSize(aArgs.width, aArgs.height);
         break;
       case "resize on":
         this.runIfNeeded(aWindow, aTab);
         break;
@@ -120,17 +120,17 @@ var Manager = {
           yield ActiveTabs.get(aTab).close();
         }
         break;
       case "resize toggle":
         this.toggle(aWindow, aTab);
       default:
     }
   })
-}
+};
 
 EventEmitter.decorate(Manager);
 
 // If the experimental HTML UI is enabled, delegate the ResponsiveUIManager API
 // over to that tool instead.  Performing this delegation here allows us to
 // contain the pref check to a single place.
 if (Services.prefs.getBoolPref("devtools.responsive.html.enabled")) {
   let { ResponsiveUIManager } =
@@ -201,17 +201,17 @@ ResponsiveUI.prototype = {
     this._transitionsEnabled = aValue;
     if (aValue && !this._resizing && this.stack.hasAttribute("responsivemode")) {
       this.stack.removeAttribute("notransition");
     } else if (!aValue) {
       this.stack.setAttribute("notransition", "true");
     }
   },
 
-  init: Task.async(function*() {
+  init: Task.async(function* () {
     debug("INIT BEGINS");
     let ready = this.waitForMessage("ResponsiveMode:ChildScriptReady");
     this.mm.loadFrameScript("resource://devtools/client/responsivedesign/responsivedesign-child.js", true);
     yield ready;
 
     let requiresFloatingScrollbars =
       !this.mainWindow.matchMedia("(-moz-overlay-scrollbars)").matches;
     let started = this.waitForMessage("ResponsiveMode:Start:Done");
@@ -236,17 +236,17 @@ ResponsiveUI.prototype = {
     this.buildUI();
     this.checkMenus();
 
     // Rotate the responsive mode if needed
     try {
       if (Services.prefs.getBoolPref("devtools.responsiveUI.rotate")) {
         this.rotate();
       }
-    } catch(e) {}
+    } catch (e) {}
 
     // Touch events support
     this.touchEnableBefore = false;
     this.touchEventSimulator = new TouchEventSimulator(this.browser);
 
     yield this.connectToServer();
     this.userAgentInput.hidden = false;
 
@@ -258,38 +258,38 @@ ResponsiveUI.prototype = {
       anchor: this.chromeDoc.querySelector("#content")
     });
 
     // Notify that responsive mode is on.
     this._telemetry.toolOpened("responsive");
     ResponsiveUIManager.emit("on", { tab: this.tab });
   }),
 
-  connectToServer: Task.async(function*() {
+  connectToServer: Task.async(function* () {
     if (!DebuggerServer.initialized) {
       DebuggerServer.init();
       DebuggerServer.addBrowserActors();
     }
     this.client = new DebuggerClient(DebuggerServer.connectPipe());
     yield this.client.connect();
     let {tab} = yield this.client.getTab();
     let [response, tabClient] = yield this.client.attachTab(tab.actor);
     this.tabClient = tabClient;
     if (!tabClient) {
       console.error(new Error("Responsive Mode: failed to attach tab"));
     }
   }),
 
-  loadPresets: function() {
+  loadPresets: function () {
     // Try to load presets from prefs
     let presets = defaultPresets;
     if (Services.prefs.prefHasUserValue("devtools.responsiveUI.presets")) {
       try {
         presets = JSON.parse(Services.prefs.getCharPref("devtools.responsiveUI.presets"));
-      } catch(e) {
+      } catch (e) {
         // User pref is malformated.
         console.error("Could not parse pref `devtools.responsiveUI.presets`: " + e);
       }
     }
 
     this.customPreset = {key: "custom", custom: true};
 
     if (Array.isArray(presets)) {
@@ -301,31 +301,31 @@ ResponsiveUI.prototype = {
 
     try {
       let width = Services.prefs.getIntPref("devtools.responsiveUI.customWidth");
       let height = Services.prefs.getIntPref("devtools.responsiveUI.customHeight");
       this.customPreset.width = Math.min(MAX_WIDTH, width);
       this.customPreset.height = Math.min(MAX_HEIGHT, height);
 
       this.currentPresetKey = Services.prefs.getCharPref("devtools.responsiveUI.currentPreset");
-    } catch(e) {
+    } catch (e) {
       // Default size. The first preset (custom) is the one that will be used.
       let bbox = this.stack.getBoundingClientRect();
 
       this.customPreset.width = bbox.width - 40; // horizontal padding of the container
       this.customPreset.height = bbox.height - 80; // vertical padding + toolbar height
 
       this.currentPresetKey = this.presets[1].key; // most common preset
     }
   },
 
   /**
    * Destroy the nodes. Remove listeners. Reset the style.
    */
-  close: Task.async(function*() {
+  close: Task.async(function* () {
     debug("CLOSE BEGINS");
     if (this.closing) {
       debug("ALREADY CLOSING, ABORT");
       return;
     }
     this.closing = true;
 
     // If we're closing very fast (in tests), ensure init has finished.
@@ -407,17 +407,17 @@ ResponsiveUI.prototype = {
       };
       this.mm.addMessageListener(message, listener);
     });
   },
 
   /**
    * Emit an event when the content has been resized. Only used in tests.
    */
-  onContentResize: function(msg) {
+  onContentResize: function (msg) {
     ResponsiveUIManager.emit("contentResize", {
       tab: this.tab,
       width: msg.data.width,
       height: msg.data.height,
     });
   },
 
   /**
@@ -436,26 +436,26 @@ ResponsiveUI.prototype = {
         }
         break;
     }
   },
 
   /**
    * Check the menu items.
    */
-   checkMenus: function RUI_checkMenus() {
-     this.chromeDoc.getElementById("menu_responsiveUI").setAttribute("checked", "true");
-   },
+  checkMenus: function RUI_checkMenus() {
+    this.chromeDoc.getElementById("menu_responsiveUI").setAttribute("checked", "true");
+  },
 
   /**
    * Uncheck the menu items.
    */
-   unCheckMenus: function RUI_unCheckMenus() {
-     this.chromeDoc.getElementById("menu_responsiveUI").setAttribute("checked", "false");
-   },
+  unCheckMenus: function RUI_unCheckMenus() {
+    this.chromeDoc.getElementById("menu_responsiveUI").setAttribute("checked", "false");
+  },
 
   /**
    * Build the toolbar and the resizers.
    *
    * <vbox class="browserContainer"> From tabbrowser.xml
    *  <toolbar class="devtools-responsiveui-toolbar">
    *    <menulist class="devtools-responsiveui-menulist"/> // presets
    *    <toolbarbutton tabindex="0" class="devtools-responsiveui-toolbarbutton" tooltiptext="rotate"/> // rotate
@@ -553,24 +553,24 @@ ResponsiveUI.prototype = {
     let resizerTooltip = this.strings.GetStringFromName("responsiveUI.resizerTooltip");
     this.resizer = this.chromeDoc.createElement("box");
     this.resizer.className = "devtools-responsiveui-resizehandle";
     this.resizer.setAttribute("right", "0");
     this.resizer.setAttribute("bottom", "0");
     this.resizer.setAttribute("tooltiptext", resizerTooltip);
     this.resizer.onmousedown = this.bound_startResizing;
 
-    this.resizeBarV =  this.chromeDoc.createElement("box");
+    this.resizeBarV = this.chromeDoc.createElement("box");
     this.resizeBarV.className = "devtools-responsiveui-resizebarV";
     this.resizeBarV.setAttribute("top", "0");
     this.resizeBarV.setAttribute("right", "0");
     this.resizeBarV.setAttribute("tooltiptext", resizerTooltip);
     this.resizeBarV.onmousedown = this.bound_startResizing;
 
-    this.resizeBarH =  this.chromeDoc.createElement("box");
+    this.resizeBarH = this.chromeDoc.createElement("box");
     this.resizeBarH.className = "devtools-responsiveui-resizebarH";
     this.resizeBarH.setAttribute("bottom", "0");
     this.resizeBarH.setAttribute("left", "0");
     this.resizeBarH.setAttribute("tooltiptext", resizerTooltip);
     this.resizeBarH.onmousedown = this.bound_startResizing;
 
     this.container.insertBefore(this.toolbar, this.stack);
     this.stack.appendChild(this.resizer);
@@ -656,18 +656,18 @@ ResponsiveUI.prototype = {
     this.rotateValue = false;
 
     if (!selectedPreset.custom) {
       let menuitem = this.customMenuitem;
       this.currentPresetKey = this.customPreset.key;
       this.menulist.selectedItem = menuitem;
     }
 
-    let w = this.customPreset.width = parseInt(value[1],10);
-    let h = this.customPreset.height = parseInt(value[2],10);
+    let w = this.customPreset.width = parseInt(value[1], 10);
+    let h = this.customPreset.height = parseInt(value[2], 10);
 
     this.saveCustomSize();
     this.setSize(w, h);
   },
 
   /**
    * Build the presets list and append it to the menupopup.
    *
@@ -884,70 +884,70 @@ ResponsiveUI.prototype = {
     }
     mm.addMessageListener("ResponsiveMode:RequestScreenshot:Done", onScreenshot);
     mm.sendAsyncMessage("ResponsiveMode:RequestScreenshot");
   },
 
   /**
    * Enable/Disable mouse -> touch events translation.
    */
-   enableTouch: function RUI_enableTouch() {
-     this.touchbutton.setAttribute("checked", "true");
-     return this.touchEventSimulator.start();
-   },
+  enableTouch: function RUI_enableTouch() {
+    this.touchbutton.setAttribute("checked", "true");
+    return this.touchEventSimulator.start();
+  },
 
-   disableTouch: function RUI_disableTouch() {
-     this.touchbutton.removeAttribute("checked");
-     return this.touchEventSimulator.stop();
-   },
+  disableTouch: function RUI_disableTouch() {
+    this.touchbutton.removeAttribute("checked");
+    return this.touchEventSimulator.stop();
+  },
 
-   hideTouchNotification: function RUI_hideTouchNotification() {
-     let nbox = this.mainWindow.gBrowser.getNotificationBox(this.browser);
-     let n = nbox.getNotificationWithValue("responsive-ui-need-reload");
-     if (n) {
-       n.close();
-     }
-   },
+  hideTouchNotification: function RUI_hideTouchNotification() {
+    let nbox = this.mainWindow.gBrowser.getNotificationBox(this.browser);
+    let n = nbox.getNotificationWithValue("responsive-ui-need-reload");
+    if (n) {
+      n.close();
+    }
+  },
 
-   toggleTouch: Task.async(function*() {
-     this.hideTouchNotification();
-     if (this.touchEventSimulator.enabled) {
-       this.disableTouch();
-     } else {
-       let isReloadNeeded = yield this.enableTouch();
-       if (isReloadNeeded) {
-         if (Services.prefs.getBoolPref("devtools.responsiveUI.no-reload-notification")) {
-           return;
-         }
+  toggleTouch: Task.async(function* () {
+    this.hideTouchNotification();
+    if (this.touchEventSimulator.enabled) {
+      this.disableTouch();
+    } else {
+      let isReloadNeeded = yield this.enableTouch();
+      if (isReloadNeeded) {
+        if (Services.prefs.getBoolPref("devtools.responsiveUI.no-reload-notification")) {
+          return;
+        }
 
-         let nbox = this.mainWindow.gBrowser.getNotificationBox(this.browser);
+        let nbox = this.mainWindow.gBrowser.getNotificationBox(this.browser);
 
-         var buttons = [{
-           label: this.strings.GetStringFromName("responsiveUI.notificationReload"),
-           callback: () => {
-             this.browser.reload();
-           },
-           accessKey: this.strings.GetStringFromName("responsiveUI.notificationReload_accesskey"),
-         }, {
-           label: this.strings.GetStringFromName("responsiveUI.dontShowReloadNotification"),
-           callback: function() {
-             Services.prefs.setBoolPref("devtools.responsiveUI.no-reload-notification", true);
-           },
-           accessKey: this.strings.GetStringFromName("responsiveUI.dontShowReloadNotification_accesskey"),
-         }];
+        var buttons = [{
+          label: this.strings.GetStringFromName("responsiveUI.notificationReload"),
+          callback: () => {
+            this.browser.reload();
+          },
+          accessKey: this.strings.GetStringFromName("responsiveUI.notificationReload_accesskey"),
+        }, {
+          label: this.strings.GetStringFromName("responsiveUI.dontShowReloadNotification"),
+          callback: function () {
+            Services.prefs.setBoolPref("devtools.responsiveUI.no-reload-notification", true);
+          },
+          accessKey: this.strings.GetStringFromName("responsiveUI.dontShowReloadNotification_accesskey"),
+        }];
 
-         nbox.appendNotification(
+        nbox.appendNotification(
            this.strings.GetStringFromName("responsiveUI.needReload"),
            "responsive-ui-need-reload",
            null,
            nbox.PRIORITY_INFO_LOW,
            buttons);
-       }
-     }
-   }),
+      }
+    }
+  }),
 
   waitForReload() {
     let navigatedDeferred = promise.defer();
     let onNavigated = (_, { state }) => {
       if (state != "stop") {
         return;
       }
       this.client.removeListener("tabNavigated", onNavigated);
@@ -955,17 +955,17 @@ ResponsiveUI.prototype = {
     };
     this.client.addListener("tabNavigated", onNavigated);
     return navigatedDeferred.promise;
   },
 
   /**
    * Change the user agent string
    */
-  changeUA: Task.async(function*() {
+  changeUA: Task.async(function* () {
     let value = this.userAgentInput.value;
     if (value) {
       this.userAgentInput.setAttribute("attention", "true");
     } else {
       this.userAgentInput.removeAttribute("attention");
     }
 
     // Changing the UA triggers an automatic reload.  Ensure we wait for this to
@@ -1097,25 +1097,25 @@ ResponsiveUI.prototype = {
       roundedHeight = 10 * Math.floor(height / ROUND_RATIO);
       screenX += roundedWidth - width;
       screenY += roundedHeight - height;
       width = roundedWidth;
       height = roundedHeight;
     }
 
     if (width < MIN_WIDTH) {
-        width = MIN_WIDTH;
+      width = MIN_WIDTH;
     } else {
-        this.lastScreenX = screenX;
+      this.lastScreenX = screenX;
     }
 
     if (height < MIN_HEIGHT) {
-        height = MIN_HEIGHT;
+      height = MIN_HEIGHT;
     } else {
-        this.lastScreenY = screenY;
+      this.lastScreenY = screenY;
     }
 
     this.setSize(width, height);
   },
 
   /**
    * Stop End resizing
    */
@@ -1134,37 +1134,37 @@ ResponsiveUI.prototype = {
     this.ignoreY = false;
     this.ignoreX = false;
     this.isResizing = false;
   },
 
   /**
    * Store the custom size as a pref.
    */
-   saveCustomSize: function RUI_saveCustomSize() {
-     Services.prefs.setIntPref("devtools.responsiveUI.customWidth", this.customPreset.width);
-     Services.prefs.setIntPref("devtools.responsiveUI.customHeight", this.customPreset.height);
-   },
+  saveCustomSize: function RUI_saveCustomSize() {
+    Services.prefs.setIntPref("devtools.responsiveUI.customWidth", this.customPreset.width);
+    Services.prefs.setIntPref("devtools.responsiveUI.customHeight", this.customPreset.height);
+  },
 
   /**
    * Store the current preset as a pref.
    */
-   saveCurrentPreset: function RUI_saveCurrentPreset() {
-     Services.prefs.setCharPref("devtools.responsiveUI.currentPreset", this.currentPresetKey);
-     Services.prefs.setBoolPref("devtools.responsiveUI.rotate", this.rotateValue);
-   },
+  saveCurrentPreset: function RUI_saveCurrentPreset() {
+    Services.prefs.setCharPref("devtools.responsiveUI.currentPreset", this.currentPresetKey);
+    Services.prefs.setBoolPref("devtools.responsiveUI.rotate", this.rotateValue);
+  },
 
   /**
    * Store the list of all registered presets as a pref.
    */
   savePresets: function RUI_savePresets() {
     // We exclude the custom one
     let registeredPresets = this.presets.filter(function (aPreset) {
       return !aPreset.custom;
     });
 
     Services.prefs.setCharPref("devtools.responsiveUI.presets", JSON.stringify(registeredPresets));
   },
-}
+};
 
 loader.lazyGetter(ResponsiveUI.prototype, "strings", function () {
   return Services.strings.createBundle("chrome://devtools/locale/responsiveUI.properties");
 });
--- a/devtools/client/responsivedesign/test/browser_responsive_cmd.js
+++ b/devtools/client/responsivedesign/test/browser_responsive_cmd.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");
 
 function test() {
   let manager = ResponsiveUIManager;
@@ -30,17 +30,17 @@ function test() {
           input:  "resize toggle",
           hints:               "",
           markup: "VVVVVVVVVVVVV",
           status: "VALID"
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(isOpen(), "responsive mode is open");
         }),
       },
       {
         setup() {
           done = once(manager, "off");
           return helpers.setInput(options, "resize toggle");
@@ -49,17 +49,17 @@ function test() {
           input:  "resize toggle",
           hints:               "",
           markup: "VVVVVVVVVVVVV",
           status: "VALID"
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(!isOpen(), "responsive mode is closed");
         }),
       },
       {
         setup() {
           done = once(manager, "on");
           return helpers.setInput(options, "resize on");
@@ -68,17 +68,17 @@ function test() {
           input:  "resize on",
           hints:           "",
           markup: "VVVVVVVVV",
           status: "VALID"
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(isOpen(), "responsive mode is open");
         }),
       },
       {
         setup() {
           done = once(manager, "off");
           return helpers.setInput(options, "resize off");
@@ -87,17 +87,17 @@ function test() {
           input:  "resize off",
           hints:            "",
           markup: "VVVVVVVVVV",
           status: "VALID"
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(!isOpen(), "responsive mode is closed");
         }),
       },
       {
         setup() {
           done = once(manager, "on");
           return helpers.setInput(options, "resize to 400 400");
@@ -110,17 +110,17 @@ function test() {
           args: {
             width: { value: 400 },
             height: { value: 400 },
           }
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(isOpen(), "responsive mode is open");
         }),
       },
       {
         setup() {
           done = once(manager, "off");
           return helpers.setInput(options, "resize off");
@@ -129,16 +129,16 @@ function test() {
           input:  "resize off",
           hints:            "",
           markup: "VVVVVVVVVV",
           status: "VALID"
         },
         exec: {
           output: ""
         },
-        post: Task.async(function*() {
+        post: Task.async(function* () {
           yield done;
           ok(!isOpen(), "responsive mode is closed");
         }),
       },
     ]);
   }).then(finish);
 }
--- a/devtools/client/responsivedesign/test/browser_responsive_devicewidth.js
+++ b/devtools/client/responsivedesign/test/browser_responsive_devicewidth.js
@@ -1,30 +1,30 @@
 /* Any copyright is dedicated to the Public Domain.
 http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("about:logo");
   let { rdm, manager } = yield openRDM(tab);
   ok(rdm, "An instance of the RDM should be attached to the tab.");
   yield setSize(rdm, manager, 110, 500);
 
   info("Checking initial width/height properties.");
   yield doInitialChecks();
 
   info("Changing the RDM size");
   yield setSize(rdm, manager, 90, 500);
 
   info("Checking for screen props");
   yield checkScreenProps();
 
   info("Setting docShell.deviceSizeIsPageSize to false");
-  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     let docShell = content.QueryInterface(Ci.nsIInterfaceRequestor)
                           .getInterface(Ci.nsIWebNavigation)
                           .QueryInterface(Ci.nsIDocShell);
     docShell.deviceSizeIsPageSize = false;
   });
 
   info("Checking for screen props once again.");
   yield checkScreenProps2();
@@ -50,17 +50,17 @@ function* checkScreenProps() {
 function* checkScreenProps2() {
   let {matchesMedia, screen} = yield grabContentInfo();
   ok(!matchesMedia, "media query should be re-evaluated.");
   is(window.screen.width, screen.width,
      "screen.width should be the size of the screen.");
 }
 
 function grabContentInfo() {
-  return ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  return ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     return {
       screen: {
         width: content.screen.width,
         height: content.screen.height
       },
       innerWidth: content.innerWidth,
       matchesMedia: content.matchMedia("(max-device-width:100px)").matches
     };
--- a/devtools/client/responsivedesign/test/browser_responsivecomputedview.js
+++ b/devtools/client/responsivedesign/test/browser_responsivecomputedview.js
@@ -13,17 +13,17 @@ const TEST_URI = "data:text/html;charset
                  "} " +
                  "@media screen and (max-width: 200px) {" +
                  "  div { " +
                  "    width: 100px;" +
                  "  }" +
                  "};" +
                  "</style><div></div></html>";
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
 
   info("Open the responsive design mode and set its size to 500x500 to start");
   let { rdm, manager } = yield openRDM();
   yield setSize(rdm, manager, 500, 500);
 
   info("Open the inspector, computed-view and select the test node");
   let {inspector, view} = yield openComputedView();
--- a/devtools/client/responsivedesign/test/browser_responsiveruleview.js
+++ b/devtools/client/responsivedesign/test/browser_responsiveruleview.js
@@ -16,17 +16,17 @@ const TEST_URI = "data:text/html;charset
                  "} " +
                  "@media screen and (max-width: 200px) {" +
                  "  div { " +
                  "    width: 100px;" +
                  "  }" +
                  "};" +
                  "</style><div></div></html>";
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
 
   info("Open the responsive design mode and set its size to 500x500 to start");
   let { rdm, manager } = yield openRDM();
   yield setSize(rdm, manager, 500, 500);
 
   info("Open the inspector, rule-view and select the test node");
   let {inspector, view} = yield openRuleView();
--- a/devtools/client/responsivedesign/test/browser_responsiveui.js
+++ b/devtools/client/responsivedesign/test/browser_responsiveui.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("data:text/html,mop");
 
   let {rdm, manager} = yield openRDM(tab, "menu");
   let container = gBrowser.getBrowserContainer();
   is(container.getAttribute("responsivemode"), "true",
      "Should be in responsive mode.");
   is(document.getElementById("menu_responsiveUI").getAttribute("checked"),
      "true", "Menu item should be checked");
@@ -221,17 +221,17 @@ function* testScreenshot(rdm) {
     }
     info("checking if file exists in 200ms");
     yield wait(200);
   }
 }
 
 function* getSizing() {
   let browser = gBrowser.selectedBrowser;
-  let sizing = yield ContentTask.spawn(browser, {}, function*() {
+  let sizing = yield ContentTask.spawn(browser, {}, function* () {
     return {
       width: content.innerWidth,
       height: content.innerHeight
     };
   });
   return sizing;
 }
 
--- a/devtools/client/responsivedesign/test/browser_responsiveui_customuseragent.js
+++ b/devtools/client/responsivedesign/test/browser_responsiveui_customuseragent.js
@@ -4,17 +4,17 @@
 "use strict";
 
 const TEST_URI = "data:text/html, Custom User Agent test";
 const DEFAULT_UA = Cc["@mozilla.org/network/protocol;1?name=http"]
                     .getService(Ci.nsIHttpProtocolHandler)
                     .userAgent;
 const CHROME_UA = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36" +
                   " (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
 
   let {rdm, manager} = yield openRDM();
   yield testUserAgent(DEFAULT_UA);
 
   info("Setting UA to " + CHROME_UA);
   yield setUserAgent(CHROME_UA, rdm, manager);
   yield testUserAgent(CHROME_UA);
@@ -44,13 +44,13 @@ function* setUserAgent(ua, rdm, manager)
   if (ua !== "") {
     ok(input.hasAttribute("attention"), "UA input should be highlighted");
   } else {
     ok(!input.hasAttribute("attention"), "UA input shouldn't be highlighted");
   }
 }
 
 function* testUserAgent(value) {
-  let ua = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  let ua = yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     return content.navigator.userAgent;
   });
   is(ua, value, `UA should be set to ${value}`);
 }
--- a/devtools/client/responsivedesign/test/browser_responsiveui_touch.js
+++ b/devtools/client/responsivedesign/test/browser_responsiveui_touch.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const TEST_URI = "http://mochi.test:8888/browser/devtools/client/" +
                  "responsivedesign/test/touch.html";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab(TEST_URI);
   let {rdm} = yield openRDM(tab);
   yield testWithNoTouch();
   yield rdm.enableTouch();
   yield testWithTouch();
   yield rdm.disableTouch();
   yield testWithNoTouch();
   yield closeRDM(rdm);
--- a/devtools/client/responsivedesign/test/browser_responsiveuiaddcustompreset.js
+++ b/devtools/client/responsivedesign/test/browser_responsiveuiaddcustompreset.js
@@ -1,23 +1,23 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   let tab = yield addTab("data:text/html;charset=utf8,Test RDM custom presets");
 
   let { rdm, manager } = yield openRDM(tab);
 
   let oldPrompt = Services.prompt;
   Services.prompt = {
     value: "",
     returnBool: true,
-    prompt: function(parent, dialogTitle, text, value, checkMsg, checkState) {
+    prompt: function (parent, dialogTitle, text, value, checkMsg, checkState) {
       value.value = this.value;
       return this.returnBool;
     }
   };
 
   registerCleanupFunction(() => {
     Services.prompt = oldPrompt;
   });
@@ -64,23 +64,23 @@ add_task(function*() {
   let presetLabel = "456" + "\u00D7" + "123 (Testing preset)";
   let customPresetIndex = yield getPresetIndex(rdm, manager, presetLabel);
   ok(customPresetIndex >= 0, "(idx = " + customPresetIndex + ") should be the" +
                              " previously added preset in the list of items");
 
   yield setPresetIndex(rdm, manager, customPresetIndex);
 
   let browser = gBrowser.selectedBrowser;
-  yield ContentTask.spawn(browser, null, function*() {
+  yield ContentTask.spawn(browser, null, function* () {
     let {innerWidth, innerHeight} = content;
     Assert.equal(innerWidth, 456, "Selecting preset should change the width");
     Assert.equal(innerHeight, 123, "Selecting preset should change the height");
   });
 
-  info(`menulist count: ${rdm.menulist.itemCount}`)
+  info(`menulist count: ${rdm.menulist.itemCount}`);
 
   rdm.removebutton.doCommand();
 
   yield setPresetIndex(rdm, manager, 2);
   let deletedPresetA = rdm.menulist.selectedItem.getAttribute("label");
   rdm.removebutton.doCommand();
 
   yield setPresetIndex(rdm, manager, 2);
@@ -96,18 +96,18 @@ add_task(function*() {
 
   customPresetIndex = yield getPresetIndex(rdm, manager, deletedPresetB);
   is(customPresetIndex, -1,
      "Deleted preset " + deletedPresetB + " should not be in the list anymore");
 
   yield closeRDM(rdm);
 });
 
-var getPresetIndex = Task.async(function*(rdm, manager, presetLabel) {
-  var testOnePreset = Task.async(function*(c) {
+var getPresetIndex = Task.async(function* (rdm, manager, presetLabel) {
+  var testOnePreset = Task.async(function* (c) {
     if (c == 0) {
       return -1;
     }
     yield setPresetIndex(rdm, manager, c);
 
     let item = rdm.menulist.firstChild.childNodes[c];
     if (item.getAttribute("label") === presetLabel) {
       return c;
--- a/devtools/client/responsivedesign/test/head.js
+++ b/devtools/client/responsivedesign/test/head.js
@@ -27,17 +27,17 @@ SimpleTest.requestCompleteLog();
 const { ResponsiveUIManager } = Cu.import("resource://devtools/client/responsivedesign/responsivedesign.jsm", {});
 
 /**
  * Open the Responsive Design Mode
  * @param {Tab} The browser tab to open it into (defaults to the selected tab).
  * @param {method} The method to use to open the RDM (values: menu, keyboard)
  * @return {rdm, manager} Returns the RUI instance and the manager
  */
-var openRDM = Task.async(function*(tab = gBrowser.selectedTab,
+var openRDM = Task.async(function* (tab = gBrowser.selectedTab,
                                    method = "menu") {
   let manager = ResponsiveUIManager;
 
   let opened = once(manager, "on");
   let resized = once(manager, "contentResize");
   if (method == "menu") {
     document.getElementById("menu_responsiveUI").doCommand();
   } else {
@@ -57,33 +57,33 @@ var openRDM = Task.async(function*(tab =
 
   return {rdm, manager};
 });
 
 /**
  * Close a responsive mode instance
  * @param {rdm} ResponsiveUI instance for the tab
  */
-var closeRDM = Task.async(function*(rdm) {
+var closeRDM = Task.async(function* (rdm) {
   let manager = ResponsiveUIManager;
   if (!rdm) {
     rdm = manager.getResponsiveUIForTab(gBrowser.selectedTab);
   }
   let closed = once(manager, "off");
   let resized = once(manager, "contentResize");
   rdm.close();
   yield resized;
   yield closed;
 });
 
 /**
  * Open the toolbox, with the inspector tool visible.
  * @return a promise that resolves when the inspector is ready
  */
-var openInspector = Task.async(function*() {
+var openInspector = Task.async(function* () {
   info("Opening the inspector");
   let target = TargetFactory.forTab(gBrowser.selectedTab);
 
   let inspector, toolbox;
 
   // Checking if the toolbox and the inspector are already loaded
   // The inspector-updated event should only be waited for if the inspector
   // isn't loaded yet
@@ -110,17 +110,17 @@ var openInspector = Task.async(function*
   }
 
   return {
     toolbox: toolbox,
     inspector: inspector
   };
 });
 
-var closeToolbox = Task.async(function*() {
+var closeToolbox = Task.async(function* () {
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   yield gDevTools.closeToolbox(target);
 });
 
 /**
  * Wait for the toolbox frame to receive focus after it loads
  * @param {Toolbox} toolbox
  * @return a promise that resolves when focus has been received
@@ -133,17 +133,17 @@ function waitForToolboxFrameFocus(toolbo
 }
 
 /**
  * Open the toolbox, with the inspector tool visible, and the sidebar that
  * corresponds to the given id selected
  * @return a promise that resolves when the inspector is ready and the sidebar
  * view is visible and ready
  */
-var openInspectorSideBar = Task.async(function*(id) {
+var openInspectorSideBar = Task.async(function* (id) {
   let {toolbox, inspector} = yield openInspector();
 
   info("Selecting the " + id + " sidebar");
   inspector.sidebar.select(id);
 
   return {
     toolbox: toolbox,
     inspector: inspector,
@@ -210,17 +210,17 @@ function wait(ms) {
 /**
  * Waits for the next load to complete in the current browser.
  *
  * @return promise
  */
 function waitForDocLoadComplete(aBrowser = gBrowser) {
   let deferred = promise.defer();
   let progressListener = {
-    onStateChange: function(webProgress, req, flags, status) {
+    onStateChange: function (webProgress, req, flags, status) {
       let docStop = Ci.nsIWebProgressListener.STATE_IS_NETWORK |
                     Ci.nsIWebProgressListener.STATE_STOP;
       info(`Saw state ${flags.toString(16)} and status ${status.toString(16)}`);
 
       // When a load needs to be retargetted to a new process it is cancelled
       // with NS_BINDING_ABORTED so ignore that case
       if ((flags & docStop) == docStop && status != Cr.NS_BINDING_ABORTED) {
         aBrowser.removeProgressListener(progressListener);
@@ -256,17 +256,17 @@ function getNodeFront(selector, {walker}
  * selector
  * @param {String|NodeFront} selector
  * @param {InspectorPanel} inspector The instance of InspectorPanel currently
  * loaded in the toolbox
  * @param {String} reason Defaults to "test" which instructs the inspector not
  * to highlight the node upon selection
  * @return {Promise} Resolves when the inspector is updated with the new node
  */
-var selectNode = Task.async(function*(selector, inspector, reason = "test") {
+var selectNode = Task.async(function* (selector, inspector, reason = "test") {
   info("Selecting the node for '" + selector + "'");
   let nodeFront = yield getNodeFront(selector, inspector);
   let updated = inspector.once("inspector-updated");
   inspector.selection.setNodeFront(nodeFront, reason);
   yield updated;
 });
 
 function waitForResizeTo(manager, width, height) {
@@ -279,26 +279,26 @@ function waitForResizeTo(manager, width,
       info(`Got contentResize to ${width} x ${height}`);
       resolve();
     };
     info(`Waiting for contentResize to ${width} x ${height}`);
     manager.on("contentResize", onResize);
   });
 }
 
-var setPresetIndex = Task.async(function*(rdm, manager, index) {
+var setPresetIndex = Task.async(function* (rdm, manager, index) {
   info(`Current preset: ${rdm.menulist.selectedIndex}, change to: ${index}`);
   if (rdm.menulist.selectedIndex != index) {
     let resized = once(manager, "contentResize");
     rdm.menulist.selectedIndex = index;
     yield resized;
   }
 });
 
-var setSize = Task.async(function*(rdm, manager, width, height) {
+var setSize = Task.async(function* (rdm, manager, width, height) {
   let size = rdm.getSize();
   info(`Current size: ${size.width} x ${size.height}, ` +
        `set to: ${width} x ${height}`);
   if (size.width != width || size.height != height) {
     let resized = waitForResizeTo(manager, width, height);
     rdm.setSize(width, height);
     yield resized;
   }
--- a/devtools/client/scratchpad/scratchpad-commands.js
+++ b/devtools/client/scratchpad/scratchpad-commands.js
@@ -10,13 +10,13 @@ const {Cu} = require("chrome");
 exports.items = [{
   item: "command",
   runAt: "client",
   name: "scratchpad",
   buttonId: "command-button-scratchpad",
   buttonClass: "command-button command-button-invertable",
   tooltipText: l10n.lookup("scratchpadOpenTooltip"),
   hidden: true,
-  exec: function(args, context) {
+  exec: function (args, context) {
     const {ScratchpadManager} = Cu.import("resource://devtools/client/scratchpad/scratchpad-manager.jsm", {});
     ScratchpadManager.openScratchpad();
   }
 }];
--- a/devtools/client/scratchpad/scratchpad-manager.jsm
+++ b/devtools/client/scratchpad/scratchpad-manager.jsm
@@ -55,17 +55,17 @@ this.ScratchpadManager = {
    */
   restoreSession: function SPM_restoreSession(aSession)
   {
     if (!Array.isArray(aSession)) {
       return [];
     }
 
     let wins = [];
-    aSession.forEach(function(state) {
+    aSession.forEach(function (state) {
       let win = this.openScratchpad(state);
       wins.push(win);
     }, this);
 
     return wins;
   },
 
   /**
@@ -115,17 +115,17 @@ this.ScratchpadManager = {
   {
     let params = Cc["@mozilla.org/embedcomp/dialogparam;1"]
                  .createInstance(Ci.nsIDialogParamBlock);
 
     params.SetNumberStrings(2);
     params.SetString(0, this.createUid());
 
     if (aState) {
-      if (typeof aState != 'object') {
+      if (typeof aState != "object") {
         return;
       }
 
       params.SetString(1, JSON.stringify(aState));
     }
 
     let win = Services.ww.openWindow(null, SCRATCHPAD_WINDOW_URL, "_blank",
                                      SCRATCHPAD_WINDOW_FEATURES, params);
--- a/devtools/client/scratchpad/scratchpad-panel.js
+++ b/devtools/client/scratchpad/scratchpad-panel.js
@@ -17,40 +17,40 @@ function ScratchpadPanel(iframeWindow, t
   this.scratchpad = Scratchpad;
 
   Scratchpad.target = this.target;
   Scratchpad.hideMenu();
 
   let deferred = promise.defer();
   this._readyObserver = deferred.promise;
   Scratchpad.addObserver({
-    onReady: function() {
+    onReady: function () {
       Scratchpad.removeObserver(this);
       deferred.resolve();
     }
   });
 
   EventEmitter.decorate(this);
 }
 exports.ScratchpadPanel = ScratchpadPanel;
 
 ScratchpadPanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor. For the ScratchpadPanel,
    * by the time this is called, the Scratchpad will already be ready.
    */
-  open: function() {
+  open: function () {
     return this._readyObserver.then(() => {
       this.isReady = true;
       this.emit("ready");
       return this;
     });
   },
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.emit("destroyed");
     return promise.resolve();
   }
 };
--- a/devtools/client/scratchpad/scratchpad.js
+++ b/devtools/client/scratchpad/scratchpad.js
@@ -15,21 +15,21 @@
 "use strict";
 
 var Cu = Components.utils;
 var Cc = Components.classes;
 var Ci = Components.interfaces;
 
 const SCRATCHPAD_CONTEXT_CONTENT = 1;
 const SCRATCHPAD_CONTEXT_BROWSER = 2;
-const BUTTON_POSITION_SAVE       = 0;
-const BUTTON_POSITION_CANCEL     = 1;
-const BUTTON_POSITION_DONT_SAVE  = 2;
-const BUTTON_POSITION_REVERT     = 0;
-const EVAL_FUNCTION_TIMEOUT      = 1000; // milliseconds
+const BUTTON_POSITION_SAVE = 0;
+const BUTTON_POSITION_CANCEL = 1;
+const BUTTON_POSITION_DONT_SAVE = 2;
+const BUTTON_POSITION_REVERT = 0;
+const EVAL_FUNCTION_TIMEOUT = 1000; // milliseconds
 
 const MAXIMUM_FONT_SIZE = 96;
 const MINIMUM_FONT_SIZE = 6;
 const NORMAL_FONT_SIZE = 12;
 
 const SCRATCHPAD_L10N = "chrome://devtools/locale/scratchpad.properties";
 const DEVTOOLS_CHROME_ENABLED = "devtools.chrome.enabled";
 const PREF_RECENT_FILES_MAX = "devtools.scratchpad.recentFilesMax";
@@ -40,17 +40,17 @@ const EDITOR_FONT_SIZE = "devtools.scrat
 const ENABLE_AUTOCOMPLETION = "devtools.scratchpad.enableAutocompletion";
 const TAB_SIZE = "devtools.editor.tabsize";
 const FALLBACK_CHARSET_LIST = "intl.fallbackCharsetList.ISO-8859-1";
 
 const VARIABLES_VIEW_URL = "chrome://devtools/content/shared/widgets/VariablesView.xul";
 
 const {require, loader} = Cu.import("resource://devtools/shared/Loader.jsm", {});
 
-const Editor    = require("devtools/client/sourceeditor/editor");
+const Editor = require("devtools/client/sourceeditor/editor");
 const TargetFactory = require("devtools/client/framework/target").TargetFactory;
 const EventEmitter = require("devtools/shared/event-emitter");
 const {DevToolsWorker} = require("devtools/shared/worker/worker");
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 const promise = require("promise");
 const Services = require("Services");
 const {gDevTools} = require("devtools/client/framework/devtools");
 const {Heritage} = require("devtools/client/shared/widgets/view-helpers");
@@ -103,17 +103,17 @@ var Scratchpad = {
 
   /**
    * Check if provided string is a mode-line and, if it is, return an
    * object with its values.
    *
    * @param string aLine
    * @return string
    */
-  _scanModeLine: function SP__scanModeLine(aLine="")
+  _scanModeLine: function SP__scanModeLine(aLine = "")
   {
     aLine = aLine.trim();
 
     let obj = {};
     let ch1 = aLine.charAt(0);
     let ch2 = aLine.charAt(1);
 
     if (ch1 !== "/" || (ch2 !== "*" && ch2 !== "/")) {
@@ -135,43 +135,43 @@ var Scratchpad = {
 
     return obj;
   },
 
   /**
    * Add the event listeners for popupshowing events.
    */
   _setupPopupShowingListeners: function SP_setupPopupShowing() {
-    let elementIDs = ['sp-menu_editpopup', 'scratchpad-text-popup'];
+    let elementIDs = ["sp-menu_editpopup", "scratchpad-text-popup"];
 
     for (let elementID of elementIDs) {
       let elem = document.getElementById(elementID);
       if (elem) {
         elem.addEventListener("popupshowing", function () {
           goUpdateGlobalEditMenuItems();
-          let commands = ['cmd_undo', 'cmd_redo', 'cmd_delete', 'cmd_findAgain'];
+          let commands = ["cmd_undo", "cmd_redo", "cmd_delete", "cmd_findAgain"];
           commands.forEach(goUpdateCommand);
         });
       }
     }
   },
 
   /**
    * Add the event event listeners for command events.
    */
   _setupCommandListeners: function SP_setupCommands() {
     let commands = {
       "cmd_find": () => {
-        goDoCommand('cmd_find');
+        goDoCommand("cmd_find");
       },
       "cmd_findAgain": () => {
-        goDoCommand('cmd_findAgain');
+        goDoCommand("cmd_findAgain");
       },
       "cmd_gotoLine": () => {
-        goDoCommand('cmd_gotoLine');
+        goDoCommand("cmd_gotoLine");
       },
       "sp-cmd-newWindow": () => {
         Scratchpad.openScratchpad();
       },
       "sp-cmd-openFile": () => {
         Scratchpad.openFile();
       },
       "sp-cmd-clearRecentFiles": () => {
@@ -221,34 +221,34 @@ var Scratchpad = {
       },
       "sp-cmd-documentationLink": () => {
         Scratchpad.openDocumentationPage();
       },
       "sp-cmd-hideSidebar": () => {
         Scratchpad.sidebar.hide();
       },
       "sp-cmd-line-numbers": () => {
-        Scratchpad.toggleEditorOption('lineNumbers', SHOW_LINE_NUMBERS);
+        Scratchpad.toggleEditorOption("lineNumbers", SHOW_LINE_NUMBERS);
       },
       "sp-cmd-wrap-text": () => {
-        Scratchpad.toggleEditorOption('lineWrapping', WRAP_TEXT);
+        Scratchpad.toggleEditorOption("lineWrapping", WRAP_TEXT);
       },
       "sp-cmd-highlight-trailing-space": () => {
-        Scratchpad.toggleEditorOption('showTrailingSpace', SHOW_TRAILING_SPACE);
+        Scratchpad.toggleEditorOption("showTrailingSpace", SHOW_TRAILING_SPACE);
       },
       "sp-cmd-larger-font": () => {
         Scratchpad.increaseFontSize();
       },
       "sp-cmd-smaller-font": () => {
         Scratchpad.decreaseFontSize();
       },
       "sp-cmd-normal-font": () => {
         Scratchpad.normalFontSize();
       },
-    }
+    };
 
     for (let command in commands) {
       let elem = document.getElementById(command);
       if (elem) {
         elem.addEventListener("command", commands[command]);
       }
     }
   },
@@ -265,29 +265,29 @@ var Scratchpad = {
   },
 
   /**
    * Check or uncheck view menu item according to stored preferences.
    */
   _updateViewMenuItem: function SP_updateViewMenuItem(preferenceName, menuId) {
     let checked = Services.prefs.getBoolPref(preferenceName);
     if (checked) {
-        document.getElementById(menuId).setAttribute('checked', true);
+      document.getElementById(menuId).setAttribute("checked", true);
     } else {
-        document.getElementById(menuId).removeAttribute('checked');
+      document.getElementById(menuId).removeAttribute("checked");
     }
   },
 
   /**
    * Disable view menu item if the stored font size is equals to the given one.
    */
   _updateViewFontMenuItem: function SP_updateViewFontMenuItem(fontSize, commandId) {
     let prefFontSize = Services.prefs.getIntPref(EDITOR_FONT_SIZE);
     if (prefFontSize === fontSize) {
-      document.getElementById(commandId).setAttribute('disabled', true);
+      document.getElementById(commandId).setAttribute("disabled", true);
     }
   },
 
   /**
    * The script execution context. This tells Scratchpad in which context the
    * script shall execute.
    *
    * Possible values:
@@ -518,17 +518,17 @@ var Scratchpad = {
         }
         else {
           deferred.resolve([aString, undefined, aResponse.result]);
         }
       }, evalOptions);
 
       return deferred.promise;
     });
-   },
+  },
 
   /**
    * Execute the selected text (if any) or the entire editor content in the
    * current context.
    *
    * @return Promise
    *         The promise for the script evaluation result.
    */
@@ -665,17 +665,17 @@ var Scratchpad = {
 
   /**
    * Get or create the worker that handles pretty printing.
    */
   get prettyPrintWorker() {
     if (!this._prettyPrintWorker) {
       this._prettyPrintWorker = new DevToolsWorker(
         "resource://devtools/server/actors/pretty-print-worker.js",
-        { name: 'pretty-print',
+        { name: "pretty-print",
           verbose: DevToolsUtils.dumpn.wantLogging }
       );
     }
     return this._prettyPrintWorker;
   },
 
   /**
    * Pretty print the source text inside the scratchpad.
@@ -747,34 +747,34 @@ var Scratchpad = {
   /**
    * Find the top level function AST node that the cursor is within.
    *
    * @returns Object|null
    */
   _findTopLevelFunction: function SP__findTopLevelFunction(aAst, aCursorPos) {
     for (let statement of aAst.body) {
       switch (statement.type) {
-      case "FunctionDeclaration":
-        if (this._containsCursor(statement.loc, aCursorPos)) {
-          return statement;
-        }
-        break;
+        case "FunctionDeclaration":
+          if (this._containsCursor(statement.loc, aCursorPos)) {
+            return statement;
+          }
+          break;
 
-      case "VariableDeclaration":
-        for (let decl of statement.declarations) {
-          if (!decl.init) {
-            continue;
-          }
-          if ((decl.init.type == "FunctionExpression"
+        case "VariableDeclaration":
+          for (let decl of statement.declarations) {
+            if (!decl.init) {
+              continue;
+            }
+            if ((decl.init.type == "FunctionExpression"
                || decl.init.type == "ArrowFunctionExpression")
               && this._containsCursor(decl.loc, aCursorPos)) {
-            return decl;
+              return decl;
+            }
           }
-        }
-        break;
+          break;
       }
     }
 
     return null;
   },
 
   /**
    * Get the source text associated with the given function statement.
@@ -1072,17 +1072,17 @@ var Scratchpad = {
     if (!aNoConfirmation && aFile.exists() &&
         !window.confirm(this.strings.
                         GetStringFromName("export.fileOverwriteConfirmation"))) {
       return;
     }
 
     let encoder = new TextEncoder();
     let buffer = encoder.encode(this.getText());
-    let writePromise = OS.File.writeAtomic(aFile.path, buffer,{tmpPath: aFile.path + ".tmp"});
+    let writePromise = OS.File.writeAtomic(aFile.path, buffer, {tmpPath: aFile.path + ".tmp"});
     writePromise.then(value => {
       if (aCallback) {
         aCallback.call(this, Components.results.NS_OK);
       }
     }, reason => {
       if (!aSilentError) {
         window.alert(this.strings.GetStringFromName("saveFile.failed"));
       }
@@ -1095,50 +1095,50 @@ var Scratchpad = {
 
   /**
    * Get a list of applicable charsets.
    * The best charset, defaulting to "UTF-8"
    *
    * @param string aBestCharset
    * @return array of strings
    */
-  _getApplicableCharsets: function SP__getApplicableCharsets(aBestCharset="UTF-8") {
+  _getApplicableCharsets: function SP__getApplicableCharsets(aBestCharset = "UTF-8") {
     let charsets = Services.prefs.getCharPref(
       FALLBACK_CHARSET_LIST).split(",").filter(function (value) {
-      return value.length;
-    });
+        return value.length;
+      });
     charsets.unshift(aBestCharset);
     return charsets;
   },
 
   /**
    * Get content converted to unicode, using a list of input charset to try.
    *
    * @param string aContent
    * @param array of string aCharsetArray
    * @return string
    */
   _getUnicodeContent: function SP__getUnicodeContent(aContent, aCharsetArray) {
     let content = null,
-        converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter),
-        success = aCharsetArray.some(charset => {
-          try {
-            converter.charset = charset;
-            content = converter.ConvertToUnicode(aContent);
-            return true;
-          } catch (e) {
-            this.notificationBox.appendNotification(
+      converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter),
+      success = aCharsetArray.some(charset => {
+        try {
+          converter.charset = charset;
+          content = converter.ConvertToUnicode(aContent);
+          return true;
+        } catch (e) {
+          this.notificationBox.appendNotification(
               this.strings.formatStringFromName("importFromFile.convert.failed",
                                                 [ charset ], 1),
               "file-import-convert-failed",
               null,
               this.notificationBox.PRIORITY_WARNING_HIGH,
               null);
-          }
-        });
+        }
+      });
     return content;
   },
 
   /**
    * Read the content of a file and put it into the textbox.
    *
    * @param nsILocalFile aFile
    *        The file you want to save the textbox content into.
@@ -1728,17 +1728,17 @@ var Scratchpad = {
 
       this.editor.on("change", this._onChanged);
       // Keep a reference to the bound version for use in onUnload.
       this.updateStatusBar = Scratchpad.updateStatusBar.bind(this);
       this.editor.on("cursorActivity", this.updateStatusBar);
       let okstring = this.strings.GetStringFromName("selfxss.okstring");
       let msg = this.strings.formatStringFromName("selfxss.msg", [okstring], 1);
       this._onPaste = WebConsoleUtils.pasteHandlerGen(this.editor.container.contentDocument.body,
-                                                      document.querySelector('#scratchpad-notificationbox'),
+                                                      document.querySelector("#scratchpad-notificationbox"),
                                                       msg, okstring);
       editorElement.addEventListener("paste", this._onPaste, true);
       editorElement.addEventListener("drop", this._onPaste);
       this.editor.on("saveRequested", () => this.saveFile());
       this.editor.focus();
       this.editor.setCursor({ line: lines.length, ch: lines.pop().length });
 
       if (state)
@@ -1907,17 +1907,17 @@ var Scratchpad = {
    * @param function aCallback
    *        Optional function you want to call when file is saved
    */
   close: function SP_close(aCallback)
   {
     let shouldClose;
 
     this.promptSave((aShouldClose, aSaved, aStatus) => {
-       shouldClose = aShouldClose;
+      shouldClose = aShouldClose;
       if (aSaved && !Components.isSuccessCode(aStatus)) {
         shouldClose = false;
       }
 
       if (shouldClose) {
         window.close();
       }
 
@@ -1947,53 +1947,53 @@ var Scratchpad = {
     let size = this.editor.getFontSize();
 
     if (size < MAXIMUM_FONT_SIZE) {
       let newFontSize = size + 1;
       this.editor.setFontSize(newFontSize);
       Services.prefs.setIntPref(EDITOR_FONT_SIZE, newFontSize);
 
       if (newFontSize === MAXIMUM_FONT_SIZE) {
-        document.getElementById("sp-cmd-larger-font").setAttribute('disabled', true);
+        document.getElementById("sp-cmd-larger-font").setAttribute("disabled", true);
       }
 
-      document.getElementById("sp-cmd-smaller-font").removeAttribute('disabled');
+      document.getElementById("sp-cmd-smaller-font").removeAttribute("disabled");
     }
   },
 
   /**
    * Decrease the editor's font size by 1 px.
    */
   decreaseFontSize: function SP_decreaseFontSize()
   {
     let size = this.editor.getFontSize();
 
     if (size > MINIMUM_FONT_SIZE) {
       let newFontSize = size - 1;
       this.editor.setFontSize(newFontSize);
       Services.prefs.setIntPref(EDITOR_FONT_SIZE, newFontSize);
 
       if (newFontSize === MINIMUM_FONT_SIZE) {
-        document.getElementById("sp-cmd-smaller-font").setAttribute('disabled', true);
+        document.getElementById("sp-cmd-smaller-font").setAttribute("disabled", true);
       }
     }
 
-    document.getElementById("sp-cmd-larger-font").removeAttribute('disabled');
+    document.getElementById("sp-cmd-larger-font").removeAttribute("disabled");
   },
 
   /**
    * Restore the editor's original font size.
    */
   normalFontSize: function SP_normalFontSize()
   {
     this.editor.setFontSize(NORMAL_FONT_SIZE);
     Services.prefs.setIntPref(EDITOR_FONT_SIZE, NORMAL_FONT_SIZE);
 
-    document.getElementById("sp-cmd-larger-font").removeAttribute('disabled');
-    document.getElementById("sp-cmd-smaller-font").removeAttribute('disabled');
+    document.getElementById("sp-cmd-larger-font").removeAttribute("disabled");
+    document.getElementById("sp-cmd-smaller-font").removeAttribute("disabled");
   },
 
   _observers: [],
 
   /**
    * Add an observer for Scratchpad events.
    *
    * The observer implements IScratchpadObserver := {
@@ -2419,17 +2419,17 @@ var PreferenceObserver = {
     if (aData == "recentFilesMax") {
       Scratchpad.handleRecentFileMaxChange();
     }
     else if (aData == "recentFilePaths") {
       Scratchpad.populateRecentFilesMenu();
     }
   },
 
-  uninit: function PO_uninit () {
+  uninit: function PO_uninit() {
     if (!this.branch) {
       return;
     }
 
     this.branch.removeObserver("", this);
     this.branch = null;
   }
 };
--- a/devtools/client/scratchpad/test/browser_scratchpad_autocomplete.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_autocomplete.js
@@ -24,17 +24,17 @@ function* runTests([win, sp]) {
   sp.setText(source);
   sp.editor.setCursor({ line: 0, ch: source.length });
   yield keyOnce("suggestion-entered", " ", { ctrlKey: true });
 
   // Get the hints popup container.
   const hints = editorWin.document.querySelector(".CodeMirror-hints");
 
   ok(hints,
-     "The hint container should exist.")
+     "The hint container should exist.");
   is(hints.childNodes.length, 3,
      "The hint container should have the completions.");
 
   let i = 0;
   for (let completion of completions) {
     let active = hints.querySelector(".CodeMirror-hint-active");
     is(active.textContent, completion,
        "Check that completion " + i++ + " is what is expected.");
--- a/devtools/client/scratchpad/test/browser_scratchpad_browser_last_window_closing.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_browser_last_window_closing.js
@@ -1,14 +1,14 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-const BUTTON_POSITION_CANCEL     = 1;
-const BUTTON_POSITION_DONT_SAVE  = 2;
+const BUTTON_POSITION_CANCEL = 1;
+const BUTTON_POSITION_DONT_SAVE = 2;
 
 
 function test()
 {
   waitForExplicitFinish();
 
   // Observer must be attached *before* Scratchpad is opened.
   CloseObserver.init();
@@ -54,26 +54,26 @@ function runTests({ Scratchpad })
   Services.prompt = oldPrompt;
   CloseObserver.uninit();
   finish();
 }
 
 
 var CloseObserver = {
   expectedValue: null,
-  init: function()
+  init: function ()
   {
     Services.obs.addObserver(this, "browser-lastwindow-close-requested", false);
   },
 
-  observe: function(aSubject)
+  observe: function (aSubject)
   {
     aSubject.QueryInterface(Ci.nsISupportsPRBool);
     let message = this.expectedValue ? "close" : "stay open";
     ok(this.expectedValue === aSubject.data, "Expected browser to " + message);
     aSubject.data = true;
   },
 
-  uninit: function()
+  uninit: function ()
   {
     Services.obs.removeObserver(this, "browser-lastwindow-close-requested", false);
   },
 };
--- a/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
@@ -15,24 +15,24 @@ function test() {
     .then(Task.async(runTests))
     .then(finish, console.error);
 }
 
 function* runTests([win, sp]) {
   // Use the scratchpad before opening the toolbox.
   const source = "window.foobar = 7;";
   sp.setText(source);
-  let [,,result] = yield sp.display();
+  let [,, result] = yield sp.display();
   is(result, 7, "Display produced the expected output.");
 
   // Now open the toolbox and close it again.
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "webconsole");
   ok(toolbox, "Toolbox was opened.");
   let closed = yield gDevTools.closeToolbox(target);
   is(closed, true, "Toolbox was closed.");
 
   // Now see if using the scratcphad works as expected.
   sp.setText(source);
-  let [,,result2] = yield sp.display();
+  let [,, result2] = yield sp.display();
   is(result2, 7,
      "Display produced the expected output after the toolbox was gone.");
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_confirm_close.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_confirm_close.js
@@ -28,45 +28,45 @@ var promptButton = -1;
 function test()
 {
   waitForExplicitFinish();
 
   gFile = createTempFile("fileForBug653427.tmp");
   writeFile(gFile, "text", testUnsaved.call(this));
 
   Services.prompt = {
-    confirmEx: function() {
+    confirmEx: function () {
       return promptButton;
     }
   };
 
   testNew();
   testSavedFile();
 
   gBrowser.selectedTab = gBrowser.addTab();
   content.location = "data:text/html,<p>test scratchpad save file prompt on closing";
 }
 
 function testNew()
 {
-  openScratchpad(function(win) {
-    win.Scratchpad.close(function() {
-      ok(win.closed, "new scratchpad window should close without prompting")
+  openScratchpad(function (win) {
+    win.Scratchpad.close(function () {
+      ok(win.closed, "new scratchpad window should close without prompting");
       done();
     });
   }, {noFocus: true});
 }
 
 function testSavedFile()
 {
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     win.Scratchpad.filename = "test.js";
     win.Scratchpad.editor.dirty = false;
-    win.Scratchpad.close(function() {
-      ok(win.closed, "scratchpad from file with no changes should close")
+    win.Scratchpad.close(function () {
+      ok(win.closed, "scratchpad from file with no changes should close");
       done();
     });
   }, {noFocus: true});
 }
 
 function testUnsaved()
 {
   function setFilename(aScratchpad, aFile) {
@@ -96,91 +96,91 @@ function testUnsaved()
 
   // Run these tests again but this time without setting a filename to
   // test that Scratchpad always asks for confirmation on dirty editor.
   testUnsavedFileCancel(mockSaveFile);
   testUnsavedFileSave(mockSaveFile);
   testUnsavedFileDontSave();
 }
 
-function testUnsavedFileCancel(aCallback=function () {})
+function testUnsavedFileCancel(aCallback = function () {})
 {
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     aCallback(win.Scratchpad, "test.js");
     win.Scratchpad.editor.dirty = true;
 
     promptButton = win.BUTTON_POSITION_CANCEL;
 
-    win.Scratchpad.close(function() {
+    win.Scratchpad.close(function () {
       ok(!win.closed, "cancelling dialog shouldn't close scratchpad");
       win.close();
       done();
     });
   }, {noFocus: true});
 }
 
 // Test a regression where our confirmation dialog wasn't appearing
 // after openFile calls. See bug 801982.
 function testCancelAfterLoad()
 {
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     win.Scratchpad.setRecentFile(gFile);
     win.Scratchpad.openFile(0);
     win.Scratchpad.editor.dirty = true;
     promptButton = win.BUTTON_POSITION_CANCEL;
 
     let EventStub = {
       called: false,
-      preventDefault: function() {
+      preventDefault: function () {
         EventStub.called = true;
       }
     };
 
-    win.Scratchpad.onClose(EventStub, function() {
+    win.Scratchpad.onClose(EventStub, function () {
       ok(!win.closed, "cancelling dialog shouldn't close scratchpad");
       ok(EventStub.called, "aEvent.preventDefault was called");
 
       win.Scratchpad.editor.dirty = false;
       win.close();
       done();
     });
   }, {noFocus: true});
 }
 
-function testUnsavedFileSave(aCallback=function () {})
+function testUnsavedFileSave(aCallback = function () {})
 {
-  openScratchpad(function(win) {
-    win.Scratchpad.importFromFile(gFile, true, function(status, content) {
+  openScratchpad(function (win) {
+    win.Scratchpad.importFromFile(gFile, true, function (status, content) {
       aCallback(win.Scratchpad, gFile.path);
 
       let text = "new text";
       win.Scratchpad.setText(text);
 
       promptButton = win.BUTTON_POSITION_SAVE;
 
-      win.Scratchpad.close(function() {
+      win.Scratchpad.close(function () {
         ok(win.closed, 'pressing "Save" in dialog should close scratchpad');
-        readFile(gFile, function(savedContent) {
+        readFile(gFile, function (savedContent) {
           is(savedContent, text, 'prompted "Save" worked when closing scratchpad');
           done();
         });
       });
     });
   }, {noFocus: true});
 }
 
-function testUnsavedFileDontSave(aCallback=function () {})
+function testUnsavedFileDontSave(aCallback = function () {})
 {
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     aCallback(win.Scratchpad, gFile.path);
     win.Scratchpad.editor.dirty = true;
 
     promptButton = win.BUTTON_POSITION_DONT_SAVE;
 
-    win.Scratchpad.close(function() {
+    win.Scratchpad.close(function () {
       ok(win.closed, 'pressing "Don\'t Save" in dialog should close scratchpad');
       done();
     });
   }, {noFocus: true});
 }
 
 function cleanup()
 {
@@ -188,17 +188,17 @@ function cleanup()
   gFile.remove(false);
   gFile = null;
 }
 
 function createTempFile(name)
 {
   let file = FileUtils.getFile("TmpD", [name]);
   file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o666);
-  file.QueryInterface(Ci.nsILocalFile)
+  file.QueryInterface(Ci.nsILocalFile);
   return file;
 }
 
 function writeFile(file, content, callback)
 {
   let fout = Cc["@mozilla.org/network/file-output-stream;1"].
              createInstance(Ci.nsIFileOutputStream);
   fout.init(file.QueryInterface(Ci.nsILocalFile), 0x02 | 0x08 | 0x20,
@@ -214,17 +214,17 @@ function writeFile(file, content, callba
 
 function readFile(file, callback)
 {
   let channel = NetUtil.newChannel({
     uri: NetUtil.newURI(file),
     loadUsingSystemPrincipal: true});
   channel.contentType = "application/javascript";
 
-  NetUtil.asyncFetch(channel, function(inputStream, status) {
+  NetUtil.asyncFetch(channel, function (inputStream, status) {
     ok(Components.isSuccessCode(status),
        "file was read successfully");
 
     let content = NetUtil.readInputStreamToString(inputStream,
                                                   inputStream.available());
     callback(content);
   });
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_contexts.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_contexts.js
@@ -22,45 +22,45 @@ function runTests() {
   let notificationBox = sp.notificationBox;
 
   ok(contentMenu, "found #sp-menu-content");
   ok(chromeMenu, "found #sp-menu-browser");
   ok(notificationBox, "found Scratchpad.notificationBox");
 
   let tests = [{
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.setContentContext();
 
       is(sp.executionContext, gScratchpadWindow.SCRATCHPAD_CONTEXT_CONTENT,
          "executionContext is content");
 
       is(contentMenu.getAttribute("checked"), "true",
          "content menuitem is checked");
 
       isnot(chromeMenu.getAttribute("checked"), "true",
          "chrome menuitem is not checked");
 
       ok(!notificationBox.currentNotification,
          "there is no notification in content context");
 
       sp.editor.setText("window.foobarBug636725 = 'aloha';");
 
-      let pageResult = yield inContent(function*() {
+      let pageResult = yield inContent(function* () {
         return content.wrappedJSObject.foobarBug636725;
       });
       ok(!pageResult, "no content.foobarBug636725");
     },
-    then: function*() {
+    then: function* () {
       is(content.wrappedJSObject.foobarBug636725, "aloha",
          "content.foobarBug636725 has been set");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.setBrowserContext();
 
       is(sp.executionContext, gScratchpadWindow.SCRATCHPAD_CONTEXT_BROWSER,
          "executionContext is chrome");
 
       is(chromeMenu.getAttribute("checked"), "true",
          "chrome menuitem is checked");
 
@@ -71,75 +71,75 @@ function runTests() {
          "there is a notification in browser context");
 
       let [ from, to ] = sp.editor.getPosition(31, 32);
       sp.editor.replaceText("2'", from, to);
 
       is(sp.getText(), "window.foobarBug636725 = 'aloha2';",
          "setText() worked");
     },
-    then: function*() {
+    then: function* () {
       is(window.foobarBug636725, "aloha2",
          "window.foobarBug636725 has been set");
 
       delete window.foobarBug636725;
       ok(!window.foobarBug636725, "no window.foobarBug636725");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.editor.replaceText("gBrowser", sp.editor.getPosition(7));
 
       is(sp.getText(), "window.gBrowser",
          "setText() worked with no end for the replace range");
     },
-    then: function*([, , result]) {
+    then: function* ([, , result]) {
       is(result.class, "XULElement",
          "chrome context has access to chrome objects");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       // Check that the sandbox is cached.
       sp.editor.setText("typeof foobarBug636725cache;");
     },
-    then: function*([, , result]) {
+    then: function* ([, , result]) {
       is(result, "undefined", "global variable does not exist");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.editor.setText("window.foobarBug636725cache = 'foo';" +
                  "typeof foobarBug636725cache;");
     },
-    then: function*([, , result]) {
+    then: function* ([, , result]) {
       is(result, "string",
          "global variable exists across two different executions");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.editor.setText("window.foobarBug636725cache2 = 'foo';" +
                  "typeof foobarBug636725cache2;");
     },
-    then: function*([, , result]) {
+    then: function* ([, , result]) {
       is(result, "string",
          "global variable exists across two different executions");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.setContentContext();
 
       is(sp.executionContext, gScratchpadWindow.SCRATCHPAD_CONTEXT_CONTENT,
          "executionContext is content");
 
       sp.editor.setText("typeof foobarBug636725cache2;");
     },
-    then: function*([, , result]) {
+    then: function* ([, , result]) {
       is(result, "undefined",
          "global variable no longer exists after changing the context");
     }
   }];
 
   runAsyncCallbackTests(sp, tests).then(() => {
     sp.setBrowserContext();
     sp.editor.setText("delete foobarBug636725cache;" +
--- a/devtools/client/scratchpad/test/browser_scratchpad_disable_view_menu_items.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_disable_view_menu_items.js
@@ -23,44 +23,44 @@ function* runTests([win, sp]) {
 
 const MAXIMUM_FONT_SIZE = 96;
 const MINIMUM_FONT_SIZE = 6;
 const NORMAL_FONT_SIZE = 12;
 
 var testMaximumFontSize = Task.async(function* (win, sp) {
   let doc = win.document;
 
-  Services.prefs.clearUserPref('devtools.scratchpad.editorFontSize');
+  Services.prefs.clearUserPref("devtools.scratchpad.editorFontSize");
 
-  let menu = doc.getElementById('sp-menu-larger-font');
+  let menu = doc.getElementById("sp-menu-larger-font");
 
   for (let i = NORMAL_FONT_SIZE; i <= MAXIMUM_FONT_SIZE; i++) {
     menu.doCommand();
   }
 
-  let cmd = doc.getElementById('sp-cmd-larger-font');
-  ok(cmd.getAttribute('disabled') === 'true', 'Command "sp-cmd-larger-font" is disabled.');
+  let cmd = doc.getElementById("sp-cmd-larger-font");
+  ok(cmd.getAttribute("disabled") === "true", 'Command "sp-cmd-larger-font" is disabled.');
 
-  menu = doc.getElementById('sp-menu-smaller-font');
+  menu = doc.getElementById("sp-menu-smaller-font");
   menu.doCommand();
 
-  ok(cmd.hasAttribute('disabled') === false, 'Command "sp-cmd-larger-font" is enabled.');
+  ok(cmd.hasAttribute("disabled") === false, 'Command "sp-cmd-larger-font" is enabled.');
 });
 
 var testMinimumFontSize = Task.async(function* (win, sp) {
   let doc = win.document;
 
-  let menu = doc.getElementById('sp-menu-smaller-font');
+  let menu = doc.getElementById("sp-menu-smaller-font");
 
   for (let i = MAXIMUM_FONT_SIZE; i >= MINIMUM_FONT_SIZE; i--) {
     menu.doCommand();
   }
 
-  let cmd = doc.getElementById('sp-cmd-smaller-font');
-  ok(cmd.getAttribute('disabled') === 'true', 'Command "sp-cmd-smaller-font" is disabled.');
+  let cmd = doc.getElementById("sp-cmd-smaller-font");
+  ok(cmd.getAttribute("disabled") === "true", 'Command "sp-cmd-smaller-font" is disabled.');
 
-  menu = doc.getElementById('sp-menu-larger-font');
+  menu = doc.getElementById("sp-menu-larger-font");
   menu.doCommand();
 
-  ok(cmd.hasAttribute('disabled') === false, 'Command "sp-cmd-smaller-font" is enabled.');
+  ok(cmd.hasAttribute("disabled") === false, 'Command "sp-cmd-smaller-font" is enabled.');
 
-  Services.prefs.clearUserPref('devtools.scratchpad.editorFontSize');
+  Services.prefs.clearUserPref("devtools.scratchpad.editorFontSize");
 });
--- a/devtools/client/scratchpad/test/browser_scratchpad_display_non_error_exceptions.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_display_non_error_exceptions.js
@@ -16,95 +16,95 @@ function test()
   content.location = "data:text/html, test that exceptions are output as " +
       "comments correctly in Scratchpad";
 }
 
 function runTests()
 {
   var scratchpad = gScratchpadWindow.Scratchpad;
 
-  var message = "\"Hello World!\""
+  var message = "\"Hello World!\"";
   var openComment = "\n/*\n";
   var closeComment = "\n*/";
   var error1 = "throw new Error(\"Ouch!\")";
   var error2 = "throw \"A thrown string\"";
   var error3 = "throw {}";
   var error4 = "document.body.appendChild(document.body)";
 
   let tests = [{
     // Display message
     method: "display",
     code: message,
     result: message + openComment + "Hello World!" + closeComment,
     label: "message display output"
   },
-  {
+    {
     // Display error1, throw new Error("Ouch")
-    method: "display",
-    code: error1,
-    result: error1 + openComment +
+      method: "display",
+      code: error1,
+      result: error1 + openComment +
             "Exception: Error: Ouch!\n@" + scratchpad.uniqueName + ":1:7" + closeComment,
-    label: "error display output"
-  },
-  {
+      label: "error display output"
+    },
+    {
     // Display error2, throw "A thrown string"
-    method: "display",
-    code: error2,
-    result: error2 + openComment + "Exception: A thrown string" + closeComment,
-    label: "thrown string display output"
-  },
-  {
+      method: "display",
+      code: error2,
+      result: error2 + openComment + "Exception: A thrown string" + closeComment,
+      label: "thrown string display output"
+    },
+    {
     // Display error3, throw {}
-    method: "display",
-    code: error3,
-    result: error3 + openComment + "Exception: [object Object]" + closeComment,
-    label: "thrown object display output"
-  },
-  {
+      method: "display",
+      code: error3,
+      result: error3 + openComment + "Exception: [object Object]" + closeComment,
+      label: "thrown object display output"
+    },
+    {
     // Display error4, document.body.appendChild(document.body)
-    method: "display",
-    code: error4,
-    result: error4 + openComment + "Exception: HierarchyRequestError: Node cannot be inserted " +
+      method: "display",
+      code: error4,
+      result: error4 + openComment + "Exception: HierarchyRequestError: Node cannot be inserted " +
             "at the specified point in the hierarchy\n@" +
             scratchpad.uniqueName + ":1:0" + closeComment,
-    label: "Alternative format error display output"
-  },
-  {
+      label: "Alternative format error display output"
+    },
+    {
     // Run message
-    method: "run",
-    code: message,
-    result: message,
-    label: "message run output"
-  },
-  {
+      method: "run",
+      code: message,
+      result: message,
+      label: "message run output"
+    },
+    {
     // Run error1, throw new Error("Ouch")
-    method: "run",
-    code: error1,
-    result: error1 + openComment +
+      method: "run",
+      code: error1,
+      result: error1 + openComment +
             "Exception: Error: Ouch!\n@" + scratchpad.uniqueName + ":1:7" + closeComment,
-    label: "error run output"
-  },
-  {
+      label: "error run output"
+    },
+    {
     // Run error2, throw "A thrown string"
-    method: "run",
-    code: error2,
-    result: error2 + openComment + "Exception: A thrown string" + closeComment,
-    label: "thrown string run output"
-  },
-  {
+      method: "run",
+      code: error2,
+      result: error2 + openComment + "Exception: A thrown string" + closeComment,
+      label: "thrown string run output"
+    },
+    {
     // Run error3, throw {}
-    method: "run",
-    code: error3,
-    result: error3 + openComment + "Exception: [object Object]" + closeComment,
-    label: "thrown object run output"
-  },
-  {
+      method: "run",
+      code: error3,
+      result: error3 + openComment + "Exception: [object Object]" + closeComment,
+      label: "thrown object run output"
+    },
+    {
     // Run error4, document.body.appendChild(document.body)
-    method: "run",
-    code: error4,
-    result: error4 + openComment + "Exception: HierarchyRequestError: Node cannot be inserted " +
+      method: "run",
+      code: error4,
+      result: error4 + openComment + "Exception: HierarchyRequestError: Node cannot be inserted " +
             "at the specified point in the hierarchy\n@" +
             scratchpad.uniqueName + ":1:0" + closeComment,
-    label: "Alternative format error run output"
-  }];
+      label: "Alternative format error run output"
+    }];
 
   runAsyncTests(scratchpad, tests).then(finish);
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_display_outputs_errors.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_display_outputs_errors.js
@@ -16,57 +16,57 @@ function test()
   content.location = "data:text/html,<p>test that exceptions are output as " +
       "comments for 'display' and not sent to the console in Scratchpad";
 }
 
 function runTests()
 {
   let scratchpad = gScratchpadWindow.Scratchpad;
 
-  let message = "\"Hello World!\""
+  let message = "\"Hello World!\"";
   let openComment = "\n/*\n";
   let closeComment = "\n*/";
   let error = "throw new Error(\"Ouch!\")";
   let syntaxError = "(";
 
   let tests = [{
     method: "display",
     code: message,
     result: message + openComment + "Hello World!" + closeComment,
     label: "message display output"
   },
-  {
-    method: "display",
-    code: error,
-    result: error + openComment + "Exception: Error: Ouch!\n@" +
+    {
+      method: "display",
+      code: error,
+      result: error + openComment + "Exception: Error: Ouch!\n@" +
             scratchpad.uniqueName + ":1:7" + closeComment,
-    label: "error display output",
-  },
-  {
-    method: "display",
-    code: syntaxError,
-    result: syntaxError + openComment + "Exception: SyntaxError: expected expression, got end of script\n@" +
+      label: "error display output",
+    },
+    {
+      method: "display",
+      code: syntaxError,
+      result: syntaxError + openComment + "Exception: SyntaxError: expected expression, got end of script\n@" +
             scratchpad.uniqueName + ":1" + closeComment,
-    label: "syntaxError display output",
-  },
-  {
-    method: "run",
-    code: message,
-    result: message,
-    label: "message run output",
-  },
-  {
-    method: "run",
-    code: error,
-    result: error + openComment + "Exception: Error: Ouch!\n@" +
+      label: "syntaxError display output",
+    },
+    {
+      method: "run",
+      code: message,
+      result: message,
+      label: "message run output",
+    },
+    {
+      method: "run",
+      code: error,
+      result: error + openComment + "Exception: Error: Ouch!\n@" +
             scratchpad.uniqueName + ":1:7" + closeComment,
-    label: "error run output",
-  },
-  {
-    method: "run",
-    code: syntaxError,
-    result: syntaxError + openComment + "Exception: SyntaxError: expected expression, got end of script\n@" +
+      label: "error run output",
+    },
+    {
+      method: "run",
+      code: syntaxError,
+      result: syntaxError + openComment + "Exception: SyntaxError: expected expression, got end of script\n@" +
             scratchpad.uniqueName + ":1" + closeComment,
-    label: "syntaxError run output",
-  }];
+      label: "syntaxError run output",
+    }];
 
   runAsyncTests(scratchpad, tests).then(finish);
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_edit_ui_updates.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_edit_ui_updates.js
@@ -58,149 +58,149 @@ function runTests()
 
   let anchor = doc.documentElement;
   let isContextMenu = false;
 
   let oldVal = sp.editor.getText();
 
   let testSelfXss = function (oldVal) {
     // Self xss prevention tests (bug 994134)
-    info("Self xss paste tests")
-    is(WebConsoleUtils.usageCount, 0, "Test for usage count getter")
+    info("Self xss paste tests");
+    is(WebConsoleUtils.usageCount, 0, "Test for usage count getter");
     let notificationbox = doc.getElementById("scratchpad-notificationbox");
-    let notification = notificationbox.getNotificationWithValue('selfxss-notification');
+    let notification = notificationbox.getNotificationWithValue("selfxss-notification");
     ok(notification, "Self-xss notification shown");
     is(oldVal, sp.editor.getText(), "Paste blocked by self-xss prevention");
     Services.prefs.setIntPref("devtools.selfxss.count", 10);
     notificationbox.removeAllNotifications(true);
     openMenu(10, 10, firstShow);
   };
 
-  let openMenu = function(aX, aY, aCallback) {
+  let openMenu = function (aX, aY, aCallback) {
     if (!editMenu || OS != "Darwin") {
       menuPopup.addEventListener("popupshown", function onPopupShown() {
         menuPopup.removeEventListener("popupshown", onPopupShown, false);
         executeSoon(aCallback);
       }, false);
     }
 
-    executeSoon(function() {
+    executeSoon(function () {
       if (editMenu) {
         if (OS == "Darwin") {
           winUtils.forceUpdateNativeMenuAt(editMenuIndex);
           executeSoon(aCallback);
         } else {
           editMenu.open = true;
         }
       } else {
         menuPopup.openPopup(anchor, "overlap", aX, aY, isContextMenu, false);
       }
     });
   };
 
-  let closeMenu = function(aCallback) {
+  let closeMenu = function (aCallback) {
     if (!editMenu || OS != "Darwin") {
       menuPopup.addEventListener("popuphidden", function onPopupHidden() {
         menuPopup.removeEventListener("popuphidden", onPopupHidden, false);
         executeSoon(aCallback);
       }, false);
     }
 
-    executeSoon(function() {
+    executeSoon(function () {
       if (editMenu) {
         if (OS == "Darwin") {
           winUtils.forceUpdateNativeMenuAt(editMenuIndex);
           executeSoon(aCallback);
         } else {
           editMenu.open = false;
         }
       } else {
         menuPopup.hidePopup();
       }
     });
   };
 
-  let firstShow = function() {
+  let firstShow = function () {
     ok(!cutItem.hasAttribute("disabled"), "cut menuitem is enabled");
     closeMenu(firstHide);
   };
 
-  let firstHide = function() {
+  let firstHide = function () {
     sp.editor.setSelection({ line: 0, ch: 0 }, { line: 0, ch: 10 });
     openMenu(11, 11, showAfterSelect);
   };
 
-  let showAfterSelect = function() {
+  let showAfterSelect = function () {
     ok(!cutItem.hasAttribute("disabled"), "cut menuitem is enabled after select");
     closeMenu(hideAfterSelect);
   };
 
-  let hideAfterSelect = function() {
+  let hideAfterSelect = function () {
     sp.editor.on("change", onCut);
     waitForFocus(function () {
       let selectedText = sp.editor.getSelection();
       ok(selectedText.length > 0, "non-empty selected text will be cut");
 
       EventUtils.synthesizeKey("x", {accelKey: true}, gScratchpadWindow);
     }, gScratchpadWindow);
   };
 
-  let onCut = function() {
+  let onCut = function () {
     sp.editor.off("change", onCut);
     openMenu(12, 12, showAfterCut);
   };
 
-  let showAfterCut = function() {
+  let showAfterCut = function () {
     ok(!cutItem.hasAttribute("disabled"), "cut menuitem is enabled after cut");
     ok(!pasteItem.hasAttribute("disabled"), "paste menuitem is enabled after cut");
     closeMenu(hideAfterCut);
   };
 
-  let hideAfterCut = function() {
+  let hideAfterCut = function () {
     waitForFocus(function () {
       sp.editor.on("change", onPaste);
       EventUtils.synthesizeKey("v", {accelKey: true}, gScratchpadWindow);
     }, gScratchpadWindow);
   };
 
-  let onPaste = function() {
+  let onPaste = function () {
     sp.editor.off("change", onPaste);
     openMenu(13, 13, showAfterPaste);
   };
 
-  let showAfterPaste = function() {
+  let showAfterPaste = function () {
     ok(!cutItem.hasAttribute("disabled"), "cut menuitem is enabled after paste");
     ok(!pasteItem.hasAttribute("disabled"), "paste menuitem is enabled after paste");
     closeMenu(hideAfterPaste);
   };
 
-  let hideAfterPaste = function() {
+  let hideAfterPaste = function () {
     if (pass == 0) {
       pass++;
       testContextMenu();
     } else {
       Services.prefs.clearUserPref(DEVTOOLS_CHROME_ENABLED);
       finish();
     }
   };
 
-  let testContextMenu = function() {
+  let testContextMenu = function () {
     info("will test the context menu");
 
     editMenu = null;
     isContextMenu = true;
 
     menuPopup = doc.getElementById("scratchpad-text-popup");
     ok(menuPopup, "the context menupopup");
     cutItem = doc.getElementById("cMenu_cut");
     ok(cutItem, "the Cut menuitem");
     pasteItem = doc.getElementById("cMenu_paste");
     ok(pasteItem, "the Paste menuitem");
 
     sp.setText("bug 699130: hello world! (context menu)");
     openMenu(10, 10, firstShow);
   };
-  waitForFocus(function(){
+  waitForFocus(function () {
     WebConsoleUtils.usageCount = 0;
     EventUtils.synthesizeKey("v", {accelKey: true}, gScratchpadWindow);
     testSelfXss(oldVal);
-  }, gScratchpadWindow)
+  }, gScratchpadWindow);
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_eval_func.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_eval_func.js
@@ -26,17 +26,17 @@ function runTests(sw)
   const sp = sw.Scratchpad;
 
   let foo = "" + function main() { console.log(1); };
   let bar = "var bar = " + (() => { console.log(2); });
 
   const fullText =
     foo + "\n" +
     "\n" +
-    bar + "\n"
+    bar + "\n";
 
   sp.setText(fullText);
 
   // On the function declaration.
   sp.editor.setCursor({ line: 0, ch: 18 });
   sp.evalTopLevelFunction()
     .then(([text, error, result]) => {
       is(text, foo, "Should re-eval foo.");
--- a/devtools/client/scratchpad/test/browser_scratchpad_execute_print.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_execute_print.js
@@ -14,94 +14,94 @@ function test() {
 
   content.location = "data:text/html,<p>test run() and display() in Scratchpad";
 }
 
 function runTests() {
   let sp = gScratchpadWindow.Scratchpad;
   let tests = [{
     method: "run",
-    prepare: function*() {
-      yield inContent(function*() {
+    prepare: function* () {
+      yield inContent(function* () {
         content.wrappedJSObject.foobarBug636725 = 1;
       });
       sp.editor.setText("++window.foobarBug636725");
     },
-    then: function*([code, , result]) {
+    then: function* ([code, , result]) {
       is(code, sp.getText(), "code is correct");
 
-      let pageResult = yield inContent(function*() {
+      let pageResult = yield inContent(function* () {
         return content.wrappedJSObject.foobarBug636725;
       });
       is(result, pageResult,
          "result is correct");
 
       is(sp.getText(), "++window.foobarBug636725",
          "run() does not change the editor content");
 
       is(pageResult, 2, "run() updated window.foobarBug636725");
     }
   }, {
     method: "display",
-    prepare: function*() {},
-    then: function*() {
-      let pageResult = yield inContent(function*() {
+    prepare: function* () {},
+    then: function* () {
+      let pageResult = yield inContent(function* () {
         return content.wrappedJSObject.foobarBug636725;
       });
       is(pageResult, 3, "display() updated window.foobarBug636725");
 
       is(sp.getText(), "++window.foobarBug636725\n/*\n3\n*/",
          "display() shows evaluation result in the textbox");
 
       is(sp.editor.getSelection(), "\n/*\n3\n*/", "getSelection is correct");
     }
   }, {
     method: "run",
-    prepare: function*() {
+    prepare: function* () {
       sp.editor.setText("window.foobarBug636725 = 'a';\n" +
         "window.foobarBug636725 = 'b';");
       sp.editor.setSelection({ line: 0, ch: 0 }, { line: 0, ch: 29 });
     },
-    then: function*([code, , result]) {
+    then: function* ([code, , result]) {
       is(code, "window.foobarBug636725 = 'a';", "code is correct");
       is(result, "a", "result is correct");
 
       is(sp.getText(), "window.foobarBug636725 = 'a';\n" +
                        "window.foobarBug636725 = 'b';",
          "run() does not change the textbox value");
 
-      let pageResult = yield inContent(function*() {
+      let pageResult = yield inContent(function* () {
         return content.wrappedJSObject.foobarBug636725;
       });
       is(pageResult, "a", "run() worked for the selected range");
     }
   }, {
     method: "display",
-    prepare: function*() {
+    prepare: function* () {
       sp.editor.setText("window.foobarBug636725 = 'c';\n" +
                  "window.foobarBug636725 = 'b';");
       sp.editor.setSelection({ line: 0, ch: 0 }, { line: 0, ch: 22 });
     },
-    then: function*() {
-      let pageResult = yield inContent(function*() {
+    then: function* () {
+      let pageResult = yield inContent(function* () {
         return content.wrappedJSObject.foobarBug636725;
       });
       is(pageResult, "a", "display() worked for the selected range");
 
       is(sp.getText(), "window.foobarBug636725" +
                        "\n/*\na\n*/" +
                        " = 'c';\n" +
                        "window.foobarBug636725 = 'b';",
          "display() shows evaluation result in the textbox");
 
       is(sp.editor.getSelection(), "\n/*\na\n*/", "getSelection is correct");
     }
   }];
 
-  runAsyncCallbackTests(sp, tests).then(function() {
+  runAsyncCallbackTests(sp, tests).then(function () {
     ok(sp.editor.somethingSelected(), "something is selected");
     sp.editor.dropSelection();
     ok(!sp.editor.somethingSelected(), "something is no longer selected");
     ok(!sp.editor.getSelection(), "getSelection is empty");
 
     // Test undo/redo.
     sp.editor.setText("foo1");
     sp.editor.setText("foo2");
--- a/devtools/client/scratchpad/test/browser_scratchpad_falsy.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_falsy.js
@@ -14,56 +14,56 @@ function test()
   }, true);
 
   content.location = "data:text/html,<p>test falsy display() values in Scratchpad";
 }
 
 function testFalsy()
 {
   let scratchpad = gScratchpadWindow.Scratchpad;
-  verifyFalsies(scratchpad).then(function() {
+  verifyFalsies(scratchpad).then(function () {
     scratchpad.setBrowserContext();
     verifyFalsies(scratchpad).then(finish);
   });
 }
 
 
 function verifyFalsies(scratchpad)
 {
   let tests = [{
     method: "display",
     code: "undefined",
     result: "undefined\n/*\nundefined\n*/",
     label: "undefined is displayed"
   },
-  {
-    method: "display",
-    code: "false",
-    result: "false\n/*\nfalse\n*/",
-    label: "false is displayed"
-  },
-  {
-    method: "display",
-    code: "0",
-    result: "0\n/*\n0\n*/",
-    label: "0 is displayed"
-  },
-  {
-    method: "display",
-    code: "null",
-    result: "null\n/*\nnull\n*/",
-    label: "null is displayed"
-  },
-  {
-    method: "display",
-    code: "NaN",
-    result: "NaN\n/*\nNaN\n*/",
-    label: "NaN is displayed"
-  },
-  {
-    method: "display",
-    code: "''",
-    result: "''\n/*\n\n*/",
-    label: "the empty string is displayed"
-  }];
+    {
+      method: "display",
+      code: "false",
+      result: "false\n/*\nfalse\n*/",
+      label: "false is displayed"
+    },
+    {
+      method: "display",
+      code: "0",
+      result: "0\n/*\n0\n*/",
+      label: "0 is displayed"
+    },
+    {
+      method: "display",
+      code: "null",
+      result: "null\n/*\nnull\n*/",
+      label: "null is displayed"
+    },
+    {
+      method: "display",
+      code: "NaN",
+      result: "NaN\n/*\nNaN\n*/",
+      label: "NaN is displayed"
+    },
+    {
+      method: "display",
+      code: "''",
+      result: "''\n/*\n\n*/",
+      label: "the empty string is displayed"
+    }];
 
   return runAsyncTests(scratchpad, tests);
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_files.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_files.js
@@ -23,22 +23,22 @@ function test()
 
   content.location = "data:text/html,<p>test file open and save in Scratchpad";
 }
 
 function runTests()
 {
   gScratchpad = gScratchpadWindow.Scratchpad;
 
-  createTempFile("fileForBug636725.tmp", gFileContent, function(aStatus, aFile) {
+  createTempFile("fileForBug636725.tmp", gFileContent, function (aStatus, aFile) {
     ok(Components.isSuccessCode(aStatus),
       "The temporary file was saved successfully");
 
-      gFile = aFile;
-      gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true,
+    gFile = aFile;
+    gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true,
         fileImported);
   });
 }
 
 function fileImported(aStatus, aFileContent)
 {
   ok(Components.isSuccessCode(aStatus),
      "the temporary file was imported successfully with Scratchpad");
@@ -68,17 +68,17 @@ function fileExported(aStatus)
   let oldContent = gFileContent;
 
   // Attempt another file save, with confirmation which returns false.
   gFileContent += "// omg, saved twice!";
   gScratchpad.editor.setText(gFileContent);
 
   let oldConfirm = gScratchpadWindow.confirm;
   let askedConfirmation = false;
-  gScratchpadWindow.confirm = function() {
+  gScratchpadWindow.confirm = function () {
     askedConfirmation = true;
     return false;
   };
 
   gScratchpad.exportToFile(gFile.QueryInterface(Ci.nsILocalFile), false, true,
                           fileExported2);
 
   gScratchpadWindow.confirm = oldConfirm;
@@ -102,17 +102,17 @@ function fileExported2()
 }
 
 function fileRead(aInputStream, aStatus)
 {
   ok(Components.isSuccessCode(aStatus),
      "the temporary file was read back successfully");
 
   let updatedContent =
-    NetUtil.readInputStreamToString(aInputStream, aInputStream.available());;
+    NetUtil.readInputStreamToString(aInputStream, aInputStream.available());
 
   is(updatedContent, gFileContent, "file properly updated");
 
   // Done!
   gFile.remove(false);
   gFile = null;
   gScratchpad = null;
   finish();
--- a/devtools/client/scratchpad/test/browser_scratchpad_goto_line_ui.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_goto_line_ui.js
@@ -30,14 +30,14 @@ function runTests(aWindow, aScratchpad)
     cb(desiredValue);
   };
 
   desiredValue = 3;
   EventUtils.synthesizeKey("J", {accelKey: true}, aWindow);
   is(editor.getCursor().line, 2, "line is correct");
 
   desiredValue = 2;
-  aWindow.goDoCommand("cmd_gotoLine")
+  aWindow.goDoCommand("cmd_gotoLine");
   is(editor.getCursor().line, 1, "line is correct (again)");
 
   editor.openDialog = oldPrompt;
   finish();
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_help_key.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_help_key.js
@@ -35,21 +35,21 @@ function runTest()
   isnot(key, null, "Successfully retrieved keycode/key");
 
   var aEvent = {
     shiftKey: modifiers.match("shift"),
     ctrlKey: modifiers.match("ctrl"),
     altKey: modifiers.match("alt"),
     metaKey: modifiers.match("meta"),
     accelKey: modifiers.match("accel")
-  }
+  };
 
   info("check that the MDN page is opened on \"F1\"");
   let linkClicked = false;
-  sp.openDocumentationPage = function(event) { linkClicked = true; };
+  sp.openDocumentationPage = function (event) { linkClicked = true; };
 
   EventUtils.synthesizeKey(key, aEvent, gScratchpadWindow);
 
   is(linkClicked, true, "MDN page will open");
   finishTest();
 }
 
 function finishTest()
--- a/devtools/client/scratchpad/test/browser_scratchpad_inspect.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_inspect.js
@@ -16,17 +16,17 @@ function test()
 }
 
 function runTests()
 {
   let sp = gScratchpadWindow.Scratchpad;
 
   sp.setText("({ a: 'foobarBug636725' })");
 
-  sp.inspect().then(function() {
+  sp.inspect().then(function () {
     let sidebar = sp.sidebar;
     ok(sidebar.visible, "sidebar is open");
 
 
     let found = false;
 
     outer: for (let scope of sidebar.variablesView) {
       for (let [, obj] of scope) {
@@ -41,15 +41,15 @@ function runTests()
 
     ok(found, "found the property");
 
     let tabbox = sidebar._sidebar._tabbox;
     is(tabbox.width, 300, "Scratchpad sidebar width is correct");
     ok(!tabbox.hasAttribute("hidden"), "Scratchpad sidebar visible");
     sidebar.hide();
     ok(tabbox.hasAttribute("hidden"), "Scratchpad sidebar hidden");
-    sp.inspect().then(function() {
+    sp.inspect().then(function () {
       is(tabbox.width, 300, "Scratchpad sidebar width is still correct");
       ok(!tabbox.hasAttribute("hidden"), "Scratchpad sidebar visible again");
       finish();
     });
   });
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_modeline.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_modeline.js
@@ -48,17 +48,17 @@ function runTests() {
 
   obj = gScratchpad._scanModeLine("/* -sp-context:browser, other:true */");
   is(size(obj), 2, "Mode-line object has two properties");
   is(obj["-sp-context"], "browser");
   is(obj["other"], "true");
 
   // Test importing files with a mode-line in them.
   let content = "/* -sp-context:browser */\n" + gFileContent;
-  createTempFile("fileForBug644413.tmp", content, function(aStatus, aFile) {
+  createTempFile("fileForBug644413.tmp", content, function (aStatus, aFile) {
     ok(Components.isSuccessCode(aStatus), "File was saved successfully");
 
     gFile = aFile;
     gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true, fileImported);
   });
 }
 
 function fileImported(status, content) {
@@ -66,17 +66,17 @@ function fileImported(status, content) {
 
   // Since devtools.chrome.enabled is off, Scratchpad should still be in
   // the content context.
   is(gScratchpad.executionContext, gScratchpadWindow.SCRATCHPAD_CONTEXT_CONTENT);
 
   // Set the pref and try again.
   Services.prefs.setBoolPref(DEVTOOLS_CHROME_ENABLED, true);
 
-  gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true, function(status, content) {
+  gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true, function (status, content) {
     ok(Components.isSuccessCode(status), "File was imported successfully");
     is(gScratchpad.executionContext, gScratchpadWindow.SCRATCHPAD_CONTEXT_BROWSER);
 
     gFile.remove(false);
     gFile = null;
     gScratchpad = null;
     finish();
   });
--- a/devtools/client/scratchpad/test/browser_scratchpad_open.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_open.js
@@ -33,17 +33,17 @@ function testUniqueName(name)
   }
 
   ok(name !== lastUniqueName,
       "Unique name for this instance differs from the last one.");
 }
 
 function testOpen()
 {
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     is(win.Scratchpad.filename, undefined, "Default filename is undefined");
     isnot(win.Scratchpad.getText(), null, "Default text should not be null");
     is(win.Scratchpad.executionContext, win.SCRATCHPAD_CONTEXT_CONTENT,
       "Default execution context is content");
     testUniqueName(win.Scratchpad.uniqueName);
 
     win.close();
     done();
@@ -53,17 +53,17 @@ function testOpen()
 function testOpenWithState()
 {
   let state = {
     filename: "testfile",
     executionContext: 2,
     text: "test text"
   };
 
-  openScratchpad(function(win) {
+  openScratchpad(function (win) {
     is(win.Scratchpad.filename, state.filename, "Filename loaded from state");
     is(win.Scratchpad.executionContext, state.executionContext, "Execution context loaded from state");
     is(win.Scratchpad.getText(), state.text, "Content loaded from state");
     testUniqueName(win.Scratchpad.uniqueName);
 
     win.close();
     done();
   }, {state: state, noFocus: true});
@@ -73,25 +73,25 @@ function testOpenInvalidState()
 {
   let win = openScratchpad(null, {state: 7});
   ok(!win, "no scratchpad opened if state is not an object");
   done();
 }
 
 function testOpenTestFile()
 {
-  let win = openScratchpad(function(win) {
+  let win = openScratchpad(function (win) {
     ok(win, "scratchpad opened for file open");
     try {
       win.Scratchpad.importFromFile(
         "http://example.com/browser/devtools/client/scratchpad/test/NS_ERROR_ILLEGAL_INPUT.txt",
         "silent",
         function (aStatus, content) {
-          let nb = win.document.querySelector('#scratchpad-notificationbox');
-          is(nb.querySelectorAll('notification').length, 1, "There is just one notification");
+          let nb = win.document.querySelector("#scratchpad-notificationbox");
+          is(nb.querySelectorAll("notification").length, 1, "There is just one notification");
           let cn = nb.currentNotification;
           is(cn.priority, nb.PRIORITY_WARNING_HIGH, "notification priority is correct");
           is(cn.value, "file-import-convert-failed", "notification value is corrent");
           is(cn.type, "warning", "notification type is correct");
           done();
         });
       ok(true, "importFromFile does not cause exception");
     } catch (exception) {
--- a/devtools/client/scratchpad/test/browser_scratchpad_recent_files.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_recent_files.js
@@ -16,20 +16,20 @@ var gFile04;
 var lists = {
   recentFiles01: null,
   recentFiles02: null,
   recentFiles03: null,
   recentFiles04: null,
 };
 
 // Temporary file names.
-var gFileName01 = "file01_ForBug651942.tmp"
-var gFileName02 = "☕" // See bug 783858 for more information
-var gFileName03 = "file03_ForBug651942.tmp"
-var gFileName04 = "file04_ForBug651942.tmp"
+var gFileName01 = "file01_ForBug651942.tmp";
+var gFileName02 = "☕"; // See bug 783858 for more information
+var gFileName03 = "file03_ForBug651942.tmp";
+var gFileName04 = "file04_ForBug651942.tmp";
 
 // Content for the temporary files.
 var gFileContent;
 var gFileContent01 = "hello.world.01('bug651942');";
 var gFileContent02 = "hello.world.02('bug651942');";
 var gFileContent03 = "hello.world.03('bug651942');";
 var gFileContent04 = "hello.world.04('bug651942');";
 
@@ -191,17 +191,17 @@ function createAndLoadTemporaryFile(aFil
 
   // Write the temporary file.
   let fout = Cc["@mozilla.org/network/file-output-stream;1"].
              createInstance(Ci.nsIFileOutputStream);
   fout.init(aFile.QueryInterface(Ci.nsILocalFile), 0x02 | 0x08 | 0x20,
             0o644, fout.DEFER_OPEN);
 
   gScratchpad.setFilename(aFile.path);
-  gScratchpad.importFromFile(aFile.QueryInterface(Ci.nsILocalFile),  true,
+  gScratchpad.importFromFile(aFile.QueryInterface(Ci.nsILocalFile), true,
                             fileImported);
   gScratchpad.saveFile(fileSaved);
 
   return aFile;
 }
 
 function fileImported(aStatus)
 {
@@ -297,17 +297,17 @@ var PreferenceObserver = {
         break;
       case 8:
         this.timesFired = 9;
         testClearedAll();
         break;
     }
   },
 
-  uninit: function PO_uninit () {
+  uninit: function PO_uninit() {
     this.branch.removeObserver("", this);
   }
 };
 
 function test()
 {
   waitForExplicitFinish();
 
--- a/devtools/client/scratchpad/test/browser_scratchpad_reset_undo.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_reset_undo.js
@@ -76,17 +76,17 @@ function tempFileSaved(aStatus)
     finish();
     return;
   }
 
   if (gFirstFileSaved && success)
   {
     ok((gFirstFileSaved && success), "Both files loaded");
     // Import the file A into Scratchpad.
-    gScratchpad.importFromFile(gFileA.QueryInterface(Ci.nsILocalFile),  true,
+    gScratchpad.importFromFile(gFileA.QueryInterface(Ci.nsILocalFile), true,
                               fileAImported);
   }
   gFirstFileSaved = success;
 }
 
 function fileAImported(aStatus, aFileContent)
 {
   ok(Components.isSuccessCode(aStatus),
@@ -101,17 +101,17 @@ function fileAImported(aStatus, aFileCon
 
   is(gScratchpad.getText(), gFileAContent + "new text", "text updated correctly");
   gScratchpad.undo();
   is(gScratchpad.getText(), gFileAContent, "undo works");
   gScratchpad.redo();
   is(gScratchpad.getText(), gFileAContent + "new text", "redo works");
 
   // Import the file B into Scratchpad.
-  gScratchpad.importFromFile(gFileB.QueryInterface(Ci.nsILocalFile),  true,
+  gScratchpad.importFromFile(gFileB.QueryInterface(Ci.nsILocalFile), true,
                             fileBImported);
 }
 
 function fileBImported(aStatus, aFileContent)
 {
   ok(Components.isSuccessCode(aStatus),
      "the temporary file B was imported successfully with Scratchpad");
 
@@ -135,17 +135,17 @@ function fileBImported(aStatus, aFileCon
 
   gScratchpad.redo();
   is(gScratchpad.getText(), gFileBContent + "new text", "redo works");
 
   // Done!
   finish();
 }
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   if (gFileA && gFileA.exists())
   {
     gFileA.remove(false);
     gFileA = null;
   }
   if (gFileB && gFileB.exists())
   {
     gFileB.remove(false);
--- a/devtools/client/scratchpad/test/browser_scratchpad_restore.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_restore.js
@@ -5,18 +5,18 @@
 /* Call the iterator for each item in the list,
    calling the final callback with all the results
    after every iterator call has sent its result */
 function asyncMap(items, iterator, callback)
 {
   let expected = items.length;
   let results = [];
 
-  items.forEach(function(item) {
-    iterator(item, function(result) {
+  items.forEach(function (item) {
+    iterator(item, function (result) {
       results.push(result);
       if (results.length == expected) {
         callback(results);
       }
     });
   });
 }
 
@@ -39,58 +39,58 @@ function testRestore()
       executionContext: 1
     },
     {
       text: "text3",
       executionContext: 1
     }
   ];
 
-  asyncMap(states, function(state, done) {
+  asyncMap(states, function (state, done) {
     // Open some scratchpad windows
     openScratchpad(done, {state: state, noFocus: true});
-  }, function(wins) {
+  }, function (wins) {
     // Then save the windows to session store
     ScratchpadManager.saveOpenWindows();
 
     // Then get their states
     let session = ScratchpadManager.getSessionState();
 
     // Then close them
-    wins.forEach(function(win) {
+    wins.forEach(function (win) {
       win.close();
     });
 
     // Clear out session state for next tests
     ScratchpadManager.saveOpenWindows();
 
     // Then restore them
     let restoredWins = ScratchpadManager.restoreSession(session);
 
     is(restoredWins.length, 3, "Three scratchad windows restored");
 
-    asyncMap(restoredWins, function(restoredWin, done) {
-      openScratchpad(function(aWin) {
+    asyncMap(restoredWins, function (restoredWin, done) {
+      openScratchpad(function (aWin) {
         let state = aWin.Scratchpad.getState();
         aWin.close();
         done(state);
       }, {window: restoredWin, noFocus: true});
-    }, function(restoredStates) {
+    }, function (restoredStates) {
       // Then make sure they were restored with the right states
       ok(statesMatch(restoredStates, states),
         "All scratchpad window states restored correctly");
 
       // Yay, we're done!
       finish();
     });
   });
 }
 
 function statesMatch(restoredStates, states)
 {
-  return states.every(function(state) {
-    return restoredStates.some(function(restoredState) {
+  return states.every(function (state) {
+    return restoredStates.some(function (restoredState) {
       return state.filename == restoredState.filename
         && state.text == restoredState.text
         && state.executionContext == restoredState.executionContext;
-    })
+    });
   });
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_revert_to_saved.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_revert_to_saved.js
@@ -5,17 +5,17 @@
 
 // Reference to the Scratchpad object.
 var gScratchpad;
 
 // Reference to the temporary nsIFiles.
 var gFile;
 
 // Temporary file name.
-var gFileName = "testFileForBug751744.tmp"
+var gFileName = "testFileForBug751744.tmp";
 
 
 // Content for the temporary file.
 var gFileContent = "/* this file is already saved */\n" +
                    "function foo() { alert('bar') }";
 var gLength = gFileContent.length;
 
 // Reference to the menu entry.
@@ -110,17 +110,17 @@ function createAndLoadTemporaryFile()
 
 function tempFileSaved(aStatus)
 {
   ok(Components.isSuccessCode(aStatus),
      "the temporary file was saved successfully");
 
   // Import the file into Scratchpad.
   gScratchpad.setFilename(gFile.path);
-  gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile),  true,
+  gScratchpad.importFromFile(gFile.QueryInterface(Ci.nsILocalFile), true,
                              testAfterSaved);
 }
 
 function test()
 {
   waitForExplicitFinish();
 
   gBrowser.selectedTab = gBrowser.addTab();
--- a/devtools/client/scratchpad/test/browser_scratchpad_tab_switch.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_tab_switch.js
@@ -53,51 +53,51 @@ function runTests()
   is(notificationBox.currentNotification, null,
      "there is no notification currently shown for content context");
 
   sp.setText("window.foosbug653108 = 'aloha';");
 
   ok(!content.wrappedJSObject.foosbug653108,
      "no content.foosbug653108");
 
-  sp.run().then(function() {
+  sp.run().then(function () {
     is(content.wrappedJSObject.foosbug653108, "aloha",
        "content.foosbug653108 has been set");
 
     gBrowser.tabContainer.addEventListener("TabSelect", runTests2, true);
     gBrowser.selectedTab = tab1;
   });
 }
 
 function runTests2() {
   gBrowser.tabContainer.removeEventListener("TabSelect", runTests2, true);
 
   ok(!window.foosbug653108, "no window.foosbug653108");
 
   sp.setText("window.foosbug653108");
-  sp.run().then(function([, , result]) {
+  sp.run().then(function ([, , result]) {
     isnot(result, "aloha", "window.foosbug653108 is not aloha");
 
     sp.setText("window.foosbug653108 = 'ahoyhoy';");
-    sp.run().then(function() {
+    sp.run().then(function () {
       is(content.wrappedJSObject.foosbug653108, "ahoyhoy",
          "content.foosbug653108 has been set 2");
 
       gBrowser.selectedBrowser.addEventListener("load", runTests3, true);
       content.location = "data:text/html,test context switch in Scratchpad location 2";
     });
   });
 }
 
 function runTests3() {
   gBrowser.selectedBrowser.removeEventListener("load", runTests3, true);
   // Check that the sandbox is not cached.
 
   sp.setText("typeof foosbug653108;");
-  sp.run().then(function([, , result]) {
+  sp.run().then(function ([, , result]) {
     is(result, "undefined", "global variable does not exist");
 
     tab1 = null;
     tab2 = null;
     sp = null;
     finish();
   });
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
@@ -17,17 +17,17 @@ function test()
 }
 
 function testThrowOutput()
 {
   let scratchpad = gScratchpadWindow.Scratchpad, tests = [];
 
   let falsyValues = ["false", "0", "-0", "null", "undefined", "Infinity",
                       "-Infinity", "NaN"];
-  falsyValues.forEach(function(value) {
+  falsyValues.forEach(function (value) {
     tests.push({
       method: "display",
       code: "throw " + value + ";",
       result: "throw " + value + ";\n/*\nException: " + value + "\n*/",
       label: "Correct exception message for '" + value + "' is shown"
     });
   });
 
@@ -41,12 +41,12 @@ function testThrowOutput()
   tests.push({
     method: "display",
     code: "throw (new Array(" + longLength + ").join('a'));",
     result: "throw (new Array(" + longLength + ").join('a'));\n" +
             "/*\nException: " + shortedString + "\n*/",
     label: "Correct exception message for a longString is shown"
   });
 
-  runAsyncTests(scratchpad, tests).then(function() {
+  runAsyncTests(scratchpad, tests).then(function () {
     finish();
   });
 }
--- a/devtools/client/scratchpad/test/browser_scratchpad_ui.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_ui.js
@@ -47,17 +47,17 @@ function runTests()
     lastMethodCalled = null;
 
     let methodName = methodsAndItems[id];
     let oldMethod = sp[methodName];
     ok(oldMethod, "found method " + methodName + " in Scratchpad object");
 
     sp[methodName] = () => {
       lastMethodCalled = methodName;
-    }
+    };
 
     let menu = doc.getElementById(id);
     ok(menu, "found menuitem #" + id);
 
     try {
       menu.doCommand();
     }
     catch (ex) {
--- a/devtools/client/scratchpad/test/browser_scratchpad_unsaved.js
+++ b/devtools/client/scratchpad/test/browser_scratchpad_unsaved.js
@@ -24,17 +24,17 @@ function test()
   testRestoreFromFileUnsaved();
 
   gBrowser.selectedTab = gBrowser.addTab();
   content.location = "data:text/html,<p>test star* UI for unsaved file changes";
 }
 
 function testListeners()
 {
-  openScratchpad(function(aWin, aScratchpad) {
+  openScratchpad(function (aWin, aScratchpad) {
     aScratchpad.setText("new text");
     ok(isStar(aWin), "show star if scratchpad text changes");
 
     aScratchpad.dirty = false;
     ok(!isStar(aWin), "no star before changing text");
 
     aScratchpad.setFilename("foo.js");
     aScratchpad.setText("new text2");
@@ -60,17 +60,17 @@ function testListeners()
 function testRestoreNotFromFile()
 {
   let session = [{
     text: "test1",
     executionContext: 1
   }];
 
   let [win] = ScratchpadManager.restoreSession(session);
-  openScratchpad(function(aWin, aScratchpad) {
+  openScratchpad(function (aWin, aScratchpad) {
     aScratchpad.setText("new text");
     ok(isStar(win), "show star if restored scratchpad isn't from a file");
 
     win.close();
     done();
   }, {window: win, noFocus: true});
 }
 
@@ -79,17 +79,17 @@ function testRestoreFromFileSaved()
   let session = [{
     filename: "test.js",
     text: "test1",
     executionContext: 1,
     saved: true
   }];
 
   let [win] = ScratchpadManager.restoreSession(session);
-  openScratchpad(function(aWin, aScratchpad) {
+  openScratchpad(function (aWin, aScratchpad) {
     ok(!isStar(win), "no star before changing text in scratchpad restored from file");
 
     aScratchpad.setText("new text");
     ok(isStar(win), "star when text changed from scratchpad restored from file");
 
     win.close();
     done();
   }, {window: win, noFocus: true});
@@ -100,17 +100,17 @@ function testRestoreFromFileUnsaved()
   let session = [{
     filename: "test.js",
     text: "test1",
     executionContext: 1,
     saved: false
   }];
 
   let [win] = ScratchpadManager.restoreSession(session);
-  openScratchpad(function() {
+  openScratchpad(function () {
     ok(isStar(win), "star with scratchpad restored with unsaved text");
 
     win.close();
     done();
   }, {window: win, noFocus: true});
 }
 
 function isStar(win)
--- a/devtools/client/scratchpad/test/head.js
+++ b/devtools/client/scratchpad/test/head.js
@@ -45,21 +45,21 @@ SimpleTest.registerCleanupFunction(() =>
 function openScratchpad(aReadyCallback, aOptions = {})
 {
   let win = aOptions.window ||
             ScratchpadManager.openScratchpad(aOptions.state);
   if (!win) {
     return;
   }
 
-  let onLoad = function() {
+  let onLoad = function () {
     win.removeEventListener("load", onLoad, false);
 
     win.Scratchpad.addObserver({
-      onReady: function(aScratchpad) {
+      onReady: function (aScratchpad) {
         aScratchpad.removeObserver(this);
 
         if (aOptions.noFocus) {
           aReadyCallback(win, aScratchpad);
         } else {
           waitForFocus(aReadyCallback.bind(null, win, aScratchpad), win);
         }
       }
@@ -106,17 +106,17 @@ function openTabAndScratchpad(aOptions =
  *        Name of your temporary file.
  * @param string aContent
  *        Temporary file's contents.
  * @param function aCallback
  *        Optional callback to be called when we're done writing
  *        to the file. It will receive two parameters: status code
  *        and a file object.
  */
-function createTempFile(aName, aContent, aCallback=function(){})
+function createTempFile(aName, aContent, aCallback = function () {})
 {
   // Create a temporary file.
   let file = FileUtils.getFile("TmpD", [aName]);
   file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
 
   // Write the temporary file.
   let fout = Cc["@mozilla.org/network/file-output-stream;1"].
              createInstance(Ci.nsIFileOutputStream);
@@ -186,17 +186,17 @@ function runAsyncTests(aScratchpad, aTes
  *          Scratchpad method to use, one of "run", "display", or "inspect".
  *        - prepare
  *          The callback to run just prior to executing the scratchpad method.
  *        - then
  *          The callback to run when the scratchpad execution promise resolves.
  * @return Promise
  *         The promise that will be resolved when all tests are finished.
  */
-var runAsyncCallbackTests = Task.async(function*(aScratchpad, aTests) {
+var runAsyncCallbackTests = Task.async(function* (aScratchpad, aTests) {
   for (let {prepare, method, then} of aTests) {
     yield prepare();
     let res = yield aScratchpad[method]();
     yield then(res);
   }
 });
 
 /**
--- a/devtools/client/shadereditor/panel.js
+++ b/devtools/client/shadereditor/panel.js
@@ -12,28 +12,28 @@ const { WebGLFront } = require("devtools
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 
 function ShaderEditorPanel(iframeWindow, toolbox) {
   this.panelWin = iframeWindow;
   this._toolbox = toolbox;
   this._destroyer = null;
 
   EventEmitter.decorate(this);
-};
+}
 
 exports.ShaderEditorPanel = ShaderEditorPanel;
 
 ShaderEditorPanel.prototype = {
   /**
    * Open is effectively an asynchronous constructor.
    *
    * @return object
    *         A promise that is resolved when the Shader Editor completes opening.
    */
-  open: function() {
+  open: function () {
     let targetPromise;
 
     // Local debugging needs to make the target remote.
     if (!this.target.isRemote) {
       targetPromise = this.target.makeRemote();
     } else {
       targetPromise = promise.resolve(this.target);
     }
@@ -56,17 +56,17 @@ ShaderEditorPanel.prototype = {
   },
 
   // DevToolPanel API
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: function() {
+  destroy: function () {
     // Make sure this panel is not already destroyed.
     if (this._destroyer) {
       return this._destroyer;
     }
 
     return this._destroyer = this.panelWin.shutdownShaderEditor().then(() => {
       // Destroy front to ensure packet handler is removed from client
       this.panelWin.gFront.destroy();
--- a/devtools/client/shadereditor/shadereditor.js
+++ b/devtools/client/shadereditor/shadereditor.js
@@ -34,17 +34,17 @@ const EVENTS = {
   // When the UI is reset from tab navigation
   UI_RESET: "ShaderEditor:UIReset",
 
   // When the editor's error markers are all removed
   EDITOR_ERROR_MARKERS_REMOVED: "ShaderEditor:EditorCleaned"
 };
 XPCOMUtils.defineConstant(this, "EVENTS", EVENTS);
 
-const STRINGS_URI = "chrome://devtools/locale/shadereditor.properties"
+const STRINGS_URI = "chrome://devtools/locale/shadereditor.properties";
 const HIGHLIGHT_TINT = [1, 0, 0.25, 1]; // rgba
 const TYPING_MAX_DELAY = 500; // ms
 const SHADERS_AUTOGROW_ITEMS = 4;
 const GUTTER_ERROR_PANEL_OFFSET_X = 7; // px
 const GUTTER_ERROR_PANEL_DELAY = 100; // ms
 const DEFAULT_EDITOR_CONFIG = {
   gutters: ["errors"],
   lineNumbers: true,
@@ -80,33 +80,33 @@ function shutdownShaderEditor() {
 
 /**
  * Functions handling target-related lifetime events.
  */
 var EventsHandler = {
   /**
    * Listen for events emitted by the current tab target.
    */
-  initialize: function() {
+  initialize: function () {
     this._onHostChanged = this._onHostChanged.bind(this);
     this._onTabNavigated = this._onTabNavigated.bind(this);
     this._onProgramLinked = this._onProgramLinked.bind(this);
     this._onProgramsAdded = this._onProgramsAdded.bind(this);
     gToolbox.on("host-changed", this._onHostChanged);
     gTarget.on("will-navigate", this._onTabNavigated);
     gTarget.on("navigate", this._onTabNavigated);
     gFront.on("program-linked", this._onProgramLinked);
     this.reloadButton = $("#requests-menu-reload-notice-button");
     this.reloadButton.addEventListener("command", this._onReloadCommand);
   },
 
   /**
    * Remove events emitted by the current tab target.
    */
-  destroy: function() {
+  destroy: function () {
     gToolbox.off("host-changed", this._onHostChanged);
     gTarget.off("will-navigate", this._onTabNavigated);
     gTarget.off("navigate", this._onTabNavigated);
     gFront.off("program-linked", this._onProgramLinked);
     this.reloadButton.removeEventListener("command", this._onReloadCommand);
   },
 
   /**
@@ -114,26 +114,26 @@ var EventsHandler = {
    */
   _onReloadCommand() {
     gFront.setup({ reload: true });
   },
 
   /**
    * Handles a host change event on the parent toolbox.
    */
-  _onHostChanged: function() {
+  _onHostChanged: function () {
     if (gToolbox.hostType == "side") {
       $("#shaders-pane").removeAttribute("height");
     }
   },
 
   /**
    * Called for each location change in the debugged tab.
    */
-  _onTabNavigated: function(event, {isFrameSwitching}) {
+  _onTabNavigated: function (event, {isFrameSwitching}) {
     switch (event) {
       case "will-navigate": {
         // Make sure the backend is prepared to handle WebGL contexts.
         if (!isFrameSwitching) {
           gFront.setup({ reload: false });
         }
 
         // Reset UI.
@@ -162,48 +162,48 @@ var EventsHandler = {
         break;
       }
     }
   },
 
   /**
    * Called every time a program was linked in the debugged tab.
    */
-  _onProgramLinked: function(programActor) {
+  _onProgramLinked: function (programActor) {
     this._addProgram(programActor);
     window.emit(EVENTS.NEW_PROGRAM);
   },
 
   /**
    * Callback for the front's getPrograms() method.
    */
-  _onProgramsAdded: function(programActors) {
+  _onProgramsAdded: function (programActors) {
     programActors.forEach(this._addProgram);
     window.emit(EVENTS.PROGRAMS_ADDED);
   },
 
   /**
    * Adds a program to the shaders list and unhides any modal notices.
    */
-  _addProgram: function(programActor) {
+  _addProgram: function (programActor) {
     $("#waiting-notice").hidden = true;
     $("#reload-notice").hidden = true;
     $("#content").hidden = false;
     ShadersListView.addProgram(programActor);
   }
 };
 
 /**
  * Functions handling the sources UI.
  */
 var ShadersListView = Heritage.extend(WidgetMethods, {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     this.widget = new SideMenuWidget(this._pane = $("#shaders-pane"), {
       showArrows: true,
       showItemCheckboxes: true
     });
 
     this._onProgramSelect = this._onProgramSelect.bind(this);
     this._onProgramCheck = this._onProgramCheck.bind(this);
     this._onProgramMouseOver = this._onProgramMouseOver.bind(this);
@@ -213,30 +213,30 @@ var ShadersListView = Heritage.extend(Wi
     this.widget.addEventListener("check", this._onProgramCheck, false);
     this.widget.addEventListener("mouseover", this._onProgramMouseOver, true);
     this.widget.addEventListener("mouseout", this._onProgramMouseOut, true);
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: function() {
+  destroy: function () {
     this.widget.removeEventListener("select", this._onProgramSelect, false);
     this.widget.removeEventListener("check", this._onProgramCheck, false);
     this.widget.removeEventListener("mouseover", this._onProgramMouseOver, true);
     this.widget.removeEventListener("mouseout", this._onProgramMouseOut, true);
   },
 
   /**
    * Adds a program to this programs container.
    *
    * @param object programActor
    *        The program actor coming from the active thread.
    */
-  addProgram: function(programActor) {
+  addProgram: function (programActor) {
     if (this.hasProgram(programActor)) {
       return;
     }
 
     // Currently, there's no good way of differentiating between programs
     // in a way that helps humans. It will be a good idea to implement a
     // standard of allowing debuggees to add some identifiable metadata to their
     // program sources or instances.
@@ -273,24 +273,24 @@ var ShadersListView = Heritage.extend(Wi
   /**
    * Returns whether a program was already added to this programs container.
    *
    * @param object programActor
    *        The program actor coming from the active thread.
    * @param boolean
    *        True if the program was added, false otherwise.
    */
-  hasProgram: function(programActor) {
+  hasProgram: function (programActor) {
     return !!this.attachments.filter(e => e.programActor == programActor).length;
   },
 
   /**
    * The select listener for the programs container.
    */
-  _onProgramSelect: function({ detail: sourceItem }) {
+  _onProgramSelect: function ({ detail: sourceItem }) {
     if (!sourceItem) {
       return;
     }
     // The container is not empty and an actual item was selected.
     let attachment = sourceItem.attachment;
 
     function getShaders() {
       return promise.all([
@@ -315,42 +315,42 @@ var ShadersListView = Heritage.extend(Wi
       .then(getSources)
       .then(showSources)
       .then(null, e => console.error(e));
   },
 
   /**
    * The check listener for the programs container.
    */
-  _onProgramCheck: function({ detail: { checked }, target }) {
+  _onProgramCheck: function ({ detail: { checked }, target }) {
     let sourceItem = this.getItemForElement(target);
     let attachment = sourceItem.attachment;
     attachment.isBlackBoxed = !checked;
     attachment.programActor[checked ? "unblackbox" : "blackbox"]();
   },
 
   /**
    * The mouseover listener for the programs container.
    */
-  _onProgramMouseOver: function(e) {
+  _onProgramMouseOver: function (e) {
     let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
     if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
       sourceItem.attachment.programActor.highlight(HIGHLIGHT_TINT);
 
       if (e instanceof Event) {
         e.preventDefault();
         e.stopPropagation();
       }
     }
   },
 
   /**
    * The mouseout listener for the programs container.
    */
-  _onProgramMouseOut: function(e) {
+  _onProgramMouseOut: function (e) {
     let sourceItem = this.getItemForElement(e.target, { noSiblings: true });
     if (sourceItem && !sourceItem.attachment.isBlackBoxed) {
       sourceItem.attachment.programActor.unhighlight();
 
       if (e instanceof Event) {
         e.preventDefault();
         e.stopPropagation();
       }
@@ -360,28 +360,28 @@ var ShadersListView = Heritage.extend(Wi
 
 /**
  * Functions handling the editors displaying the vertex and fragment shaders.
  */
 var ShadersEditorsView = {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     XPCOMUtils.defineLazyGetter(this, "_editorPromises", () => new Map());
     this._vsFocused = this._onFocused.bind(this, "vs", "fs");
     this._fsFocused = this._onFocused.bind(this, "fs", "vs");
     this._vsChanged = this._onChanged.bind(this, "vs");
     this._fsChanged = this._onChanged.bind(this, "fs");
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     this._destroyed = true;
     yield this._toggleListeners("off");
     for (let p of this._editorPromises.values()) {
       let editor = yield p;
       editor.destroy();
     }
   }),
 
@@ -390,24 +390,24 @@ var ShadersEditorsView = {
    *
    * @param object sources
    *        An object containing the following properties
    *          - vs: the vertex shader source code
    *          - fs: the fragment shader source code
    * @return object
    *        A promise resolving upon completion of text setting.
    */
-  setText: function(sources) {
+  setText: function (sources) {
     let view = this;
     function setTextAndClearHistory(editor, text) {
       editor.setText(text);
       editor.clearHistory();
     }
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield view._toggleListeners("off");
       yield promise.all([
         view._getEditor("vs").then(e => setTextAndClearHistory(e, sources.vs)),
         view._getEditor("fs").then(e => setTextAndClearHistory(e, sources.fs))
       ]);
       yield view._toggleListeners("on");
     }).then(() => window.emit(EVENTS.SOURCES_SHOWN, sources));
   },
@@ -416,27 +416,27 @@ var ShadersEditorsView = {
    * Lazily initializes and returns a promise for an Editor instance.
    *
    * @param string type
    *        Specifies for which shader type should an editor be retrieved,
    *        either are "vs" for a vertex, or "fs" for a fragment shader.
    * @return object
    *        Returns a promise that resolves to an editor instance
    */
-  _getEditor: function(type) {
+  _getEditor: function (type) {
     if (this._editorPromises.has(type)) {
       return this._editorPromises.get(type);
     }
 
     let deferred = promise.defer();
     this._editorPromises.set(type, deferred.promise);
 
     // Initialize the source editor and store the newly created instance
     // in the ether of a resolved promise's value.
-    let parent = $("#" + type +"-editor");
+    let parent = $("#" + type + "-editor");
     let editor = new Editor(DEFAULT_EDITOR_CONFIG);
     editor.config.mode = Editor.modes[type];
 
     if (this._destroyed) {
       deferred.resolve(editor);
     } else {
       editor.appendTo(parent).then(() => deferred.resolve(editor));
     }
@@ -447,84 +447,84 @@ var ShadersEditorsView = {
   /**
    * Toggles all the event listeners for the editors either on or off.
    *
    * @param string flag
    *        Either "on" to enable the event listeners, "off" to disable them.
    * @return object
    *        A promise resolving upon completion of toggling the listeners.
    */
-  _toggleListeners: function(flag) {
+  _toggleListeners: function (flag) {
     return promise.all(["vs", "fs"].map(type => {
       return this._getEditor(type).then(editor => {
         editor[flag]("focus", this["_" + type + "Focused"]);
         editor[flag]("change", this["_" + type + "Changed"]);
       });
     }));
   },
 
   /**
    * The focus listener for a source editor.
    *
    * @param string focused
    *        The corresponding shader type for the focused editor (e.g. "vs").
    * @param string focused
    *        The corresponding shader type for the other editor (e.g. "fs").
    */
-  _onFocused: function(focused, unfocused) {
+  _onFocused: function (focused, unfocused) {
     $("#" + focused + "-editor-label").setAttribute("selected", "");
     $("#" + unfocused + "-editor-label").removeAttribute("selected");
   },
 
   /**
    * The change listener for a source editor.
    *
    * @param string type
    *        The corresponding shader type for the focused editor (e.g. "vs").
    */
-  _onChanged: function(type) {
+  _onChanged: function (type) {
     setNamedTimeout("gl-typed", TYPING_MAX_DELAY, () => this._doCompile(type));
 
     // Remove all the gutter markers and line classes from the editor.
     this._cleanEditor(type);
   },
 
   /**
    * Recompiles the source code for the shader being edited.
    * This function is fired at a certain delay after the user stops typing.
    *
    * @param string type
    *        The corresponding shader type for the focused editor (e.g. "vs").
    */
-  _doCompile: function(type) {
-    Task.spawn(function*() {
+  _doCompile: function (type) {
+    Task.spawn(function* () {
       let editor = yield this._getEditor(type);
       let shaderActor = yield ShadersListView.selectedAttachment[type];
 
       try {
         yield shaderActor.compile(editor.getText());
         this._onSuccessfulCompilation();
       } catch (e) {
         this._onFailedCompilation(type, editor, e);
       }
     }.bind(this));
   },
 
   /**
    * Called uppon a successful shader compilation.
    */
-  _onSuccessfulCompilation: function() {
+  _onSuccessfulCompilation: function () {
     // Signal that the shader was compiled successfully.
     window.emit(EVENTS.SHADER_COMPILED, null);
   },
 
   /**
    * Called uppon an unsuccessful shader compilation.
    */
-  _onFailedCompilation: function(type, editor, errors) {
+  _onFailedCompilation: function (type, editor, errors) {
     let lineCount = editor.lineCount();
     let currentLine = editor.getCursor().line;
     let listeners = { mouseover: this._onMarkerMouseOver };
 
     function matchLinesAndMessages(string) {
       return {
         // First number that is not equal to 0.
         lineMatch: string.match(/\d{2,}|[1-9]/),
@@ -582,31 +582,31 @@ var ShadersEditorsView = {
 
     // Signal that the shader wasn't compiled successfully.
     window.emit(EVENTS.SHADER_COMPILED, errors);
   },
 
   /**
    * Event listener for the 'mouseover' event on a marker in the editor gutter.
    */
-  _onMarkerMouseOver: function(line, node, messages) {
+  _onMarkerMouseOver: function (line, node, messages) {
     if (node._markerErrorsTooltip) {
       return;
     }
 
     let tooltip = node._markerErrorsTooltip = new Tooltip(document);
     tooltip.defaultOffsetX = GUTTER_ERROR_PANEL_OFFSET_X;
     tooltip.setTextContent({ messages: messages });
     tooltip.startTogglingOnHover(node, () => true, GUTTER_ERROR_PANEL_DELAY);
   },
 
   /**
    * Removes all the gutter markers and line classes from the editor.
    */
-  _cleanEditor: function(type) {
+  _cleanEditor: function (type) {
     this._getEditor(type).then(editor => {
       editor.removeAllMarkers("errors");
       this._errors[type].forEach(e => editor.removeLineClass(e.line));
       this._errors[type].length = 0;
       window.emit(EVENTS.EDITOR_ERROR_MARKERS_REMOVED);
     });
   },
 
--- a/devtools/client/shadereditor/test/browser_se_programs-list.js
+++ b/devtools/client/shadereditor/test/browser_se_programs-list.js
@@ -63,25 +63,25 @@ function* ifWebGLSupported() {
   is(ShadersListView.selectedItem, ShadersListView.items[1],
     "The shaders list has a correct item selected.");
   is(ShadersListView.selectedIndex, 1,
     "The shaders list has a correct index selected.");
 
   yield teardown(panel);
   finish();
 
-  function checkFirstProgram () {
+  function checkFirstProgram() {
     is(ShadersListView.itemCount, 1,
       "The shaders list contains one entry.");
     is(ShadersListView.selectedItem, ShadersListView.items[0],
       "The shaders list has a correct item selected.");
     is(ShadersListView.selectedIndex, 0,
       "The shaders list has a correct index selected.");
   }
-  function checkSecondProgram () {
+  function checkSecondProgram() {
     is(ShadersListView.itemCount, 2,
       "The shaders list contains two entries.");
     is(ShadersListView.selectedItem, ShadersListView.items[0],
       "The shaders list has a correct item selected.");
     is(ShadersListView.selectedIndex, 0,
       "The shaders list has a correct index selected.");
   }
 }
--- a/devtools/client/shadereditor/test/browser_se_shaders-edit-03.js
+++ b/devtools/client/shadereditor/test/browser_se_shaders-edit-03.js
@@ -12,17 +12,17 @@ function* ifWebGLSupported() {
 
   reload(target);
 
   yield promise.all([
     once(gFront, "program-linked"),
     once(gFront, "program-linked")
   ]);
 
-  yield once(panel.panelWin, EVENTS.SOURCES_SHOWN)
+  yield once(panel.panelWin, EVENTS.SOURCES_SHOWN);
 
   let vsEditor = yield ShadersEditorsView._getEditor("vs");
   let fsEditor = yield ShadersEditorsView._getEditor("fs");
 
   is(ShadersListView.selectedIndex, 0,
     "The first program is currently selected.");
   is(vsEditor.getText().indexOf("1);"), 136,
     "The vertex shader editor contains the correct initial text (1).");
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-04.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-04.js
@@ -7,17 +7,17 @@
  */
 
 function* ifWebGLSupported() {
   let { target, front } = yield initBackend(SIMPLE_CANVAS_URL);
   front.setup({ reload: true });
 
   let programActor = yield once(front, "program-linked");
   ok(programActor,
-    "A program actor was sent along with the 'program-linked' notification.")
+    "A program actor was sent along with the 'program-linked' notification.");
 
   let vertexShader = yield programActor.getVertexShader();
   ok(programActor,
     "A vertex shader actor was retrieved from the program actor.");
 
   let fragmentShader = yield programActor.getFragmentShader();
   ok(programActor,
     "A fragment shader actor was retrieved from the program actor.");
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-06.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-06.js
@@ -39,17 +39,17 @@ function* ifWebGLSupported() {
 
   yield programActor.unblackbox();
   yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
   yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
   yield checkShaderSource("The shader sources are correct after unblackboxing.");
   ok(true, "The corner pixel colors are correct after unblackboxing.");
 
   function checkShaderSource(aMessage) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       let newVertexShader = yield programActor.getVertexShader();
       let newFragmentShader = yield programActor.getFragmentShader();
       is(vertexShader, newVertexShader,
         "The same vertex shader actor was retrieved.");
       is(fragmentShader, newFragmentShader,
         "The same fragment shader actor was retrieved.");
 
       let vertSource = yield newVertexShader.getText();
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-10.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-10.js
@@ -20,17 +20,17 @@ function* ifWebGLSupported() {
   reload(target);
   yield testHighlighting((yield once(front, "program-linked")));
   ok(true, "Canvas was correctly instrumented on the third navigation.");
 
   yield removeTab(target.tab);
   finish();
 
   function testHighlighting(programActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct before highlighting.");
 
       yield programActor.highlight([0, 1, 0, 1]);
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct after highlighting.");
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-15.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-15.js
@@ -48,28 +48,28 @@ function* ifWebGLSupported() {
   yield checkSecondCachedPrograms(firstProgram, [secondProgram, thirdProgram]);
   yield checkHighlightingInTheSecondPage(secondProgram, thirdProgram);
   ok(true, "The cached programs behave correctly after navigating forward again.");
 
   yield removeTab(target.tab);
   finish();
 
   function checkFirstCachedPrograms(programActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       let programs = yield front.getPrograms();
 
       is(programs.length, 1,
         "There should be 1 cached program actor.");
       is(programs[0], programActor,
         "The cached program actor was the expected one.");
-    })
+    });
   }
 
   function checkSecondCachedPrograms(oldProgramActor, newProgramActors) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       let programs = yield front.getPrograms();
 
       is(programs.length, 2,
         "There should be 2 cached program actors after the navigation.");
       is(programs[0], newProgramActors[0],
         "The first cached program actor was the expected one after the navigation.");
       is(programs[1], newProgramActors[1],
         "The second cached program actor was the expected one after the navigation.");
@@ -77,17 +77,17 @@ function* ifWebGLSupported() {
       isnot(newProgramActors[0], oldProgramActor,
         "The old program actor is not equal to the new first program actor.");
       isnot(newProgramActors[1], oldProgramActor,
         "The old program actor is not equal to the new second program actor.");
     });
   }
 
   function checkHighlightingInTheFirstPage(programActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct before highlighting.");
 
       yield programActor.highlight([0, 1, 0, 1]);
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct after highlighting.");
@@ -95,17 +95,17 @@ function* ifWebGLSupported() {
       yield programActor.unhighlight();
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct after unhighlighting.");
     });
   }
 
   function checkHighlightingInTheSecondPage(firstProgramActor, secondProgramActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
       yield ensurePixelIs(front, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
       yield ensurePixelIs(front, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
       ok(true, "The two canvases are correctly drawn before highlighting.");
 
       yield firstProgramActor.highlight([1, 0, 0, 1]);
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-16.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-16.js
@@ -85,17 +85,17 @@ function* ifWebGLSupported() {
 
   yield checkHighlightingInTheSecondPage(programs[0], programs[1]);
   ok(true, "The cached programs behave correctly after navigating forward and reloading.");
 
   yield removeTab(target.tab);
   finish();
 
   function checkHighlightingInTheFirstPage(programActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct before highlighting.");
 
       yield programActor.highlight([0, 1, 0, 1]);
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 0, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct after highlighting.");
@@ -103,17 +103,17 @@ function* ifWebGLSupported() {
       yield programActor.unhighlight();
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true);
       yield ensurePixelIs(front, { x: 511, y: 511 }, { r: 0, g: 255, b: 0, a: 255 }, true);
       ok(true, "The corner pixel colors are correct after unhighlighting.");
     });
   }
 
   function checkHighlightingInTheSecondPage(firstProgramActor, secondProgramActor) {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
       yield ensurePixelIs(front, { x: 127, y: 127 }, { r: 255, g: 255, b: 0, a: 255 }, true, "#canvas1");
       yield ensurePixelIs(front, { x: 127, y: 127 }, { r: 0, g: 255, b: 255, a: 255 }, true, "#canvas2");
       ok(true, "The two canvases are correctly drawn before highlighting.");
 
       yield firstProgramActor.highlight([1, 0, 0, 1]);
       yield ensurePixelIs(front, { x: 0, y: 0 }, { r: 255, g: 0, b: 0, a: 255 }, true, "#canvas1");
--- a/devtools/client/shadereditor/test/browser_webgl-actor-test-18.js
+++ b/devtools/client/shadereditor/test/browser_webgl-actor-test-18.js
@@ -10,22 +10,22 @@ function* ifWebGLSupported() {
   front.setup({ reload: true });
 
   yield getPrograms(front, 2);
 
   // Wait a frame to ensure rendering
   yield front.waitForFrame();
 
   let pixel = yield front.getPixel({ selector: "#canvas1", position: { x: 0, y: 0 }});
-  is(pixel.r, 255, "correct `r` value for first canvas.")
-  is(pixel.g, 255, "correct `g` value for first canvas.")
-  is(pixel.b, 0, "correct `b` value for first canvas.")
-  is(pixel.a, 255, "correct `a` value for first canvas.")
+  is(pixel.r, 255, "correct `r` value for first canvas.");
+  is(pixel.g, 255, "correct `g` value for first canvas.");
+  is(pixel.b, 0, "correct `b` value for first canvas.");
+  is(pixel.a, 255, "correct `a` value for first canvas.");
 
   pixel = yield front.getPixel({ selector: "#canvas2", position: { x: 0, y: 0 }});
-  is(pixel.r, 0, "correct `r` value for second canvas.")
-  is(pixel.g, 255, "correct `g` value for second canvas.")
-  is(pixel.b, 255, "correct `b` value for second canvas.")
-  is(pixel.a, 255, "correct `a` value for second canvas.")
+  is(pixel.r, 0, "correct `r` value for second canvas.");
+  is(pixel.g, 255, "correct `g` value for second canvas.");
+  is(pixel.b, 255, "correct `b` value for second canvas.");
+  is(pixel.a, 255, "correct `a` value for second canvas.");
 
   yield removeTab(target.tab);
   finish();
 }
--- a/devtools/client/shadereditor/test/head.js
+++ b/devtools/client/shadereditor/test/head.js
@@ -14,17 +14,17 @@ var { DebuggerClient } = require("devtoo
 var { DebuggerServer } = require("devtools/server/main");
 var { WebGLFront } = require("devtools/server/actors/webgl");
 var DevToolsUtils = require("devtools/shared/DevToolsUtils");
 var { TargetFactory } = require("devtools/client/framework/target");
 var { Toolbox } = require("devtools/client/framework/toolbox");
 var { isWebGLSupported } = require("devtools/client/shared/webgl-utils");
 var mm = null;
 
-const FRAME_SCRIPT_UTILS_URL = "chrome://devtools/content/shared/frame-script-utils.js"
+const FRAME_SCRIPT_UTILS_URL = "chrome://devtools/content/shared/frame-script-utils.js";
 const EXAMPLE_URL = "http://example.com/browser/devtools/client/shadereditor/test/";
 const SIMPLE_CANVAS_URL = EXAMPLE_URL + "doc_simple-canvas.html";
 const SHADER_ORDER_URL = EXAMPLE_URL + "doc_shader-order.html";
 const MULTIPLE_CONTEXTS_URL = EXAMPLE_URL + "doc_multiple-contexts.html";
 const OVERLAPPING_GEOMETRY_CANVAS_URL = EXAMPLE_URL + "doc_overlapping-geometry.html";
 const BLENDED_GEOMETRY_CANVAS_URL = EXAMPLE_URL + "doc_blended-geometry.html";
 
 var gEnableLogging = Services.prefs.getBoolPref("devtools.debugger.log");
@@ -52,17 +52,17 @@ registerCleanupFunction(() => {
 
 /**
  * Call manually in tests that use frame script utils after initializing
  * the shader editor. Must be called after initializing so we can detect
  * whether or not `content` is a CPOW or not. Call after init but before navigating
  * to different pages, as bfcache and thus shader caching gets really strange if
  * frame script attached in the middle of the test.
  */
-function loadFrameScripts () {
+function loadFrameScripts() {
   if (Cu.isCrossProcessWrapper(content)) {
     mm = gBrowser.selectedBrowser.messageManager;
     mm.loadFrameScript(FRAME_SCRIPT_UTILS_URL, false);
   }
 }
 
 function addTab(aUrl, aWindow) {
   info("Adding tab: " + aUrl);
@@ -177,18 +177,18 @@ function isApprox(aFirst, aSecond, aMarg
 
 function isApproxColor(aFirst, aSecond, aMargin) {
   return isApprox(aFirst.r, aSecond.r, aMargin) &&
     isApprox(aFirst.g, aSecond.g, aMargin) &&
     isApprox(aFirst.b, aSecond.b, aMargin) &&
     isApprox(aFirst.a, aSecond.a, aMargin);
 }
 
-function ensurePixelIs (aFront, aPosition, aColor, aWaitFlag = false, aSelector = "canvas") {
-  return Task.spawn(function*() {
+function ensurePixelIs(aFront, aPosition, aColor, aWaitFlag = false, aSelector = "canvas") {
+  return Task.spawn(function* () {
     let pixel = yield aFront.getPixel({ selector: aSelector, position: aPosition });
     if (isApproxColor(pixel, aColor)) {
       ok(true, "Expected pixel is shown at: " + aPosition.toSource());
       return;
     }
 
     if (aWaitFlag) {
       yield aFront.waitForFrame();
@@ -226,31 +226,31 @@ function reload(aTarget, aWaitForTargetE
 function initBackend(aUrl) {
   info("Initializing a shader editor front.");
 
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
   }
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     let front = new WebGLFront(target.client, target.form);
     return { target, front };
   });
 }
 
 function initShaderEditor(aUrl) {
   info("Initializing a shader editor pane.");
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     Services.prefs.setBoolPref("devtools.shadereditor.enabled", true);
     let toolbox = yield gDevTools.showToolbox(target, "shadereditor");
     let panel = toolbox.getCurrentPanel();
@@ -273,20 +273,20 @@ function teardown(aPanel) {
 // all actors and returns an array containing them.
 //
 // Takes a `front` object that is an event emitter, the number of
 // programs that should be listened to and waited on, and an optional
 // `onAdd` function that calls with the entire actors array on program link
 function getPrograms(front, count, onAdd) {
   let actors = [];
   let deferred = promise.defer();
-  front.on("program-linked", function onLink (actor) {
+  front.on("program-linked", function onLink(actor) {
     if (actors.length !== count) {
       actors.push(actor);
-      if (typeof onAdd === 'function') onAdd(actors)
+      if (typeof onAdd === "function") onAdd(actors);
     }
     if (actors.length === count) {
       front.off("program-linked", onLink);
       deferred.resolve(actors);
     }
   });
   return deferred.promise;
 }
--- a/devtools/client/shared/AppCacheUtils.jsm
+++ b/devtools/client/shared/AppCacheUtils.jsm
@@ -23,17 +23,17 @@
  *  - etc.
  */
 
 "use strict";
 
 const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
 
 var { XPCOMUtils } = Cu.import("resource://gre/modules/XPCOMUtils.jsm", {});
-var { NetUtil }    = Cu.import("resource://gre/modules/NetUtil.jsm", {});
+var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 var { LoadContextInfo } = Cu.import("resource://gre/modules/LoadContextInfo.jsm", {});
 var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 var Services = require("Services");
 var promise = require("promise");
 
 this.EXPORTED_SYMBOLS = ["AppCacheUtils"];
 
 function AppCacheUtils(documentOrUri) {
@@ -64,17 +64,17 @@ AppCacheUtils.prototype = {
       if (!this.manifestURI) {
         this._addError(0, "noManifest");
         deferred.resolve(this.errors);
       }
 
       this._getURIInfo(this.manifestURI).then(uriInfo => {
         this._parseManifest(uriInfo).then(() => {
           // Sort errors by line number.
-          this.errors.sort(function(a, b) {
+          this.errors.sort(function (a, b) {
             return a.line - b.line;
           });
           deferred.resolve(this.errors);
         });
       });
     });
 
     return deferred.promise;
@@ -183,20 +183,20 @@ AppCacheUtils.prototype = {
   },
 
   _getURIInfo: function ACU__getURIInfo(uri) {
     let inputStream = Cc["@mozilla.org/scriptableinputstream;1"]
                         .createInstance(Ci.nsIScriptableInputStream);
     let deferred = promise.defer();
     let buffer = "";
     var channel = NetUtil.newChannel({
-                    uri: uri,
-                    loadUsingSystemPrincipal: true,
-                    securityFlags: Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL
-                  });
+      uri: uri,
+      loadUsingSystemPrincipal: true,
+      securityFlags: Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL
+    });
 
     // Avoid the cache:
     channel.loadFlags |= Ci.nsIRequest.LOAD_BYPASS_CACHE;
     channel.loadFlags |= Ci.nsIRequest.INHIBIT_CACHING;
 
     channel.asyncOpen2({
       onStartRequest: function (request, context) {
         // This empty method is needed in order for onDataAvailable to be
@@ -221,22 +221,22 @@ AppCacheUtils.prototype = {
             mimeType: request.contentType,
             contentLength: request.contentLength,
             nocache: request.isNoCacheResponse() || request.isNoStoreResponse(),
             prePath: request.URI.prePath + "/",
             text: buffer
           };
 
           result.requestHeaders = {};
-          request.visitRequestHeaders(function(header, value) {
+          request.visitRequestHeaders(function (header, value) {
             result.requestHeaders[header] = value;
           });
 
           result.responseHeaders = {};
-          request.visitResponseHeaders(function(header, value) {
+          request.visitResponseHeaders(function (header, value) {
             result.responseHeaders[header] = value;
           });
 
           deferred.resolve(result);
         } else {
           deferred.resolve({
             name: request.name,
             success: false
@@ -251,19 +251,19 @@ AppCacheUtils.prototype = {
     if (!Services.prefs.getBoolPref("browser.cache.disk.enable")) {
       throw new Error(l10n.GetStringFromName("cacheDisabled"));
     }
 
     let entries = [];
 
     let appCacheStorage = Services.cache2.appCacheStorage(LoadContextInfo.default, null);
     appCacheStorage.asyncVisitStorage({
-      onCacheStorageInfo: function() {},
+      onCacheStorageInfo: function () {},
 
-      onCacheEntryInfo: function(aURI, aIdEnhance, aDataSize, aFetchCount, aLastModifiedTime, aExpirationTime) {
+      onCacheEntryInfo: function (aURI, aIdEnhance, aDataSize, aFetchCount, aLastModifiedTime, aExpirationTime) {
         let lowerKey = aURI.asciiSpec.toLowerCase();
 
         if (searchTerm && lowerKey.indexOf(searchTerm.toLowerCase()) == -1) {
           return;
         }
 
         if (aIdEnhance) {
           aIdEnhance += ":";
@@ -300,17 +300,17 @@ AppCacheUtils.prototype = {
 
   clearAll: function ACU_clearAll() {
     if (!Services.prefs.getBoolPref("browser.cache.disk.enable")) {
       throw new Error(l10n.GetStringFromName("cacheDisabled"));
     }
 
     let appCacheStorage = Services.cache2.appCacheStorage(LoadContextInfo.default, null);
     appCacheStorage.asyncEvictStorage({
-      onCacheEntryDoomed: function(result) {}
+      onCacheEntryDoomed: function (result) {}
     });
   },
 
   _getManifestURI: function ACU__getManifestURI() {
     let deferred = promise.defer();
 
     let getURI = () => {
       let htmlNode = this.doc.querySelector("html[manifest]");
@@ -612,17 +612,17 @@ ManifestParser.prototype = {
       }
     }
   },
 };
 
 XPCOMUtils.defineLazyGetter(this, "l10n", () => Services.strings
   .createBundle("chrome://devtools/locale/appcacheutils.properties"));
 
-XPCOMUtils.defineLazyGetter(this, "appcacheservice", function() {
+XPCOMUtils.defineLazyGetter(this, "appcacheservice", function () {
   return Cc["@mozilla.org/network/application-cache-service;1"]
            .getService(Ci.nsIApplicationCacheService);
 
 });
 
-XPCOMUtils.defineLazyGetter(this, "_DOMParser", function() {
+XPCOMUtils.defineLazyGetter(this, "_DOMParser", function () {
   return Cc["@mozilla.org/xmlextras/domparser;1"].createInstance(Ci.nsIDOMParser);
 });
--- a/devtools/client/shared/Curl.jsm
+++ b/devtools/client/shared/Curl.jsm
@@ -54,17 +54,17 @@ this.Curl = {
    *          - method:string, the request method upper cased. HEAD / GET / POST etc.
    *          - headers:array, an array of request headers {name:x, value:x} tuples.
    *          - httpVersion:string, http protocol version rfc2616 formatted. Eg. "HTTP/1.1"
    *          - postDataText:string, optional - the request payload.
    *
    * @return string
    *         A cURL command.
    */
-  generateCommand: function(aData) {
+  generateCommand: function (aData) {
     let utils = CurlUtils;
 
     let command = ["curl"];
     let ignoredHeaders = new Set();
 
     // The cURL command is expected to run on the same platform that Firefox runs
     // (it may be different from the inspected page platform).
     let escapeString = Services.appinfo.OS == "WINNT" ?
@@ -115,17 +115,17 @@ this.Curl = {
     // Add request headers.
     let headers = aData.headers;
     if (multipartRequest) {
       let multipartHeaders = utils.getHeadersFromMultipartText(postDataText);
       headers = headers.concat(multipartHeaders);
     }
     for (let i = 0; i < headers.length; i++) {
       let header = headers[i];
-      if (header.name === "Accept-Encoding"){
+      if (header.name === "Accept-Encoding") {
         command.push("--compressed");
         continue;
       }
       if (ignoredHeaders.has(header.name)) {
         continue;
       }
       command.push("-H");
       command.push(escapeString(header.name + ": " + header.value));
@@ -145,17 +145,17 @@ this.CurlUtils = {
   /**
    * Check if the request is an URL encoded request.
    *
    * @param object aData
    *        The data source. See the description in the Curl object.
    * @return boolean
    *         True if the request is URL encoded, false otherwise.
    */
-  isUrlEncodedRequest: function(aData) {
+  isUrlEncodedRequest: function (aData) {
     let postDataText = aData.postDataText;
     if (!postDataText) {
       return false;
     }
 
     postDataText = postDataText.toLowerCase();
     if (postDataText.includes("content-type: application/x-www-form-urlencoded")) {
       return true;
@@ -170,17 +170,17 @@ this.CurlUtils = {
   /**
    * Check if the request is a multipart request.
    *
    * @param object aData
    *        The data source.
    * @return boolean
    *         True if the request is multipart reqeust, false otherwise.
    */
-  isMultipartRequest: function(aData) {
+  isMultipartRequest: function (aData) {
     let postDataText = aData.postDataText;
     if (!postDataText) {
       return false;
     }
 
     postDataText = postDataText.toLowerCase();
     if (postDataText.includes("content-type: multipart/form-data")) {
       return true;
@@ -195,32 +195,32 @@ this.CurlUtils = {
   /**
    * Write out paramters from post data text.
    *
    * @param object aPostDataText
    *        Post data text.
    * @return string
    *         Post data parameters.
    */
-  writePostDataTextParams: function(aPostDataText) {
+  writePostDataTextParams: function (aPostDataText) {
     let lines = aPostDataText.split("\r\n");
     return lines[lines.length - 1];
   },
 
   /**
    * Finds the header with the given name in the headers array.
    *
    * @param array aHeaders
    *        Array of headers info {name:x, value:x}.
    * @param string aName
    *        The header name to find.
    * @return string
    *         The found header value or null if not found.
    */
-  findHeader: function(aHeaders, aName) {
+  findHeader: function (aHeaders, aName) {
     if (!aHeaders) {
       return null;
     }
 
     let name = aName.toLowerCase();
     for (let header of aHeaders) {
       if (name == header.name.toLowerCase()) {
         return header.value;
@@ -233,17 +233,17 @@ this.CurlUtils = {
   /**
    * Returns the boundary string for a multipart request.
    *
    * @param string aData
    *        The data source. See the description in the Curl object.
    * @return string
    *         The boundary string for the request.
    */
-  getMultipartBoundary: function(aData) {
+  getMultipartBoundary: function (aData) {
     let boundaryRe = /\bboundary=(-{3,}\w+)/i;
 
     // Get the boundary string from the Content-Type request header.
     let contentType = this.findHeader(aData.headers, "Content-Type");
     if (boundaryRe.test(contentType)) {
       return contentType.match(boundaryRe)[1];
     }
     // Temporary workaround. As of 2014-03-11 the requestHeaders array does not
@@ -262,17 +262,17 @@ this.CurlUtils = {
    *
    * @param string aMultipartText
    *        Multipart form data text.
    * @param string aBoundary
    *        The boundary string.
    * @return string
    *         The mulitpart text without the binary data.
    */
-  removeBinaryDataFromMultipartText: function(aMultipartText, aBoundary) {
+  removeBinaryDataFromMultipartText: function (aMultipartText, aBoundary) {
     let result = "";
     let boundary = "--" + aBoundary;
     let parts = aMultipartText.split(boundary);
     for (let part of parts) {
       // Each part is expected to have a content disposition line.
       let contentDispositionLine = part.trimLeft().split("\r\n")[0];
       if (!contentDispositionLine) {
         continue;
@@ -298,17 +298,17 @@ this.CurlUtils = {
   /**
    * Get the headers from a multipart post data text.
    *
    * @param string aMultipartText
    *        Multipart post text.
    * @return array
    *         An array of header objects {name:x, value:x}
    */
-  getHeadersFromMultipartText: function(aMultipartText) {
+  getHeadersFromMultipartText: function (aMultipartText) {
     let headers = [];
     if (!aMultipartText || aMultipartText.startsWith("---")) {
       return headers;
     }
 
     // Get the header section.
     let index = aMultipartText.indexOf("\r\n\r\n");
     if (index == -1) {
@@ -344,17 +344,17 @@ this.CurlUtils = {
 
     return headers;
   },
 
   /**
    * Escape util function for POSIX oriented operating systems.
    * Credit: Google DevTools
    */
-  escapeStringPosix: function(str) {
+  escapeStringPosix: function (str) {
     function escapeCharacter(x) {
       let code = x.charCodeAt(0);
       if (code < 256) {
         // Add leading zero when needed to not care about the next character.
         return code < 16 ? "\\x0" + code.toString(16) : "\\x" + code.toString(16);
       }
       code = code.toString(16);
       return "\\u" + ("0000" + code).substr(code.length, 4);
@@ -372,17 +372,17 @@ this.CurlUtils = {
       return "'" + str + "'";
     }
   },
 
   /**
    * Escape util function for Windows systems.
    * Credit: Google DevTools
    */
-  escapeStringWin: function(str) {
+  escapeStringWin: function (str) {
     /* Replace quote by double quote (but not by \") because it is
        recognized by both cmd.exe and MS Crt arguments parser.
 
        Replace % by "%" because it could be expanded to an environment
        variable value. So %% becomes "%""%". Even if an env variable ""
        (2 doublequotes) is declared, the cmd.exe will not
        substitute it with its value.
 
--- a/devtools/client/shared/DOMHelpers.jsm
+++ b/devtools/client/shared/DOMHelpers.jsm
@@ -137,25 +137,25 @@ DOMHelpers.prototype = {
    * chrome iframes are loaded in content docshells (in Firefox
    * tabs for example).
    */
   onceDOMReady: function Helpers_onLocationChange(callback, targetURL) {
     let window = this.window;
     let docShell = window.QueryInterface(Ci.nsIInterfaceRequestor)
                          .getInterface(Ci.nsIWebNavigation)
                          .QueryInterface(Ci.nsIDocShell);
-    let onReady = function(event) {
+    let onReady = function (event) {
       if (event.target == window.document) {
         docShell.chromeEventHandler.removeEventListener("DOMContentLoaded", onReady, false);
         // If in `callback` the URL of the window is changed and a listener to DOMContentLoaded
         // is attached, the event we just received will be also be caught by the new listener.
         // We want to avoid that so we execute the callback in the next queue.
         Services.tm.mainThread.dispatch(callback, 0);
       }
-    }
+    };
     if ((window.document.readyState == "complete" ||
          window.document.readyState == "interactive") &&
          window.location.href == targetURL) {
       Services.tm.mainThread.dispatch(callback, 0);
     } else {
       docShell.chromeEventHandler.addEventListener("DOMContentLoaded", onReady, false);
     }
   }
--- a/devtools/client/shared/SplitView.jsm
+++ b/devtools/client/shared/SplitView.jsm
@@ -26,17 +26,17 @@ var bindings = new WeakMap();
  * @see appendItem
  */
 this.SplitView = function SplitView(aRoot)
 {
   this._root = aRoot;
   this._controller = aRoot.querySelector(".splitview-controller");
   this._nav = aRoot.querySelector(".splitview-nav");
   this._side = aRoot.querySelector(".splitview-side-details");
-  this._activeSummary = null
+  this._activeSummary = null;
 
   this._mql = aRoot.ownerDocument.defaultView.matchMedia(LANDSCAPE_MEDIA_QUERY);
 
   // items list focus and search-on-type handling
   this._nav.addEventListener("keydown", (aEvent) => {
     function getFocusedItemWithin(nav) {
       let node = nav.ownerDocument.activeElement;
       while (node && node.parentNode != nav) {
@@ -73,17 +73,17 @@ this.SplitView = function SplitView(aRoo
       aEvent.stopPropagation();
       let el = this.getSummaryElementByOrdinal(newFocusOrdinal);
       if (el) {
         el.focus();
       }
       return false;
     }
   }, false);
-}
+};
 
 SplitView.prototype = {
   /**
     * Retrieve whether the UI currently has a landscape orientation.
     *
     * @return boolean
     */
   get isLandscape()
--- a/devtools/client/shared/autocomplete-popup.js
+++ b/devtools/client/shared/autocomplete-popup.js
@@ -143,17 +143,17 @@ AutocompletePopup.prototype = {
    *        Horizontal offset in pixels from the left of the node to the left
    *        of the popup.
    * @param {Number} yOffset
    *        Vertical offset in pixels from the top of the node to the starting
    *        of the popup.
    * @param {Number} index
    *        The position of item to select.
    */
-  openPopup: function(anchor, xOffset = 0, yOffset = 0, index) {
+  openPopup: function (anchor, xOffset = 0, yOffset = 0, index) {
     this.__maxLabelLength = -1;
     this._updateSize();
     this._panel.openPopup(anchor, this.position, xOffset, yOffset);
 
     if (this.autoSelect) {
       this.selectItemAtIndex(index);
     }
 
@@ -161,30 +161,30 @@ AutocompletePopup.prototype = {
   },
 
   /**
    * Select item at the provided index.
    *
    * @param {Number} index
    *        The position of the item to select.
    */
-  selectItemAtIndex: function(index) {
+  selectItemAtIndex: function (index) {
     if (typeof index != "number") {
       // If no index was provided, select the item closest to the input.
       let isAboveInput = this.position.includes("before");
       index = isAboveInput ? this.itemCount - 1 : 0;
     }
     this.selectedIndex = index;
     this._list.ensureIndexIsVisible(this._list.selectedIndex);
   },
 
   /**
    * Hide the autocomplete popup panel.
    */
-  hidePopup: function() {
+  hidePopup: function () {
     // Return accessibility focus to the input.
     this._document.activeElement.removeAttribute("aria-activedescendant");
     this._panel.hidePopup();
   },
 
   /**
    * Check if the autocomplete popup is open.
    */
@@ -194,17 +194,17 @@ AutocompletePopup.prototype = {
   },
 
   /**
    * Destroy the object instance. Please note that the panel DOM elements remain
    * in the DOM, because they might still be in use by other instances of the
    * same code. It is the responsability of the client code to perform DOM
    * cleanup.
    */
-  destroy: function() {
+  destroy: function () {
     if (this.isOpen) {
       this.hidePopup();
     }
 
     this._list.removeEventListener("select", this.onSelect, false);
     this._list.removeEventListener("click", this.onClick, false);
     this._list.removeEventListener("keypress", this.onKeypress, false);
 
@@ -222,44 +222,44 @@ AutocompletePopup.prototype = {
   /**
    * Get the autocomplete items array.
    *
    * @param {Number} index
    *        The index of the item what is wanted.
    *
    * @return {Object} The autocomplete item at index index.
    */
-  getItemAtIndex: function(index) {
+  getItemAtIndex: function (index) {
     return this._list.getItemAtIndex(index)._autocompleteItem;
   },
 
   /**
    * Get the autocomplete items array.
    *
    * @return {Array} The array of autocomplete items.
    */
-  getItems: function() {
+  getItems: function () {
     let items = [];
 
-    Array.forEach(this._list.childNodes, function(item) {
+    Array.forEach(this._list.childNodes, function (item) {
       items.push(item._autocompleteItem);
     });
 
     return items;
   },
 
   /**
    * Set the autocomplete items list, in one go.
    *
    * @param {Array} items
    *        The list of items you want displayed in the popup list.
    * @param {Number} index
    *        The position of the item to select.
    */
-  setItems: function(items, index) {
+  setItems: function (items, index) {
     this.clearItems();
     items.forEach(this.appendItem, this);
 
     // Make sure that the new content is properly fitted by the XUL richlistbox.
     if (this.isOpen) {
       if (this.autoSelect) {
         this.selectItemAtIndex(index);
       }
@@ -286,43 +286,43 @@ AutocompletePopup.prototype = {
 
     this.__maxLabelLength = max;
     return this.__maxLabelLength;
   },
 
   /**
    * Update the panel size to fit the content.
    */
-  _updateSize: function() {
+  _updateSize: function () {
     if (!this._panel) {
       return;
     }
 
     this._list.style.width = (this._maxLabelLength + 3) + "ch";
     this._list.ensureIndexIsVisible(this._list.selectedIndex);
   },
 
   /**
    * Update accessibility appropriately when the selected item is changed.
    */
-  _updateAriaActiveDescendant: function() {
+  _updateAriaActiveDescendant: function () {
     if (!this._list.selectedItem) {
       // Return accessibility focus to the input.
       this._document.activeElement.removeAttribute("aria-activedescendant");
       return;
     }
     // Focus this for accessibility so users know about the selected item.
     this._document.activeElement.setAttribute("aria-activedescendant",
                                               this._list.selectedItem.id);
   },
 
   /**
    * Clear all the items from the autocomplete list.
    */
-  clearItems: function() {
+  clearItems: function () {
     // Reset the selectedIndex to -1 before clearing the list
     this.selectedIndex = -1;
 
     while (this._list.hasChildNodes()) {
       this._list.removeChild(this._list.firstChild);
     }
 
     this.__maxLabelLength = -1;
@@ -395,17 +395,17 @@ AutocompletePopup.prototype = {
    *                   before the label indicating that this is the already
    *                   present text in the input box, and label is the text
    *                   that will be auto completed. When this property is
    *                   present, |preLabel.length| starting characters will be
    *                   removed from label.
    *        - count {Number} [Optional] The number to represent the count of
    *                autocompleted label.
    */
-  appendItem: function(item) {
+  appendItem: function (item) {
     let listItem = this._document.createElementNS(XUL_NS, "richlistitem");
     // Items must have an id for accessibility.
     listItem.id = this._panel.id + "_item_" + this._itemIdCounter++;
     if (this.direction) {
       listItem.setAttribute("dir", this.direction);
     }
     let label = this._document.createElementNS(XUL_NS, "label");
     label.setAttribute("value", item.label);
@@ -436,33 +436,33 @@ AutocompletePopup.prototype = {
    * @private
    *
    * @param {Object} item
    *        The object you want found in the list.
    *
    * @return {nsIDOMNode} The nsIDOMNode that belongs to the given item object.
    *         This node is the richlistitem element. Can be null.
    */
-  _findListItem: function(item) {
+  _findListItem: function (item) {
     for (let i = 0; i < this._list.childNodes.length; i++) {
       let child = this._list.childNodes[i];
       if (child._autocompleteItem == item) {
         return child;
       }
     }
     return null;
   },
 
   /**
    * Remove an item from the popup list.
    *
    * @param {Object} item
    *        The item you want removed.
    */
-  removeItem: function(item) {
+  removeItem: function (item) {
     let listItem = this._findListItem(item);
     if (!listItem) {
       throw new Error("Item not found!");
     }
     this._list.removeChild(listItem);
   },
 
   /**
@@ -483,77 +483,77 @@ AutocompletePopup.prototype = {
   },
 
   /**
    * Select the next item in the list.
    *
    * @return {Object}
    *         The newly selected item object.
    */
-  selectNextItem: function() {
+  selectNextItem: function () {
     if (this.selectedIndex < (this.itemCount - 1)) {
       this.selectedIndex++;
     } else {
       this.selectedIndex = 0;
     }
 
     return this.selectedItem;
   },
 
   /**
    * Select the previous item in the list.
    *
    * @return {Object}
    *         The newly-selected item object.
    */
-  selectPreviousItem: function() {
+  selectPreviousItem: function () {
     if (this.selectedIndex > 0) {
       this.selectedIndex--;
     } else {
       this.selectedIndex = this.itemCount - 1;
     }
 
     return this.selectedItem;
   },
 
   /**
    * Select the top-most item in the next page of items or
    * the last item in the list.
    *
    * @return {Object}
    *         The newly-selected item object.
    */
-  selectNextPageItem: function() {
+  selectNextPageItem: function () {
     let itemsPerPane = Math.floor(this._list.scrollHeight / this._itemHeight);
     let nextPageIndex = this.selectedIndex + itemsPerPane + 1;
     this.selectedIndex = nextPageIndex > this.itemCount - 1 ?
       this.itemCount - 1 : nextPageIndex;
 
     return this.selectedItem;
   },
 
   /**
    * Select the bottom-most item in the previous page of items,
    * or the first item in the list.
    *
    * @return {Object}
    *         The newly-selected item object.
    */
-  selectPreviousPageItem: function() {
+  selectPreviousPageItem: function () {
     let itemsPerPane = Math.floor(this._list.scrollHeight / this._itemHeight);
     let prevPageIndex = this.selectedIndex - itemsPerPane - 1;
     this.selectedIndex = prevPageIndex < 0 ? 0 : prevPageIndex;
 
     return this.selectedItem;
   },
 
   /**
    * Focuses the richlistbox.
    */
-  focus: function() {
+  focus: function () {
     this._list.focus();
   },
 
   /**
    * Manages theme switching for the popup based on the devtools.theme pref.
    *
    * @private
    *
@@ -561,17 +561,17 @@ AutocompletePopup.prototype = {
    *        The name of the event. In this case, "pref-changed".
    * @param {Object} data
    *        An object passed by the emitter of the event. In this case, the
    *        object consists of three properties:
    *        - pref {String} The name of the preference that was modified.
    *        - newValue {Object} The new value of the preference.
    *        - oldValue {Object} The old value of the preference.
    */
-  _handleThemeChange: function(event, data) {
+  _handleThemeChange: function (event, data) {
     if (data.pref == "devtools.theme") {
       this._panel.classList.toggle(data.oldValue + "-theme", false);
       this._panel.classList.toggle(data.newValue + "-theme", true);
       this._list.classList.toggle(data.oldValue + "-theme", false);
       this._list.classList.toggle(data.newValue + "-theme", true);
     }
   },
 };
--- a/devtools/client/shared/browser-loader.js
+++ b/devtools/client/shared/browser-loader.js
@@ -151,17 +151,17 @@ function BrowserLoaderBuilder({ baseURI,
         else {
           const proxy = componentProxies.get(uri);
           const instances = proxy.update(exports);
           instances.forEach(getForceUpdate(React));
           module.exports = proxy.get();
         }
       }
       return exports;
-    }
+    };
     const watcher = devtools.require("devtools/client/shared/devtools-file-watcher");
     let onFileChanged = (_, relativePath, path) => {
       this.hotReloadFile(componentProxies, "resource://devtools/" + relativePath);
     };
     watcher.on("file-changed", onFileChanged);
     window.addEventListener("unload", () => {
       watcher.off("file-changed", onFileChanged);
     });
@@ -182,25 +182,25 @@ BrowserLoaderBuilder.prototype = {
    *    The object to define the property on.
    * @param String property
    *    The property name.
    * @param String module
    *    The module path.
    * @param Boolean destructure
    *    Pass true if the property name is a member of the module's exports.
    */
-  lazyRequireGetter: function(obj, property, module, destructure) {
+  lazyRequireGetter: function (obj, property, module, destructure) {
     devtools.lazyGetter(obj, property, () => {
       return destructure
           ? this.require(module)[property]
           : this.require(module || property);
     });
   },
 
-  hotReloadFile: function(componentProxies, fileURI) {
+  hotReloadFile: function (componentProxies, fileURI) {
     if (fileURI.match(/\.js$/)) {
       // Test for React proxy components
       const proxy = componentProxies.get(fileURI);
       if (proxy) {
         // Remove the old module and re-require the new one; the require
         // hook in the loader will take care of the rest
         delete this.loader.modules[fileURI];
         clearCache();
--- a/devtools/client/shared/components/reps/array.js
+++ b/devtools/client/shared/components/reps/array.js
@@ -2,34 +2,34 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { Caption } = createFactories(require("./caption"));
 
   // Shortcuts
   const DOM = React.DOM;
 
   /**
    * Renders an array. The array is enclosed by left and right bracket
    * and the max number of rendered items depends on the current mode.
    */
   let ArrayRep = React.createClass({
     displayName: "ArrayRep",
 
-    render: function() {
+    render: function () {
       let mode = this.props.mode || "short";
       let object = this.props.object;
       let items;
 
       if (mode == "tiny") {
         items = DOM.span({className: "length"}, object.length);
       } else {
         let max = (mode == "short") ? 3 : 300;
@@ -62,21 +62,21 @@ define(function(require, exports, module
           DOM.span({
             className: "arrayProperties",
             role: "group"}
           )
         )
       );
     },
 
-    getTitle: function(object, context) {
+    getTitle: function (object, context) {
       return "[" + object.length + "]";
     },
 
-    arrayIterator: function(array, max) {
+    arrayIterator: function (array, max) {
       let items = [];
       let delim;
 
       for (let i = 0; i < array.length && i <= max; i++) {
         try {
           let value = array[i];
 
           delim = (i == array.length - 1 ? "" : ", ");
@@ -120,17 +120,17 @@ define(function(require, exports, module
      * displayed in extra expandable section.
      *
      * Example array with a custom property.
      * let arr = [0, 1];
      * arr.myProp = "Hello";
      *
      * @param {Array} array The array object.
      */
-    hasSpecialProperties: function(array) {
+    hasSpecialProperties: function (array) {
       function isInteger(x) {
         let y = parseInt(x, 10);
         if (isNaN(y)) {
           return false;
         }
         return x === y.toString();
       }
 
@@ -149,30 +149,30 @@ define(function(require, exports, module
         }
       }
 
       return false;
     },
 
     // Event Handlers
 
-    onToggleProperties: function(event) {
+    onToggleProperties: function (event) {
     },
 
-    onClickBracket: function(event) {
+    onClickBracket: function (event) {
     }
   });
 
   /**
    * Renders array item. Individual values are separated by a comma.
    */
   let ItemRep = React.createFactory(React.createClass({
     displayName: "ItemRep",
 
-    render: function() {
+    render: function () {
       const { Rep } = createFactories(require("./rep"));
 
       let object = this.props.object;
       let delim = this.props.delim;
       return (
         DOM.span({},
           Rep({object: object}),
           delim
@@ -182,17 +182,17 @@ define(function(require, exports, module
   }));
 
   /**
    * Renders cycle references in an array.
    */
   let Reference = React.createFactory(React.createClass({
     displayName: "Reference",
 
-    render: function() {
+    render: function () {
       let tooltip = "Circular reference";
       return (
         DOM.span({title: tooltip},
           "[...]")
       );
     }
   }));
 
--- a/devtools/client/shared/components/reps/attribute.js
+++ b/devtools/client/shared/components/reps/attribute.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
   const { StringRep } = require("./string");
 
@@ -24,21 +24,21 @@ define(function(require, exports, module
    */
   let Attribute = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired
     },
 
     displayName: "Attr",
 
-    getTitle: function(grip) {
+    getTitle: function (grip) {
       return grip.preview.nodeName;
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       let value = grip.preview.value;
 
       return (
         ObjectLink({className: "Attr"},
           span({},
             span({className: "attrTitle"},
               this.getTitle(grip)
--- a/devtools/client/shared/components/reps/caption.js
+++ b/devtools/client/shared/components/reps/caption.js
@@ -2,29 +2,29 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const DOM = React.DOM;
 
   /**
    * Renders a caption. This template is used by other components
    * that needs to distinguish between a simple text/value and a label.
    */
   const Caption = React.createClass({
     displayName: "Caption",
 
-    render: function() {
+    render: function () {
       return (
         DOM.span({"className": "caption"}, this.props.object)
       );
     },
   });
 
   // Exports from this module
   exports.Caption = Caption;
--- a/devtools/client/shared/components/reps/date-time.js
+++ b/devtools/client/shared/components/reps/date-time.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
 
   // Shortcuts
@@ -22,21 +22,21 @@ define(function(require, exports, module
    */
   let DateTime = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired
     },
 
     displayName: "Date",
 
-    getTitle: function(grip) {
+    getTitle: function (grip) {
       return new Date(grip.preview.timestamp).toString();
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       return (
         ObjectLink({className: "Date"},
           span({className: "objectTitle"},
             this.getTitle(grip)
           )
         )
       );
--- a/devtools/client/shared/components/reps/document.js
+++ b/devtools/client/shared/components/reps/document.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { getFileName } = require("./url");
 
@@ -23,30 +23,30 @@ define(function(require, exports, module
    */
   let Document = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired
     },
 
     displayName: "Document",
 
-    getLocation: function(grip) {
+    getLocation: function (grip) {
       let location = grip.preview.location;
       return location ? getFileName(location) : "";
     },
 
-    getTitle: function(win, context) {
+    getTitle: function (win, context) {
       return "document";
     },
 
-    getTooltip: function(doc) {
+    getTooltip: function (doc) {
       return doc.location.href;
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
 
       return (
         ObjectBox({className: "object"},
           span({className: "objectPropValue"},
             this.getLocation(grip)
           )
         )
--- a/devtools/client/shared/components/reps/event.js
+++ b/devtools/client/shared/components/reps/event.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
 
   /**
@@ -19,34 +19,34 @@ define(function(require, exports, module
    */
   let Event = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired
     },
 
     displayName: "event",
 
-    summarizeEvent: function(grip) {
+    summarizeEvent: function (grip) {
       let info = [grip.preview.type, " "];
 
       let eventFamily = grip.class;
       let props = grip.preview.properties;
 
       if (eventFamily == "MouseEvent") {
         info.push("clientX=", props.clientX, ", clientY=", props.clientY);
       } else if (eventFamily == "KeyboardEvent") {
         info.push("charCode=", props.charCode, ", keyCode=", props.keyCode);
       } else if (eventFamily == "MessageEvent") {
         info.push("origin=", props.origin, ", data=", props.data);
       }
 
       return info.join("");
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       return (
         ObjectLink({className: "event"},
           this.summarizeEvent(grip)
         )
       );
     },
   });
--- a/devtools/client/shared/components/reps/function.js
+++ b/devtools/client/shared/components/reps/function.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
   const { cropString } = require("./string");
 
@@ -20,22 +20,22 @@ define(function(require, exports, module
    */
   let Func = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired
     },
 
     displayName: "Func",
 
-    summarizeFunction: function(grip) {
+    summarizeFunction: function (grip) {
       let name = grip.displayName || grip.name || "function";
       return cropString(name + "()", 100);
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
 
       return (
         ObjectLink({className: "function"},
           this.summarizeFunction(grip)
         )
       );
     },
--- a/devtools/client/shared/components/reps/grip-array.js
+++ b/devtools/client/shared/components/reps/grip-array.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { Caption } = createFactories(require("./caption"));
 
   // Shortcuts
   const { a, span } = React.DOM;
@@ -25,25 +25,25 @@ define(function(require, exports, module
     propTypes: {
       object: React.PropTypes.object.isRequired,
       mode: React.PropTypes.string,
       provider: React.PropTypes.object,
     },
 
     displayName: "GripArray",
 
-    getLength: function(grip) {
+    getLength: function (grip) {
       return grip.preview ? grip.preview.length : 0;
     },
 
-    getTitle: function(object, context) {
+    getTitle: function (object, context) {
       return "[" + object.length + "]";
     },
 
-    arrayIterator: function(grip, max) {
+    arrayIterator: function (grip, max) {
       let items = [];
 
       if (!grip.preview || !grip.preview.length) {
         return items;
       }
 
       let array = grip.preview.items;
       if (!array) {
@@ -91,29 +91,29 @@ define(function(require, exports, module
           key: "more",
           object: "more..."}
         ));
       }
 
       return items;
     },
 
-    hasSpecialProperties: function(array) {
+    hasSpecialProperties: function (array) {
       return false;
     },
 
     // Event Handlers
 
-    onToggleProperties: function(event) {
+    onToggleProperties: function (event) {
     },
 
-    onClickBracket: function(event) {
+    onClickBracket: function (event) {
     },
 
-    render: function() {
+    render: function () {
       let mode = this.props.mode || "short";
       let object = this.props.object;
 
       let items;
 
       if (mode == "tiny") {
         items = span({className: "length"}, this.getLength(object));
       } else {
@@ -159,17 +159,17 @@ define(function(require, exports, module
    */
   let GripArrayItem = React.createFactory(React.createClass({
     propTypes: {
       delim: React.PropTypes.string,
     },
 
     displayName: "GripArrayItem",
 
-    render: function() {
+    render: function () {
       let { Rep } = createFactories(require("./rep"));
 
       return (
         span({},
           Rep(Object.assign({}, this.props, {
             mode: "tiny"
           })),
           this.props.delim
@@ -179,17 +179,17 @@ define(function(require, exports, module
   }));
 
   /**
    * Renders cycle references in an array.
    */
   let Reference = React.createFactory(React.createClass({
     displayName: "Reference",
 
-    render: function() {
+    render: function () {
       return (
         span({title: "Circular reference"},
           "[...]"
         )
       );
     }
   }));
 
--- a/devtools/client/shared/components/reps/grip.js
+++ b/devtools/client/shared/components/reps/grip.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Dependencies
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { Caption } = createFactories(require("./caption"));
 
@@ -24,39 +24,39 @@ define(function(require, exports, module
   const Grip = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
       mode: React.PropTypes.string,
     },
 
     displayName: "Grip",
 
-    getTitle: function() {
+    getTitle: function () {
       return "";
     },
 
-    longPropIterator: function(object) {
+    longPropIterator: function (object) {
       try {
         return this.propIterator(object, 100);
       } catch (err) {
         console.error(err);
       }
       return [];
     },
 
-    shortPropIterator: function(object) {
+    shortPropIterator: function (object) {
       try {
         return this.propIterator(object, 3);
       } catch (err) {
         console.error(err);
       }
       return [];
     },
 
-    propIterator: function(object, max) {
+    propIterator: function (object, max) {
       // Property filter. Show only interesting properties to the user.
       let isInterestingProp = (type, value) => {
         return (
           type == "boolean" ||
           type == "number" ||
           type == "string" ||
           type == "object"
         );
@@ -92,17 +92,17 @@ define(function(require, exports, module
         props[last] = React.cloneElement(props[last], {
           delim: ""
         });
       }
 
       return props;
     },
 
-    getProps: function(object, max, filter) {
+    getProps: function (object, max, filter) {
       let props = [];
 
       max = max || 3;
       if (!object) {
         return props;
       }
 
       try {
@@ -134,17 +134,17 @@ define(function(require, exports, module
         }
       } catch (err) {
         console.error(err);
       }
 
       return props;
     },
 
-    render: function() {
+    render: function () {
       let object = this.props.object;
       let props = this.shortPropIterator(object);
 
       if (this.props.mode == "tiny" || !props.length) {
         return (
           ObjectBox({className: "object"},
             span({className: "objectTitle"}, this.getTitle(object)),
             span({className: "objectLeftBrace", role: "presentation"}, "{}")
@@ -170,17 +170,17 @@ define(function(require, exports, module
     propTypes: {
       name: React.PropTypes.string,
       equal: React.PropTypes.string,
       delim: React.PropTypes.string,
     },
 
     displayName: "PropRep",
 
-    render: function() {
+    render: function () {
       let { Rep } = createFactories(require("./rep"));
 
       return (
         span({},
           span({
             "className": "nodeName"},
             this.props.name),
           span({
--- a/devtools/client/shared/components/reps/named-node-map.js
+++ b/devtools/client/shared/components/reps/named-node-map.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
   const { Caption } = createFactories(require("./caption"));
 
@@ -25,41 +25,41 @@ define(function(require, exports, module
     propTypes: {
       object: React.PropTypes.object.isRequired,
       mode: React.PropTypes.string,
       provider: React.PropTypes.object,
     },
 
     className: "NamedNodeMap",
 
-    getLength: function(object) {
+    getLength: function (object) {
       return object.preview.length;
     },
 
-    getTitle: function(object) {
+    getTitle: function (object) {
       return object.class ? object.class : "";
     },
 
-    getItems: function(array, max) {
+    getItems: function (array, max) {
       let items = this.propIterator(array, max);
 
       items = items.map(item => PropRep(item));
 
       if (items.length > max + 1) {
         items.pop();
         items.push(Caption({
           key: "more",
           object: "more...",
         }));
       }
 
       return items;
     },
 
-    propIterator: function(grip, max) {
+    propIterator: function (grip, max) {
       max = max || 3;
 
       let props = [];
 
       let provider = this.props.provider;
       if (!provider) {
         return props;
       }
@@ -80,17 +80,17 @@ define(function(require, exports, module
           equal: ": ",
           delim: ", ",
         }));
       }
 
       return props;
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       let mode = this.props.mode;
 
       let items;
       if (mode == "tiny") {
         items = this.getLength(grip);
       } else {
         let max = (mode == "short") ? 3 : 100;
@@ -124,17 +124,17 @@ define(function(require, exports, module
   let PropRep = React.createFactory(React.createClass({
     propTypes: {
       equal: React.PropTypes.string,
       delim: React.PropTypes.string,
     },
 
     displayName: "PropRep",
 
-    render: function() {
+    render: function () {
       const { Rep } = createFactories(require("./rep"));
 
       return (
         span({},
           span({
             className: "nodeName"},
             "$prop.name"
           ),
--- a/devtools/client/shared/components/reps/null.js
+++ b/devtools/client/shared/components/reps/null.js
@@ -2,29 +2,29 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
 
   /**
    * Renders null value
    */
   const Null = React.createClass({
     displayName: "NullRep",
 
-    render: function() {
+    render: function () {
       return (
         ObjectBox({className: "null"},
           "null"
         )
       );
     },
   });
 
--- a/devtools/client/shared/components/reps/number.js
+++ b/devtools/client/shared/components/reps/number.js
@@ -2,38 +2,38 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
 
   /**
    * Renders a number
    */
   const Number = React.createClass({
     displayName: "Number",
 
-    render: function() {
+    render: function () {
       let value = this.props.object;
       return (
         ObjectBox({className: "number"},
           this.stringify(value)
         )
       );
     },
 
-    stringify: function(object) {
+    stringify: function (object) {
       return (Object.is(object, -0) ? "-0" : String(object));
     },
   });
 
   function supportsObject(object, type) {
     return type == "boolean" || type == "number";
   }
 
--- a/devtools/client/shared/components/reps/object-box.js
+++ b/devtools/client/shared/components/reps/object-box.js
@@ -2,28 +2,28 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const DOM = React.DOM;
 
   /**
    * Renders a box for given object.
    */
   const ObjectBox = React.createClass({
     displayName: "ObjectBox",
 
-    render: function() {
+    render: function () {
       let className = this.props.className;
       let boxClassName = className ? " objectBox-" + className : "";
 
       return (
         DOM.span({className: "objectBox" + boxClassName, role: "presentation"},
           this.props.children
         )
       );
--- a/devtools/client/shared/components/reps/object-link.js
+++ b/devtools/client/shared/components/reps/object-link.js
@@ -2,28 +2,28 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const DOM = React.DOM;
 
   /**
    * Renders a link for given object.
    */
   const ObjectLink = React.createClass({
     displayName: "ObjectLink",
 
-    render: function() {
+    render: function () {
       let className = this.props.className;
       let objectClassName = className ? " objectLink-" + className : "";
       let linkClassName = "objectLink" + objectClassName + " a11yFocus";
 
       return (
         DOM.a({className: linkClassName, _repObject: this.props.object},
           this.props.children
         )
--- a/devtools/client/shared/components/reps/object-with-text.js
+++ b/devtools/client/shared/components/reps/object-with-text.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
 
   // Shortcuts
@@ -22,25 +22,25 @@ define(function(require, exports, module
    */
   let ObjectWithText = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
     },
 
     displayName: "ObjectWithText",
 
-    getType: function(grip) {
+    getType: function (grip) {
       return grip.class;
     },
 
-    getDescription: function(grip) {
+    getDescription: function (grip) {
       return (grip.preview.kind == "ObjectWithText") ? grip.preview.text : "";
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       return (
         ObjectLink({className: this.getType(grip)},
           span({className: "objectPropValue"},
             this.getDescription(grip)
           )
         )
       );
--- a/devtools/client/shared/components/reps/object-with-url.js
+++ b/devtools/client/shared/components/reps/object-with-url.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
 
   // Shortcuts
@@ -22,25 +22,25 @@ define(function(require, exports, module
    */
   let ObjectWithURL = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
     },
 
     displayName: "ObjectWithURL",
 
-    getType: function(grip) {
+    getType: function (grip) {
       return grip.class;
     },
 
-    getDescription: function(grip) {
+    getDescription: function (grip) {
       return grip.preview.url;
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       return (
         ObjectLink({className: this.getType(grip)},
           span({className: "objectPropValue"},
             this.getDescription(grip)
           )
         )
       );
--- a/devtools/client/shared/components/reps/object.js
+++ b/devtools/client/shared/components/reps/object.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { Caption } = createFactories(require("./caption"));
 
   // Shortcuts
   const { span } = React.DOM;
@@ -24,39 +24,39 @@ define(function(require, exports, module
   const Obj = React.createClass({
     propTypes: {
       object: React.PropTypes.object,
       mode: React.PropTypes.string,
     },
 
     displayName: "Obj",
 
-    getTitle: function() {
+    getTitle: function () {
       return "";
     },
 
-    longPropIterator: function(object) {
+    longPropIterator: function (object) {
       try {
         return this.propIterator(object, 100);
       } catch (err) {
         console.error(err);
       }
       return [];
     },
 
-    shortPropIterator: function(object) {
+    shortPropIterator: function (object) {
       try {
         return this.propIterator(object, 3);
       } catch (err) {
         console.error(err);
       }
       return [];
     },
 
-    propIterator: function(object, max) {
+    propIterator: function (object, max) {
       let isInterestingProp = (t, value) => {
         // Do not pick objects, it could cause recursion.
         return (t == "boolean" || t == "number" || (t == "string" && value));
       };
 
       // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=945377
       if (Object.prototype.toString.call(object) === "[object Generator]") {
         object = Object.getPrototypeOf(object);
@@ -85,17 +85,17 @@ define(function(require, exports, module
         // Remove the last comma.
         props[props.length - 1] = React.cloneElement(
           props[props.length - 1], { delim: "" });
       }
 
       return props;
     },
 
-    getProps: function(object, max, filter) {
+    getProps: function (object, max, filter) {
       let props = [];
 
       max = max || 3;
       if (!object) {
         return props;
       }
 
       let mode = this.props.mode;
@@ -127,17 +127,17 @@ define(function(require, exports, module
         }
       } catch (err) {
         console.error(err);
       }
 
       return props;
     },
 
-    render: function() {
+    render: function () {
       let object = this.props.object;
       let props = this.shortPropIterator(object);
 
       return (
         ObjectBox({className: "object"},
           span({className: "objectTitle"}, this.getTitle(object)),
           span({className: "objectLeftBrace", role: "presentation"}, "{"),
           props,
@@ -156,17 +156,17 @@ define(function(require, exports, module
       mode: React.PropTypes.string,
       name: React.PropTypes.string,
       equal: React.PropTypes.string,
       delim: React.PropTypes.string,
     },
 
     displayName: "PropRep",
 
-    render: function() {
+    render: function () {
       let { Rep } = createFactories(require("./rep"));
       let object = this.props.object;
       let mode = this.props.mode;
 
       return (
         span({},
           span({
             "className": "nodeName"},
--- a/devtools/client/shared/components/reps/regexp.js
+++ b/devtools/client/shared/components/reps/regexp.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
 
   // Shortcuts
@@ -22,25 +22,25 @@ define(function(require, exports, module
    */
   let RegExp = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
     },
 
     displayName: "regexp",
 
-    getTitle: function(grip) {
+    getTitle: function (grip) {
       return grip.class;
     },
 
-    getSource: function(grip) {
+    getSource: function (grip) {
       return grip.displayString;
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       return (
         ObjectLink({className: "regexp"},
           span({className: "objectTitle"},
             this.getTitle(grip)
           ),
           span(" "),
           span({className: "regexpSource"},
--- a/devtools/client/shared/components/reps/rep-utils.js
+++ b/devtools/client/shared/components/reps/rep-utils.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
 
   /**
    * Create React factories for given arguments.
    * Example:
    *   const { Rep } = createFactories(require("./rep"));
    */
--- a/devtools/client/shared/components/reps/rep.js
+++ b/devtools/client/shared/components/reps/rep.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
 
   const { isGrip } = require("./rep-utils");
 
   // Load all existing rep templates
   const { Undefined } = require("./undefined");
   const { Null } = require("./null");
@@ -71,17 +71,17 @@ define(function(require, exports, module
   const Rep = React.createClass({
     propTypes: {
       object: React.PropTypes.any,
       defaultRep: React.PropTypes.object,
     },
 
     displayName: "Rep",
 
-    render: function() {
+    render: function () {
       let rep = getRep(this.props.object, this.props.defaultRep);
       return rep(this.props);
     },
   });
 
   // Helpers
 
   /**
--- a/devtools/client/shared/components/reps/string.js
+++ b/devtools/client/shared/components/reps/string.js
@@ -2,29 +2,29 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
 
   /**
    * Renders a string. String value is enclosed within quotes.
    */
   const StringRep = React.createClass({
     displayName: "StringRep",
 
-    render: function() {
+    render: function () {
       let text = this.props.object;
       let member = this.props.member;
       if (member && member.open) {
         return (
           ObjectBox({className: "string"},
             "\"" + text + "\""
           )
         );
--- a/devtools/client/shared/components/reps/stylesheet.js
+++ b/devtools/client/shared/components/reps/stylesheet.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { getFileName } = require("./url");
 
@@ -23,23 +23,23 @@ define(function(require, exports, module
    */
   let StyleSheet = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
     },
 
     displayName: "object",
 
-    getLocation: function(grip) {
+    getLocation: function (grip) {
       // Embedded stylesheets don't have URL and so, no preview.
       let url = grip.preview ? grip.preview.url : "";
       return url ? getFileName(url) : "";
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
 
       return (
         ObjectBox({className: "object"},
           "StyleSheet ",
           DOM.span({className: "objectPropValue"},
             this.getLocation(grip)
           )
--- a/devtools/client/shared/components/reps/text-node.js
+++ b/devtools/client/shared/components/reps/text-node.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectLink } = createFactories(require("./object-link"));
   const { cropMultipleLines } = require("./string");
 
@@ -24,25 +24,25 @@ define(function(require, exports, module
   let TextNode = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
       mode: React.PropTypes.string,
     },
 
     displayName: "TextNode",
 
-    getTextContent: function(grip) {
+    getTextContent: function (grip) {
       return cropMultipleLines(grip.preview.textContent);
     },
 
-    getTitle: function(win, context) {
+    getTitle: function (win, context) {
       return "textNode";
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
       let mode = this.props.mode || "short";
 
       if (mode == "short" || mode == "tiny") {
         return (
           ObjectLink({className: "textNode"},
             "\"" + this.getTextContent(grip) + "\""
           )
--- a/devtools/client/shared/components/reps/undefined.js
+++ b/devtools/client/shared/components/reps/undefined.js
@@ -2,29 +2,29 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // Dependencies
   const React = require("devtools/client/shared/vendor/react");
   const { createFactories } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
 
   /**
    * Renders undefined value
    */
   const Undefined = React.createClass({
     displayName: "UndefinedRep",
 
-    render: function() {
+    render: function () {
       return (
         ObjectBox({className: "undefined"},
           "undefined"
         )
       );
     },
   });
 
--- a/devtools/client/shared/components/reps/url.js
+++ b/devtools/client/shared/components/reps/url.js
@@ -3,17 +3,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 /* global URLSearchParams, URL */
 
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   function parseURLParams(url) {
     url = new URL(url);
     return parseURLEncodedText(url.searchParams);
   }
 
   function parseURLEncodedText(text) {
     let params = [];
 
--- a/devtools/client/shared/components/reps/window.js
+++ b/devtools/client/shared/components/reps/window.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { createFactories, isGrip } = require("./rep-utils");
   const { ObjectBox } = createFactories(require("./object-box"));
   const { cropString } = require("./string");
 
@@ -23,21 +23,21 @@ define(function(require, exports, module
    */
   let Window = React.createClass({
     propTypes: {
       object: React.PropTypes.object.isRequired,
     },
 
     displayName: "Window",
 
-    getLocation: function(grip) {
+    getLocation: function (grip) {
       return cropString(grip.preview.url);
     },
 
-    render: function() {
+    render: function () {
       let grip = this.props.object;
 
       return (
         ObjectBox({className: "Window"},
           DOM.span({className: "objectPropValue"},
             this.getLocation(grip)
           )
         )
--- a/devtools/client/shared/components/tree/label-cell.js
+++ b/devtools/client/shared/components/tree/label-cell.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Shortcuts
   const { td, span } = React.DOM;
   const PropTypes = React.PropTypes;
 
   /**
@@ -21,17 +21,17 @@ define(function(require, exports, module
     // See the TreeView component for details related
     // to the 'member' object.
     propTypes: {
       member: PropTypes.object.isRequired
     },
 
     displayName: "LabelCell",
 
-    render: function() {
+    render: function () {
       let member = this.props.member;
       let level = member.level || 0;
 
       // Compute indentation dynamically. The deeper the item is
       // inside the hierarchy, the bigger is the left padding.
       let rowStyle = {
         "paddingLeft": (level * 16) + "px",
       };
--- a/devtools/client/shared/components/tree/object-provider.js
+++ b/devtools/client/shared/components/tree/object-provider.js
@@ -1,24 +1,24 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   /**
    * Implementation of the default data provider. A provider is state less
    * object responsible for transformation data (usually a state) to
    * a structure that can be directly consumed by the tree-view component.
    */
   let ObjectProvider = {
-    getChildren: function(object) {
+    getChildren: function (object) {
       let children = [];
 
       if (object instanceof ObjectProperty) {
         object = object.value;
       }
 
       if (!object) {
         return [];
@@ -33,17 +33,17 @@ define(function(require, exports, module
           children.push(new ObjectProperty(prop, object[prop]));
         } catch (e) {
           console.error(e);
         }
       }
       return children;
     },
 
-    hasChildren: function(object) {
+    hasChildren: function (object) {
       if (object instanceof ObjectProperty) {
         object = object.value;
       }
 
       if (!object) {
         return false;
       }
 
@@ -53,32 +53,32 @@ define(function(require, exports, module
 
       if (typeof object !== "object") {
         return false;
       }
 
       return Object.keys(object).length > 0;
     },
 
-    getLabel: function(object) {
+    getLabel: function (object) {
       return (object instanceof ObjectProperty) ?
         object.name : null;
     },
 
-    getValue: function(object) {
+    getValue: function (object) {
       return (object instanceof ObjectProperty) ?
         object.value : null;
     },
 
-    getKey: function(object) {
+    getKey: function (object) {
       return (object instanceof ObjectProperty) ?
         object.name : null;
     },
 
-    getType: function(object) {
+    getType: function (object) {
       return (object instanceof ObjectProperty) ?
         typeof object.value : typeof object;
     }
   };
 
   function ObjectProperty(name, value) {
     this.name = name;
     this.value = value;
--- a/devtools/client/shared/components/tree/tree-cell.js
+++ b/devtools/client/shared/components/tree/tree-cell.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   const React = require("devtools/client/shared/vendor/react");
 
   // Shortcuts
   const { td, span } = React.DOM;
   const PropTypes = React.PropTypes;
 
   /**
    * This template represents a cell in TreeView row. It's rendered
@@ -28,22 +28,22 @@ define(function(require, exports, module
     },
 
     displayName: "TreeCell",
 
     /**
      * Optimize cell rendering. Rerender cell content only if
      * the value or expanded state changes.
      */
-    shouldComponentUpdate: function(nextProps) {
+    shouldComponentUpdate: function (nextProps) {
       return (this.props.value != nextProps.value) ||
         (this.props.member.open != nextProps.member.open);
     },
 
-    getCellClass: function(object, id) {
+    getCellClass: function (object, id) {
       let decorator = this.props.decorator;
       if (!decorator || !decorator.getCellClass) {
         return [];
       }
 
       // Decorator can return a simple string or array of strings.
       let classNames = decorator.getCellClass(object, id);
       if (!classNames) {
@@ -52,17 +52,17 @@ define(function(require, exports, module
 
       if (typeof classNames == "string") {
         classNames = [classNames];
       }
 
       return classNames;
     },
 
-    render: function() {
+    render: function () {
       let member = this.props.member;
       let type = member.type || "";
       let id = this.props.id;
       let value = this.props.value;
       let decorator = this.props.decorator;
 
       // Compute class name list for the <td> element.
       let classNames = this.getCellClass(member.object, id) || [];
--- a/devtools/client/shared/components/tree/tree-header.js
+++ b/devtools/client/shared/components/tree/tree-header.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Shortcuts
   const { thead, tr, td, div } = React.DOM;
   const PropTypes = React.PropTypes;
 
   /**
@@ -26,25 +26,25 @@ define(function(require, exports, module
       // True if the header should be visible
       header: PropTypes.bool,
       // Array with column definition
       columns: PropTypes.array
     },
 
     displayName: "TreeHeader",
 
-    getDefaultProps: function() {
+    getDefaultProps: function () {
       return {
         columns: [{
           id: "default"
         }]
       };
     },
 
-    getHeaderClass: function(colId) {
+    getHeaderClass: function (colId) {
       let decorator = this.props.decorator;
       if (!decorator || !decorator.getHeaderClass) {
         return [];
       }
 
       // Decorator can return a simple string or array of strings.
       let classNames = decorator.getHeaderClass(colId);
       if (!classNames) {
@@ -53,17 +53,17 @@ define(function(require, exports, module
 
       if (typeof classNames == "string") {
         classNames = [classNames];
       }
 
       return classNames;
     },
 
-    render: function() {
+    render: function () {
       let cells = [];
       let visible = this.props.header;
 
       // Render the rest of the columns (if any)
       this.props.columns.forEach(col => {
         let cellStyle = {
           "width": col.width ? col.width : "",
         };
--- a/devtools/client/shared/components/tree/tree-row.js
+++ b/devtools/client/shared/components/tree/tree-row.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
   const ReactDOM = require("devtools/client/shared/vendor/react-dom");
 
   // Tree
   const TreeCell = React.createFactory(require("./tree-cell"));
   const LabelCell = React.createFactory(require("./label-cell"));
 
@@ -48,17 +48,17 @@ define(function(require, exports, module
     },
 
     displayName: "TreeRow",
 
     /**
      * Optimize row rendering. If props are the same do not render.
      * This makes the rendering a lot faster!
      */
-    shouldComponentUpdate: function(nextProps) {
+    shouldComponentUpdate: function (nextProps) {
       let props = ["name", "open", "value", "loading"];
       for (let p in props) {
         if (nextProps.member[props[p]] != this.props.member[props[p]]) {
           return true;
         }
       }
 
       return false;
@@ -72,17 +72,17 @@ define(function(require, exports, module
       // The important part is that DOM elements don't need to be
       // re-created when they should appear again.
       if (nextProps.member.hidden != this.props.member.hidden) {
         let row = ReactDOM.findDOMNode(this);
         row.classList.toggle("hidden");
       }
     },
 
-    getRowClass: function(object) {
+    getRowClass: function (object) {
       let decorator = this.props.decorator;
       if (!decorator || !decorator.getRowClass) {
         return [];
       }
 
       // Decorator can return a simple string or array of strings.
       let classNames = decorator.getRowClass(object);
       if (!classNames) {
@@ -91,17 +91,17 @@ define(function(require, exports, module
 
       if (typeof classNames == "string") {
         classNames = [classNames];
       }
 
       return classNames;
     },
 
-    render: function() {
+    render: function () {
       let member = this.props.member;
       let decorator = this.props.decorator;
 
       // Compute class name list for the <tr> element.
       let classNames = this.getRowClass(member.object) || [];
       classNames.push("treeRow");
       classNames.push(member.type + "Row");
 
--- a/devtools/client/shared/components/tree/tree-view.js
+++ b/devtools/client/shared/components/tree/tree-view.js
@@ -1,17 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 // Make this available to both AMD and CJS environments
-define(function(require, exports, module) {
+define(function (require, exports, module) {
   // ReactJS
   const React = require("devtools/client/shared/vendor/react");
 
   // Reps
   const { ObjectProvider } = require("./object-provider");
   const TreeRow = React.createFactory(require("./tree-row"));
   const TreeHeader = React.createFactory(require("./tree-header"));
 
@@ -100,83 +100,83 @@ define(function(require, exports, module
         id: PropTypes.string.isRequired,
         title: PropTypes.string,
         width: PropTypes.string
       }))
     },
 
     displayName: "TreeView",
 
-    getDefaultProps: function() {
+    getDefaultProps: function () {
       return {
         object: null,
         renderRow: null,
         provider: ObjectProvider,
         expandedNodes: new Set(),
         columns: []
       };
     },
 
-    getInitialState: function() {
+    getInitialState: function () {
       return {
         expandedNodes: this.props.expandedNodes,
         columns: ensureDefaultColumn(this.props.columns)
       };
     },
 
     // Node expand/collapse
 
-    toggle: function(nodePath) {
+    toggle: function (nodePath) {
       let nodes = this.state.expandedNodes;
       if (this.isExpanded(nodePath)) {
         nodes.delete(nodePath);
       } else {
         nodes.add(nodePath);
       }
 
       // Compute new state and update the tree.
       this.setState(Object.assign({}, this.state, {
         expandedNodes: nodes
       }));
     },
 
-    isExpanded: function(nodePath) {
+    isExpanded: function (nodePath) {
       return this.state.expandedNodes.has(nodePath);
     },
 
     // Event Handlers
 
-    onClickRow: function(nodePath, event) {
+    onClickRow: function (nodePath, event) {
       event.stopPropagation();
       this.toggle(nodePath);
     },
 
     // Filtering & Sorting
 
     /**
      * Filter out nodes that don't correspond to the current filter.
      * @return {Boolean} true if the node should be visible otherwise false.
      */
-    onFilter: function(object) {
+    onFilter: function (object) {
       let onFilter = this.props.onFilter;
       return onFilter ? onFilter(object) : true;
     },
 
-    onSort: function(parent, children) {
+    onSort: function (parent, children) {
       let onSort = this.props.onSort;
       return onSort ? onSort(parent, children) : children;
     },
 
     // Members
 
     /**
      * Return children node objects (so called 'members') for given
      * parent object.
      */
-    getMembers: function(parent, level, path) {
+    getMembers: function (parent, level, path) {
       // Strings don't have children. Note that 'long' strings are using
       // the expander icon (+/-) to display the entire original value,
       // but there are no child items.
       if (typeof parent == "string") {
         return [];
       }
 
       let provider = this.props.provider;
@@ -230,17 +230,17 @@ define(function(require, exports, module
           hidden: !this.onFilter(child)
         };
       });
     },
 
     /**
      * Render tree rows/nodes.
      */
-    renderRows: function(parent, level = 0, path = "") {
+    renderRows: function (parent, level = 0, path = "") {
       let rows = [];
       let decorator = this.props.decorator;
       let renderRow = this.props.renderRow || TreeRow;
 
       // Get children for given parent node, iterate over them and render
       // a row for every one. Use row template (a component) from properties.
       // If the return value is non-array, the children are being loaded
       // asynchronously.
@@ -280,17 +280,17 @@ define(function(require, exports, module
             rows = rows.concat(childRows);
           }
         }
       });
 
       return rows;
     },
 
-    render: function() {
+    render: function () {
       let root = this.props.object;
       let classNames = ["treeTable"];
 
       // Use custom class name from props.
       let className = this.props.className;
       if (className) {
         classNames.push(...className.split(" "));
       }
--- a/devtools/client/shared/css-reload.js
+++ b/devtools/client/shared/css-reload.js
@@ -118,17 +118,17 @@ function watchCSS(window) {
           } else {
             replaceCSS(window, "chrome://devtools/skin/" + path);
           }
           return;
         }
 
         replaceCSS(
           window,
-          "chrome://devtools/content/" +  relativePath.replace(/^client\//, "")
+          "chrome://devtools/content/" + relativePath.replace(/^client\//, "")
         );
         replaceCSS(window, "resource://devtools/" + relativePath);
       } else if (relativePath.match(/\.(svg|png)$/)) {
         relativePath = relativePath.replace(/^client\/themes\//, "");
         replaceCSSResource(window, "chrome://devtools/skin/" + relativePath);
       }
     }
     watcher.on("file-changed", onFileChanged);
--- a/devtools/client/shared/developer-toolbar.js
+++ b/devtools/client/shared/developer-toolbar.js
@@ -12,17 +12,17 @@ const Telemetry = require("devtools/clie
 
 const NS_XHTML = "http://www.w3.org/1999/xhtml";
 const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 const Node = Ci.nsIDOMNode;
 
 loader.lazyImporter(this, "PluralForm", "resource://gre/modules/PluralForm.jsm");
 loader.lazyImporter(this, "EventEmitter", "resource://devtools/shared/event-emitter.js");
 
-loader.lazyGetter(this, "prefBranch", function() {
+loader.lazyGetter(this, "prefBranch", function () {
   return Services.prefs.getBranch(null)
                     .QueryInterface(Ci.nsIPrefBranch2);
 });
 loader.lazyGetter(this, "toolboxStrings", function () {
   return Services.strings.createBundle("chrome://devtools/locale/toolbox.properties");
 });
 
 loader.lazyRequireGetter(this, "gcliInit", "devtools/shared/gcli/commands/index");
@@ -33,51 +33,51 @@ loader.lazyRequireGetter(this, "gDevTool
 
 /**
  * A collection of utilities to help working with commands
  */
 var CommandUtils = {
   /**
    * Utility to ensure that things are loaded in the correct order
    */
-  createRequisition: function(target, options) {
+  createRequisition: function (target, options) {
     if (!gcliInit) {
       return promise.reject("Unable to load gcli");
     }
     return gcliInit.getSystem(target).then(system => {
       var Requisition = require("gcli/cli").Requisition;
       return new Requisition(system, options);
     });
   },
 
   /**
    * Destroy the remote side of the requisition as well as the local side
    */
-  destroyRequisition: function(requisition, target) {
+  destroyRequisition: function (requisition, target) {
     requisition.destroy();
     gcliInit.releaseSystem(target);
   },
 
   /**
    * Read a toolbarSpec from preferences
    * @param pref The name of the preference to read
    */
-  getCommandbarSpec: function(pref) {
+  getCommandbarSpec: function (pref) {
     let value = prefBranch.getComplexValue(pref, Ci.nsISupportsString).data;
     return JSON.parse(value);
   },
 
   /**
    * A toolbarSpec is an array of strings each of which is a GCLI command.
    *
    * Warning: this method uses the unload event of the window that owns the
    * buttons that are of type checkbox. this means that we don't properly
    * unregister event handlers until the window is destroyed.
    */
-  createButtons: function(toolbarSpec, target, document, requisition) {
+  createButtons: function (toolbarSpec, target, document, requisition) {
     return util.promiseEach(toolbarSpec, typed => {
       // Ask GCLI to parse the typed string (doesn't execute it)
       return requisition.update(typed).then(() => {
         let button = document.createElement("toolbarbutton");
 
         // Ignore invalid commands
         let command = requisition.commandAssignment.value;
         if (command == null) {
@@ -160,17 +160,17 @@ var CommandUtils = {
   },
 
   /**
    * A helper function to create the environment object that is passed to
    * GCLI commands.
    * @param targetContainer An object containing a 'target' property which
    * reflects the current debug target
    */
-  createEnvironment: function(container, targetProperty="target") {
+  createEnvironment: function (container, targetProperty = "target") {
     if (!container[targetProperty].toString ||
         !/TabTarget/.test(container[targetProperty].toString())) {
       throw new Error("Missing target");
     }
 
     return {
       get target() {
         if (!container[targetProperty].toString ||
@@ -206,24 +206,24 @@ exports.CommandUtils = CommandUtils;
 
 /**
  * Due to a number of panel bugs we need a way to check if we are running on
  * Linux. See the comments for TooltipPanel and OutputPanel for further details.
  *
  * When bug 780102 is fixed all isLinux checks can be removed and we can revert
  * to using panels.
  */
-loader.lazyGetter(this, "isLinux", function() {
+loader.lazyGetter(this, "isLinux", function () {
   return OS == "Linux";
 });
-loader.lazyGetter(this, "isMac", function() {
+loader.lazyGetter(this, "isMac", function () {
   return OS == "Darwin";
 });
 
-loader.lazyGetter(this, "OS", function() {
+loader.lazyGetter(this, "OS", function () {
   let os = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).OS;
   return os;
 });
 
 /**
  * A component to manage the global developer toolbar, which contains a GCLI
  * and buttons for various developer tools.
  * @param aChromeWindow The browser window to which this toolbar is attached
@@ -267,38 +267,38 @@ const NOTIFICATIONS = {
  * use them without needing to import anything
  */
 DeveloperToolbar.prototype.NOTIFICATIONS = NOTIFICATIONS;
 
 /**
  * Is the toolbar open?
  */
 Object.defineProperty(DeveloperToolbar.prototype, "visible", {
-  get: function() {
+  get: function () {
     return this._element && !this._element.hidden;
   },
   enumerable: true
 });
 
 var _gSequenceId = 0;
 
 /**
  * Getter for a unique ID.
  */
 Object.defineProperty(DeveloperToolbar.prototype, "sequenceId", {
-  get: function() {
+  get: function () {
     return _gSequenceId++;
   },
   enumerable: true
 });
 
 /**
  * Create the <toolbar> element to insert within browser UI
  */
-DeveloperToolbar.prototype.createToolbar = function() {
+DeveloperToolbar.prototype.createToolbar = function () {
   if (this._element) {
     return;
   }
   let toolbar = this._doc.createElement("toolbar");
   toolbar.setAttribute("id", "developer-toolbar");
   toolbar.setAttribute("hidden", "true");
 
   let close = this._doc.createElement("toolbarbutton");
@@ -354,42 +354,42 @@ DeveloperToolbar.prototype.createToolbar
       statusBar.parentNode.insertBefore(this._element, statusBar);
   }
 };
 
 /**
  * Called from browser.xul in response to menu-click or keyboard shortcut to
  * toggle the toolbar
  */
-DeveloperToolbar.prototype.toggle = function() {
+DeveloperToolbar.prototype.toggle = function () {
   if (this.visible) {
     return this.hide().catch(console.error);
   } else {
     return this.show(true).catch(console.error);
   }
 };
 
 /**
  * Called from browser.xul in response to menu-click or keyboard shortcut to
  * toggle the toolbar
  */
-DeveloperToolbar.prototype.focus = function() {
+DeveloperToolbar.prototype.focus = function () {
   if (this.visible) {
     this._input.focus();
     return promise.resolve();
   } else {
     return this.show(true);
   }
 };
 
 /**
  * Called from browser.xul in response to menu-click or keyboard shortcut to
  * toggle the toolbar
  */
-DeveloperToolbar.prototype.focusToggle = function() {
+DeveloperToolbar.prototype.focusToggle = function () {
   if (this.visible) {
     // If we have focus then the active element is the HTML input contained
     // inside the xul input element
     let active = this._chromeWindow.document.activeElement;
     let position = this._input.compareDocumentPosition(active);
     if (position & Node.DOCUMENT_POSITION_CONTAINED_BY) {
       this.hide();
     }
@@ -407,17 +407,17 @@ DeveloperToolbar.prototype.focusToggle =
  * Warning this is slightly messed up because this.DeveloperToolbar is not the
  * same as this.DeveloperToolbar when in browser.js context.
  */
 DeveloperToolbar.introShownThisSession = false;
 
 /**
  * Show the developer toolbar
  */
-DeveloperToolbar.prototype.show = function(focus) {
+DeveloperToolbar.prototype.show = function (focus) {
   if (this._showPromise != null) {
     return this._showPromise;
   }
 
   // hide() is async, so ensure we don't need to wait for hide() to finish
   var waitPromise = this._hidePromise || promise.resolve();
 
   this._showPromise = waitPromise.then(() => {
@@ -449,20 +449,20 @@ DeveloperToolbar.prototype.show = functi
       };
       return CommandUtils.createRequisition(this.target, options).then(requisition => {
         this.requisition = requisition;
 
         // The <textbox> `value` may still be undefined on the XUL binding if
         // we fetch it early
         let value = this._input.value || "";
         return this.requisition.update(value).then(() => {
-          const Inputter = require('gcli/mozui/inputter').Inputter;
-          const Completer = require('gcli/mozui/completer').Completer;
-          const Tooltip = require('gcli/mozui/tooltip').Tooltip;
-          const FocusManager = require('gcli/ui/focus').FocusManager;
+          const Inputter = require("gcli/mozui/inputter").Inputter;
+          const Completer = require("gcli/mozui/completer").Completer;
+          const Tooltip = require("gcli/mozui/tooltip").Tooltip;
+          const FocusManager = require("gcli/ui/focus").FocusManager;
 
           this.onOutput = this.requisition.commandOutputManager.onOutput;
 
           this.focusManager = new FocusManager(this._doc, requisition.system.settings);
 
           this.inputter = new Inputter({
             requisition: this.requisition,
             focusManager: this.focusManager,
@@ -542,17 +542,17 @@ DeveloperToolbar.prototype.show = functi
   });
 
   return this._showPromise;
 };
 
 /**
  * Hide the developer toolbar.
  */
-DeveloperToolbar.prototype.hide = function() {
+DeveloperToolbar.prototype.hide = function () {
   // If we're already in the process of hiding, just use the other promise
   if (this._hidePromise != null) {
     return this._hidePromise;
   }
 
   // show() is async, so ensure we don't need to wait for show() to finish
   var waitPromise = this._showPromise || promise.resolve();
 
@@ -576,17 +576,17 @@ DeveloperToolbar.prototype.hide = functi
 /**
  * Initialize the listeners needed for tracking the number of errors for a given
  * tab.
  *
  * @private
  * @param nsIDOMNode tab the xul:tab for which you want to track the number of
  * errors.
  */
-DeveloperToolbar.prototype._initErrorsCount = function(tab) {
+DeveloperToolbar.prototype._initErrorsCount = function (tab) {
   let tabId = tab.linkedPanel;
   if (tabId in this._errorsCount) {
     this._updateErrorsCount();
     return;
   }
 
   let window = tab.linkedBrowser.contentWindow;
   let listener = new ConsoleServiceListener(window, {
@@ -607,17 +607,17 @@ DeveloperToolbar.prototype._initErrorsCo
 /**
  * Stop the listeners needed for tracking the number of errors for a given
  * tab.
  *
  * @private
  * @param nsIDOMNode tab the xul:tab for which you want to stop tracking the
  * number of errors.
  */
-DeveloperToolbar.prototype._stopErrorsCount = function(tab) {
+DeveloperToolbar.prototype._stopErrorsCount = function (tab) {
   let tabId = tab.linkedPanel;
   if (!(tabId in this._errorsCount) || !(tabId in this._warningsCount)) {
     this._updateErrorsCount();
     return;
   }
 
   this._errorListeners[tabId].destroy();
   delete this._errorListeners[tabId];
@@ -625,17 +625,17 @@ DeveloperToolbar.prototype._stopErrorsCo
   delete this._warningsCount[tabId];
 
   this._updateErrorsCount();
 };
 
 /**
  * Hide the developer toolbar
  */
-DeveloperToolbar.prototype.destroy = function() {
+DeveloperToolbar.prototype.destroy = function () {
   if (this._input == null) {
     return; // Already destroyed
   }
 
   let tabbrowser = this._chromeWindow.gBrowser;
   tabbrowser.tabContainer.removeEventListener("TabSelect", this, false);
   tabbrowser.tabContainer.removeEventListener("TabClose", this, false);
   tabbrowser.removeEventListener("load", this, true);
@@ -670,26 +670,26 @@ DeveloperToolbar.prototype.destroy = fun
   this._element.remove();
   delete this._element;
 };
 
 /**
  * Utility for sending notifications
  * @param topic a NOTIFICATION constant
  */
-DeveloperToolbar.prototype._notify = function(topic) {
+DeveloperToolbar.prototype._notify = function (topic) {
   let data = { toolbar: this };
   data.wrappedJSObject = data;
   Services.obs.notifyObservers(data, topic, null);
 };
 
 /**
  * Update various parts of the UI when the current tab changes
  */
-DeveloperToolbar.prototype.handleEvent = function(ev) {
+DeveloperToolbar.prototype.handleEvent = function (ev) {
   if (ev.type == "TabSelect" || ev.type == "load") {
     if (this.visible) {
       let tab = this._chromeWindow.gBrowser.selectedTab;
       this.target = TargetFactory.forTab(tab);
       gcliInit.getSystem(this.target).then(system => {
         this.requisition.system = system;
       }, error => {
         if (!this._chromeWindow.gBrowser.getBrowserForTab(tab)) {
@@ -716,33 +716,33 @@ DeveloperToolbar.prototype.handleEvent =
   else if (ev.type == "beforeunload") {
     this._onPageBeforeUnload(ev);
   }
 };
 
 /**
  * Update toolbox toggle button when toolbox goes on and off
  */
-DeveloperToolbar.prototype._onToolboxReady = function() {
+DeveloperToolbar.prototype._onToolboxReady = function () {
   this._errorCounterButton.setAttribute("checked", "true");
-}
-DeveloperToolbar.prototype._onToolboxDestroyed = function() {
+};
+DeveloperToolbar.prototype._onToolboxDestroyed = function () {
   this._errorCounterButton.setAttribute("checked", "false");
-}
+};
 
 /**
  * Count a page error received for the currently selected tab. This
  * method counts the JavaScript exceptions received and CSS errors/warnings.
  *
  * @private
  * @param string tabId the ID of the tab from where the page error comes.
  * @param object pageError the page error object received from the
  * PageErrorListener.
  */
-DeveloperToolbar.prototype._onPageError = function(tabId, pageError) {
+DeveloperToolbar.prototype._onPageError = function (tabId, pageError) {
   if (pageError.category == "CSS Parser" ||
       pageError.category == "CSS Loader") {
     return;
   }
   if ((pageError.flags & pageError.warningFlag) ||
       (pageError.flags & pageError.strictFlag)) {
     this._warningsCount[tabId]++;
   } else {
@@ -753,24 +753,24 @@ DeveloperToolbar.prototype._onPageError 
 
 /**
  * The |beforeunload| event handler. This function resets the errors count when
  * a different page starts loading.
  *
  * @private
  * @param nsIDOMEvent ev the beforeunload DOM event.
  */
-DeveloperToolbar.prototype._onPageBeforeUnload = function(ev) {
+DeveloperToolbar.prototype._onPageBeforeUnload = function (ev) {
   let window = ev.target.defaultView;
   if (window.top !== window) {
     return;
   }
 
   let tabs = this._chromeWindow.gBrowser.tabs;
-  Array.prototype.some.call(tabs, function(tab) {
+  Array.prototype.some.call(tabs, function (tab) {
     if (tab.linkedBrowser.contentWindow === window) {
       let tabId = tab.linkedPanel;
       if (tabId in this._errorsCount || tabId in this._warningsCount) {
         this._errorsCount[tabId] = 0;
         this._warningsCount[tabId] = 0;
         this._updateErrorsCount(tabId);
       }
       return true;
@@ -783,17 +783,17 @@ DeveloperToolbar.prototype._onPageBefore
  * Update the page errors count displayed in the Web Console button for the
  * currently selected tab.
  *
  * @private
  * @param string [changedTabId] Optional. The tab ID that had its page errors
  * count changed. If this is provided and it doesn't match the currently
  * selected tab, then the button is not updated.
  */
-DeveloperToolbar.prototype._updateErrorsCount = function(changedTabId) {
+DeveloperToolbar.prototype._updateErrorsCount = function (changedTabId) {
   let tabId = this._chromeWindow.gBrowser.selectedTab.linkedPanel;
   if (changedTabId && tabId != changedTabId) {
     return;
   }
 
   let errors = this._errorsCount[tabId];
   let warnings = this._warningsCount[tabId];
   let btn = this._errorCounterButton;
@@ -821,17 +821,17 @@ DeveloperToolbar.prototype._updateErrors
 };
 
 /**
  * Reset the errors counter for the given tab.
  *
  * @param nsIDOMElement tab The xul:tab for which you want to reset the page
  * errors counters.
  */
-DeveloperToolbar.prototype.resetErrorsCount = function(tab) {
+DeveloperToolbar.prototype.resetErrorsCount = function (tab) {
   let tabId = tab.linkedPanel;
   if (tabId in this._errorsCount || tabId in this._warningsCount) {
     this._errorsCount[tabId] = 0;
     this._warningsCount[tabId] = 0;
     this._updateErrorsCount(tabId);
   }
 };
 
@@ -853,25 +853,25 @@ function OutputPanel() {
  * If a panel has no content and no height it is not shown when openPopup is
  * called on Windows and OSX (bug 692348) ... this prevents the panel from
  * appearing the first time it is shown. Setting the panel's height to 1px
  * before calling openPopup works around this issue as we resize it ourselves
  * anyway.
  *
  * @param devtoolbar The parent DeveloperToolbar object
  */
-OutputPanel.create = function(devtoolbar) {
+OutputPanel.create = function (devtoolbar) {
   var outputPanel = Object.create(OutputPanel.prototype);
   return outputPanel._init(devtoolbar);
 };
 
 /**
  * @private See OutputPanel.create
  */
-OutputPanel.prototype._init = function(devtoolbar) {
+OutputPanel.prototype._init = function (devtoolbar) {
   this._devtoolbar = devtoolbar;
   this._input = this._devtoolbar._input;
   this._toolbar = this._devtoolbar._doc.getElementById("developer-toolbar");
 
   /*
   <tooltip|panel id="gcli-output"
          noautofocus="true"
          noautohide="true"
@@ -933,43 +933,43 @@ OutputPanel.prototype._init = function(d
                     .getComputedStyle(this._toolbar);
     this._div.setAttribute("dir", styles.direction);
 
     deferred.resolve(this);
   };
   this._frame.addEventListener("load", onload, true);
 
   return deferred.promise;
-}
+};
 
 /* Copy the current devtools theme attribute into the iframe,
    so it can be styled correctly. */
-OutputPanel.prototype._copyTheme = function() {
+OutputPanel.prototype._copyTheme = function () {
   if (this.document) {
     let theme =
       this._devtoolbar._doc.documentElement.getAttribute("devtoolstheme");
     this.document.documentElement.setAttribute("devtoolstheme", theme);
   }
 };
 
 /**
  * Prevent the popup from hiding if it is not permitted via this.canHide.
  */
-OutputPanel.prototype._onpopuphiding = function(ev) {
+OutputPanel.prototype._onpopuphiding = function (ev) {
   // TODO: When we switch back from tooltip to panel we can remove this hack:
   // https://bugzilla.mozilla.org/show_bug.cgi?id=780102
   if (isLinux && !this.canHide) {
     ev.preventDefault();
   }
 };
 
 /**
  * Display the OutputPanel.
  */
-OutputPanel.prototype.show = function() {
+OutputPanel.prototype.show = function () {
   if (isLinux) {
     this.canHide = false;
   }
 
   // We need to reset the iframe size in order for future size calculations to
   // be correct
   this._frame.style.minHeight = this._frame.style.maxHeight = 0;
   this._frame.style.minWidth = 0;
@@ -980,30 +980,30 @@ OutputPanel.prototype.show = function() 
 
   this._input.focus();
 };
 
 /**
  * Internal helper to set the height of the output panel to fit the available
  * content;
  */
-OutputPanel.prototype._resize = function() {
+OutputPanel.prototype._resize = function () {
   if (this._panel == null || this.document == null || !this._panel.state == "closed") {
-    return
+    return;
   }
 
   // Set max panel width to match any content with a max of the width of the
   // browser window.
   let maxWidth = this._panel.ownerDocument.documentElement.clientWidth;
 
   // Adjust max width according to OS.
   // We'd like to put this in CSS but we can't:
   //   body { width: calc(min(-5px, max-content)); }
   //   #_panel { max-width: -5px; }
-  switch(OS) {
+  switch (OS) {
     case "Linux":
       maxWidth -= 5;
       break;
     case "Darwin":
       maxWidth -= 25;
       break;
     case "WINNT":
       maxWidth -= 5;
@@ -1041,17 +1041,17 @@ OutputPanel.prototype._resize = function
   let screenX = this._input.boxObject.screenX;
   let screenY = this._toolbar.boxObject.screenY;
   this._panel.moveTo(screenX, screenY - height);
 };
 
 /**
  * Called by GCLI when a command is executed.
  */
-OutputPanel.prototype._outputChanged = function(ev) {
+OutputPanel.prototype._outputChanged = function (ev) {
   if (ev.output.hidden) {
     return;
   }
 
   this.remove();
 
   this.displayedOutput = ev.output;
 
@@ -1063,17 +1063,17 @@ OutputPanel.prototype._outputChanged = f
                                 .then(null, console.error);
   }
 };
 
 /**
  * Called when displayed Output says it's changed or from outputChanged, which
  * happens when there is a new displayed Output.
  */
-OutputPanel.prototype._update = function() {
+OutputPanel.prototype._update = function () {
   // destroy has been called, bail out
   if (this._div == null) {
     return;
   }
 
   // Empty this._div
   while (this._div.hasChildNodes()) {
     this._div.removeChild(this._div.firstChild);
@@ -1099,34 +1099,34 @@ OutputPanel.prototype._update = function
       this.show();
     });
   }
 };
 
 /**
  * Detach listeners from the currently displayed Output.
  */
-OutputPanel.prototype.remove = function() {
+OutputPanel.prototype.remove = function () {
   if (isLinux) {
     this.canHide = true;
   }
 
   if (this._panel && this._panel.hidePopup) {
     this._panel.hidePopup();
   }
 
   if (this.displayedOutput) {
     delete this.displayedOutput;
   }
 };
 
 /**
  * Detach listeners from the currently displayed Output.
  */
-OutputPanel.prototype.destroy = function() {
+OutputPanel.prototype.destroy = function () {
   this.remove();
 
   this._panel.removeEventListener("popuphiding", this._onpopuphiding, true);
 
   this._panel.removeChild(this._frame);
   this._toolbar.parentElement.removeChild(this._panel);
 
   delete this._devtoolbar;
@@ -1139,17 +1139,17 @@ OutputPanel.prototype.destroy = function
   delete this._div;
   delete this.document;
 };
 
 /**
  * Called by GCLI to indicate that we should show or hide one either the
  * tooltip panel or the output panel.
  */
-OutputPanel.prototype._visibilityChanged = function(ev) {
+OutputPanel.prototype._visibilityChanged = function (ev) {
   if (ev.outputVisible === true) {
     // this.show is called by _outputChanged
   } else {
     if (isLinux) {
       this.canHide = true;
     }
     this._panel.hidePopup();
   }
@@ -1173,25 +1173,25 @@ function TooltipPanel() {
  * If a panel has no content and no height it is not shown when openPopup is
  * called on Windows and OSX (bug 692348) ... this prevents the panel from
  * appearing the first time it is shown. Setting the panel's height to 1px
  * before calling openPopup works around this issue as we resize it ourselves
  * anyway.
  *
  * @param devtoolbar The parent DeveloperToolbar object
  */
-TooltipPanel.create = function(devtoolbar) {
+TooltipPanel.create = function (devtoolbar) {
   var tooltipPanel = Object.create(TooltipPanel.prototype);
   return tooltipPanel._init(devtoolbar);
 };
 
 /**
  * @private See TooltipPanel.create
  */
-TooltipPanel.prototype._init = function(devtoolbar) {
+TooltipPanel.prototype._init = function (devtoolbar) {
   let deferred = promise.defer();
 
   let chromeDocument = devtoolbar._doc;
   this._devtoolbar = devtoolbar;
   this._input = devtoolbar._doc.querySelector(".gclitoolbar-input-node");
   this._toolbar = devtoolbar._doc.querySelector("#developer-toolbar");
   this._dimensions = { start: 0, end: 0 };
 
@@ -1259,39 +1259,39 @@ TooltipPanel.prototype._init = function(
   };
   this._frame.addEventListener("load", onload, true);
 
   return deferred.promise;
 };
 
 /* Copy the current devtools theme attribute into the iframe,
    so it can be styled correctly. */
-TooltipPanel.prototype._copyTheme = function() {
+TooltipPanel.prototype._copyTheme = function () {
   if (this.document) {
     let theme =
       this._devtoolbar._doc.documentElement.getAttribute("devtoolstheme");
     this.document.documentElement.setAttribute("devtoolstheme", theme);
   }
 };
 
 /**
  * Prevent the popup from hiding if it is not permitted via this.canHide.
  */
-TooltipPanel.prototype._onpopuphiding = function(ev) {
+TooltipPanel.prototype._onpopuphiding = function (ev) {
   // TODO: When we switch back from tooltip to panel we can remove this hack:
   // https://bugzilla.mozilla.org/show_bug.cgi?id=780102
   if (isLinux && !this.canHide) {
     ev.preventDefault();
   }
 };
 
 /**
  * Display the TooltipPanel.
  */
-TooltipPanel.prototype.show = function(dimensions) {
+TooltipPanel.prototype.show = function (dimensions) {
   if (!dimensions) {
     dimensions = { start: 0, end: 0 };
   }
   this._dimensions = dimensions;
 
   // This is nasty, but displaying the panel causes it to re-flow, which can
   // change the size it should be, so we need to resize the iframe after the
   // panel has displayed
@@ -1317,19 +1317,19 @@ TooltipPanel.prototype.show = function(d
  * measure the width.
  * Or we could do this...
  */
 const AVE_CHAR_WIDTH = 4.5;
 
 /**
  * Display the TooltipPanel.
  */
-TooltipPanel.prototype._resize = function() {
+TooltipPanel.prototype._resize = function () {
   if (this._panel == null || this.document == null || !this._panel.state == "closed") {
-    return
+    return;
   }
 
   let offset = 10 + Math.floor(this._dimensions.start * AVE_CHAR_WIDTH);
   this._panel.style.marginLeft = offset + "px";
 
   /*
   // Bug 744906: UX review - Not sure if we want this code to fatten connector
   // with param width
@@ -1340,29 +1340,29 @@ TooltipPanel.prototype._resize = functio
   */
 
   this._frame.height = this.document.body.scrollHeight;
 };
 
 /**
  * Hide the TooltipPanel.
  */
-TooltipPanel.prototype.remove = function() {
+TooltipPanel.prototype.remove = function () {
   if (isLinux) {
     this.canHide = true;
   }
   if (this._panel && this._panel.hidePopup) {
     this._panel.hidePopup();
   }
 };
 
 /**
  * Hide the TooltipPanel.
  */
-TooltipPanel.prototype.destroy = function() {
+TooltipPanel.prototype.destroy = function () {
   this.remove();
 
   this._panel.removeEventListener("popuphiding", this._onpopuphiding, true);
 
   this._panel.removeChild(this._frame);
   this._toolbar.parentElement.removeChild(this._panel);
 
   delete this._connector;
@@ -1376,17 +1376,17 @@ TooltipPanel.prototype.destroy = functio
   delete this.document;
   delete this.hintElement;
 };
 
 /**
  * Called by GCLI to indicate that we should show or hide one either the
  * tooltip panel or the output panel.
  */
-TooltipPanel.prototype._visibilityChanged = function(ev) {
+TooltipPanel.prototype._visibilityChanged = function (ev) {
   if (ev.tooltipVisible === true) {
     this.show(ev.dimensions);
   } else {
     if (isLinux) {
       this.canHide = true;
     }
     this._panel.hidePopup();
   }
--- a/devtools/client/shared/devtools-file-watcher.js
+++ b/devtools/client/shared/devtools-file-watcher.js
@@ -30,17 +30,17 @@ function findSourceDir(path) {
       return path;
     } else {
       return findSourceDir(OS.Path.dirname(path));
     }
   });
 }
 
 let worker = null;
-const onPrefChange = function() {
+const onPrefChange = function () {
   // We need to figure out a src dir to watch. These are the actual
   // files the user is working with, not the files in the obj dir. We
   // do this by walking up the filesystem and looking for the devtools
   // directories, and falling back to the raw path. This means none of
   // this will work for users who store their obj dirs outside of the
   // src dir.
   //
   // We take care not to mess with the `devtoolsPath` if that's what
@@ -63,15 +63,15 @@ const onPrefChange = function() {
           let relativePath = path.replace(rootPath + "/", "");
           module.exports.emit("file-changed", relativePath, path);
         });
       });
   } else if (worker) {
     worker.terminate();
     worker = null;
   }
-}
+};
 Services.prefs.addObserver(HOTRELOAD_PREF, {
   observe: onPrefChange
 }, false);
 onPrefChange();
 
 EventEmitter.decorate(module.exports);
--- a/devtools/client/shared/doorhanger.js
+++ b/devtools/client/shared/doorhanger.js
@@ -20,17 +20,17 @@ const LOCALE = Cc["@mozilla.org/chrome/c
                .getService(Ci.nsIXULChromeRegistry)
                .getSelectedLocale("global");
 
 /**
  * Only show Dev Edition promo if it's enabled (beta channel),
  * if it has not been shown before, and it's a locale build
  * for `en-US`
  */
-function shouldDevEditionPromoShow () {
+function shouldDevEditionPromoShow() {
   return Services.prefs.getBoolPref(DEV_EDITION_PROMO_ENABLED_PREF) &&
          !Services.prefs.getBoolPref(DEV_EDITION_PROMO_SHOWN_PREF) &&
          LOCALE === "en-US";
 }
 
 var TYPES = {
   // The Developer Edition promo doorhanger, called by
   // opening the toolbox, browser console, WebIDE, or responsive design mode
@@ -63,17 +63,17 @@ var panelAttrs = {
  * @param {XULWindow} window
  *        The window that should house the doorhanger.
  * @param {String} type
  *        The type of doorhanger to be displayed is, using the `TYPES` definition.
  * @param {String} selector
  *        The selector that the doorhanger should be appended to within `window`.
  *        Defaults to a XUL Document's `window` element.
  */
-exports.showDoorhanger = Task.async(function *({ window, type, anchor }) {
+exports.showDoorhanger = Task.async(function* ({ window, type, anchor }) {
   let { predicate, success, url, action } = TYPES[type];
   // Abort if predicate fails
   if (!predicate()) {
     return;
   }
 
   // Call success function to set preferences/cleanup immediately,
   // so if triggered multiple times, only happens once (Windows/Linux)
@@ -112,48 +112,48 @@ exports.showDoorhanger = Task.async(func
       if (action) {
         action();
       }
       close();
     });
   }
 });
 
-function setDoorhangerStyle (panel, frame) {
+function setDoorhangerStyle(panel, frame) {
   Object.keys(panelAttrs).forEach(prop => panel.setAttribute(prop, panelAttrs[prop]));
   panel.style.margin = "20px";
   panel.style.borderRadius = "5px";
   panel.style.border = "none";
   panel.style.MozAppearance = "none";
   panel.style.backgroundColor = "transparent";
 
   frame.style.borderRadius = "5px";
   frame.setAttribute("flex", "1");
   frame.setAttribute("width", "450");
   frame.setAttribute("height", "179");
 }
 
-function onFrameLoad (frame) {
+function onFrameLoad(frame) {
   let { resolve, promise } = Promise.defer();
 
   if (frame.contentWindow) {
     let domHelper = new DOMHelpers(frame.contentWindow);
     domHelper.onceDOMReady(resolve);
   } else {
     let callback = () => {
       frame.removeEventListener("DOMContentLoaded", callback);
       resolve();
-    }
+    };
     frame.addEventListener("DOMContentLoaded", callback);
   }
 
   return promise;
 }
 
-function getGBrowser () {
+function getGBrowser() {
   return getMostRecentBrowserWindow().gBrowser;
 }
 
-function wait (n) {
+function wait(n) {
   let { resolve, promise } = Promise.defer();
   setTimeout(resolve, n);
   return promise;
 }
--- a/devtools/client/shared/file-watcher-worker.js
+++ b/devtools/client/shared/file-watcher-worker.js
@@ -53,17 +53,17 @@ function scanFiles(files, onChangedFile)
 
     if (info.lastModificationDate.getTime() > lastTime) {
       modifiedTimes.set(file, info.lastModificationDate.getTime());
       onChangedFile(file);
     }
   });
 }
 
-onmessage = function(event) {
+onmessage = function (event) {
   const { path, fileRegex } = event.data;
 
   const info = OS.File.stat(path);
   if (!info.isDir) {
     throw new Error("Watcher expects a directory as root path");
   }
 
   // We get a list of all the files upfront, which means we don't
--- a/devtools/client/shared/frame-script-utils.js
+++ b/devtools/client/shared/frame-script-utils.js
@@ -21,17 +21,17 @@ addMessageListener("devtools:test:naviga
 });
 
 addMessageListener("devtools:test:reload", function ({ data }) {
   data = data || {};
   content.location.reload(data.forceget);
 });
 
 addMessageListener("devtools:test:console", function ({ data: { method, args, id } }) {
-  content.console[method].apply(content.console, args)
+  content.console[method].apply(content.console, args);
   sendAsyncMessage("devtools:test:console:response", { id });
 });
 
 /**
  * Performs a single XMLHttpRequest and returns a promise that resolves once
  * the request has loaded.
  *
  * @param Object data
@@ -127,29 +127,29 @@ addMessageListener("devtools:test:profil
 // To eval in content, look at `evalInDebuggee` in the shared-head.js.
 addMessageListener("devtools:test:eval", function ({ data }) {
   sendAsyncMessage("devtools:test:eval:response", {
     value: content.eval(data.script),
     id: data.id
   });
 });
 
-addEventListener("load", function() {
+addEventListener("load", function () {
   sendAsyncMessage("devtools:test:load");
 }, true);
 
 /**
  * Set a given style property value on a node.
  * @param {Object} data
  * - {String} selector The CSS selector to get the node (can be a "super"
  *   selector).
  * - {String} propertyName The name of the property to set.
  * - {String} propertyValue The value for the property.
  */
-addMessageListener("devtools:test:setStyle", function(msg) {
+addMessageListener("devtools:test:setStyle", function (msg) {
   let {selector, propertyName, propertyValue} = msg.data;
   let node = superQuerySelector(selector);
   if (!node) {
     return;
   }
 
   node.style[propertyName] = propertyValue;
 
@@ -159,17 +159,17 @@ addMessageListener("devtools:test:setSty
 /**
  * Set a given attribute value on a node.
  * @param {Object} data
  * - {String} selector The CSS selector to get the node (can be a "super"
  *   selector).
  * - {String} attributeName The name of the attribute to set.
  * - {String} attributeValue The value for the attribute.
  */
-addMessageListener("devtools:test:setAttribute", function(msg) {
+addMessageListener("devtools:test:setAttribute", function (msg) {
   let {selector, attributeName, attributeValue} = msg.data;
   let node = superQuerySelector(selector);
   if (!node) {
     return;
   }
 
   node.setAttribute(attributeName, attributeValue);
 
@@ -181,23 +181,23 @@ addMessageListener("devtools:test:setAtt
  * ".container iframe || .sub-container div" will first try to find the node
  * matched by ".container iframe" in the root document, then try to get the
  * content document inside it, and then try to match ".sub-container div" inside
  * this document.
  * Any selector coming before the || separator *MUST* match a frame node.
  * @param {String} superSelector.
  * @return {DOMNode} The node, or null if not found.
  */
-function superQuerySelector(superSelector, root=content.document) {
+function superQuerySelector(superSelector, root = content.document) {
   let frameIndex = superSelector.indexOf("||");
   if (frameIndex === -1) {
     return root.querySelector(superSelector);
   } else {
     let rootSelector = superSelector.substring(0, frameIndex).trim();
-    let childSelector = superSelector.substring(frameIndex+2).trim();
+    let childSelector = superSelector.substring(frameIndex + 2).trim();
     root = root.querySelector(rootSelector);
     if (!root || !root.contentWindow) {
       return null;
     }
 
     return superQuerySelector(childSelector, root.contentWindow.document);
   }
 }
--- a/devtools/client/shared/getjson.js
+++ b/devtools/client/shared/getjson.js
@@ -10,34 +10,34 @@ const XMLHttpRequest = CC("@mozilla.org/
 
 // Downloads and caches a JSON file from a URL given by the pref.
 exports.getJSON = function (prefName, bypassCache) {
   if (!bypassCache) {
     try {
       let str = Services.prefs.getCharPref(prefName + "_cache");
       let json = JSON.parse(str);
       return promise.resolve(json);
-    } catch(e) {/* no pref or invalid json. Let's continue */}
+    } catch (e) {/* no pref or invalid json. Let's continue */}
   }
 
   let deferred = promise.defer();
   let xhr = new XMLHttpRequest();
 
   xhr.onload = () => {
     let json;
     try {
       json = JSON.parse(xhr.responseText);
-    } catch(e) {
+    } catch (e) {
       return deferred.reject("Invalid JSON");
     }
     Services.prefs.setCharPref(prefName + "_cache", xhr.responseText);
     deferred.resolve(json);
-  }
+  };
 
   xhr.onerror = (e) => {
     deferred.reject("Network error");
-  }
+  };
 
   xhr.open("get", Services.prefs.getCharPref(prefName));
   xhr.send();
 
   return deferred.promise;
-}
+};
--- a/devtools/client/shared/inplace-editor.js
+++ b/devtools/client/shared/inplace-editor.js
@@ -117,17 +117,17 @@ function isKeyIn(key, ...keys) {
  *       called when replacing the element by the inplace input.
  *    {Boolean} trimOutput: Should the returned string be trimmed?
  *      defaults to true
  *    {Boolean} preserveTextStyles: If true, do not copy text-related styles
  *              from `element` to the new input.
  *      defaults to false
  */
 function editableField(options) {
-  return editableItem(options, function(element, event) {
+  return editableItem(options, function (element, event) {
     if (!options.element.inplaceEditor) {
       new InplaceEditor(options, event);
     }
   });
 }
 
 exports.editableField = editableField;
 
@@ -143,42 +143,42 @@ exports.editableField = editableField;
  *      defaults to "click"
  * @param {Function} callback
  *        Called when the editor is activated.
  * @return {Function} function which calls callback
  */
 function editableItem(options, callback) {
   let trigger = options.trigger || "click";
   let element = options.element;
-  element.addEventListener(trigger, function(evt) {
+  element.addEventListener(trigger, function (evt) {
     if (evt.target.nodeName !== "a") {
       let win = this.ownerDocument.defaultView;
       let selection = win.getSelection();
       if (trigger != "click" || selection.isCollapsed) {
         callback(element, evt);
       }
       evt.stopPropagation();
     }
   }, false);
 
   // If focused by means other than a click, start editing by
   // pressing enter or space.
-  element.addEventListener("keypress", function(evt) {
+  element.addEventListener("keypress", function (evt) {
     if (isKeyIn(evt.keyCode, "RETURN") || isKeyIn(evt.charCode, "SPACE")) {
       callback(element);
     }
   }, true);
 
   // Ugly workaround - the element is focused on mousedown but
   // the editor is activated on click/mouseup.  This leads
   // to an ugly flash of the focus ring before showing the editor.
   // So hide the focus ring while the mouse is down.
-  element.addEventListener("mousedown", function(evt) {
+  element.addEventListener("mousedown", function (evt) {
     if (evt.target.nodeName !== "a") {
-      let cleanup = function() {
+      let cleanup = function () {
         element.style.removeProperty("outline-style");
         element.removeEventListener("mouseup", cleanup, false);
         element.removeEventListener("mouseout", cleanup, false);
       };
       element.style.setProperty("outline-style", "none");
       element.addEventListener("mouseup", cleanup, false);
       element.addEventListener("mouseout", cleanup, false);
     }
@@ -310,17 +310,17 @@ InplaceEditor.CONTENT_TYPES = CONTENT_TY
 
 InplaceEditor.prototype = {
 
   get currentInputValue() {
     let val = this.trimOutput ? this.input.value.trim() : this.input.value;
     return val;
   },
 
-  _createInput: function() {
+  _createInput: function () {
     this.input =
       this.doc.createElementNS(HTML_NS, this.multiline ? "textarea" : "input");
     this.input.inplaceEditor = this;
 
     if (this.multiline) {
       // Hide the textarea resize handle.
       this.input.style.resize = "none";
       this.input.style.overflow = "hidden";
@@ -331,17 +331,17 @@ InplaceEditor.prototype = {
     if (!this.preserveTextStyles) {
       copyTextStyles(this.elt, this.input);
     }
   },
 
   /**
    * Get rid of the editor.
    */
-  _clear: function() {
+  _clear: function () {
     if (!this.input) {
       // Already cleared.
       return;
     }
 
     this.input.removeEventListener("blur", this._onBlur, false);
     this.input.removeEventListener("keypress", this._onKeyPress, false);
     this.input.removeEventListener("keyup", this._onKeyup, false);
@@ -371,17 +371,17 @@ InplaceEditor.prototype = {
       this.destroy();
     }
   },
 
   /**
    * Keeps the editor close to the size of its input string.  This is pretty
    * crappy, suggestions for improvement welcome.
    */
-  _autosize: function() {
+  _autosize: function () {
     // Create a hidden, absolutely-positioned span to measure the text
     // in the input.  Boo.
 
     // We can't just measure the original element because a) we don't
     // change the underlying element's text ourselves (we leave that
     // up to the client), and b) without tweaking the style of the
     // original element, it might wrap differently or something.
     this._measurement =
@@ -407,28 +407,28 @@ InplaceEditor.prototype = {
 
     copyAllStyles(this.input, this._measurement);
     this._updateSize();
   },
 
   /**
    * Clean up the mess created by _autosize().
    */
-  _stopAutosize: function() {
+  _stopAutosize: function () {
     if (!this._measurement) {
       return;
     }
     this._measurement.remove();
     delete this._measurement;
   },
 
   /**
    * Size the editor to fit its current contents.
    */
-  _updateSize: function() {
+  _updateSize: function () {
     // Replace spaces with non-breaking spaces.  Otherwise setting
     // the span's textContent will collapse spaces and the measurement
     // will be wrong.
     let content = this.input.value;
     let unbreakableSpace = "\u00a0";
 
     // Make sure the content is not empty.
     if (content === "") {
@@ -458,33 +458,33 @@ InplaceEditor.prototype = {
     }
     this.input.style.width = width + "px";
   },
 
   /**
    * Get the width and height of a single character in the input to properly
    * position the autocompletion popup.
    */
-  _getInputCharDimensions: function() {
+  _getInputCharDimensions: function () {
     // Just make the text content to be 'x' to get the width and height of any
     // character in a monospace font.
     this._measurement.textContent = "x";
     let width = this._measurement.clientWidth;
     let height = this._measurement.clientHeight;
     return { width, height };
   },
 
    /**
    * Increment property values in rule view.
    *
    * @param {Number} increment
    *        The amount to increase/decrease the property value.
    * @return {Boolean} true if value has been incremented.
    */
-  _incrementValue: function(increment) {
+  _incrementValue: function (increment) {
     let value = this.input.value;
     let selectionStart = this.input.selectionStart;
     let selectionEnd = this.input.selectionEnd;
 
     let newValue = this._incrementCSSValue(value, increment, selectionStart,
                                            selectionEnd);
 
     if (!newValue) {
@@ -511,17 +511,17 @@ InplaceEditor.prototype = {
    * @param {Number} increment
    *        Amount to increase/decrease the property value.
    * @param {Number} selStart
    *        Starting index of the value.
    * @param {Number} selEnd
    *        Ending index of the value.
    * @return {Object} object with properties 'value', 'start', and 'end'.
    */
-  _incrementCSSValue: function(value, increment, selStart, selEnd) {
+  _incrementCSSValue: function (value, increment, selStart, selEnd) {
     let range = this._parseCSSValue(value, selStart);
     let type = (range && range.type) || "";
     let rawValue = range ? value.substring(range.start, range.end) : "";
     let preRawValue = range ? value.substr(0, range.start) : "";
     let postRawValue = range ? value.substr(range.end) : "";
     let info;
 
     let incrementedValue = null, selection;
@@ -592,17 +592,17 @@ InplaceEditor.prototype = {
    * @param {String} beforeValue
    *        The string preceeding the number value in the current property
    *        value.
    * @param {String} afterValue
    *        The string following the number value in the current property value.
    * @return {String} a valid unit that can be used for this number value or
    *         empty string if no match could be found.
    */
-  _findCompatibleUnit: function(beforeValue, afterValue) {
+  _findCompatibleUnit: function (beforeValue, afterValue) {
     if (!this.property || !this.property.name) {
       return "";
     }
 
     // A DOM element is used to test the validity of various units. This is to
     // avoid having to do an async call to the server to get this information.
     let el = this.doc.createElement("div");
     let units = ["px", "deg", "s"];
@@ -622,17 +622,17 @@ InplaceEditor.prototype = {
    *
    * @param {String} value
    *        Property value.
    * @param {Number} offset
    *        Starting index of value.
    * @return {Object} object with properties 'value', 'start', 'end', and
    *         'type'.
    */
-  _parseCSSValue: function(value, offset) {
+  _parseCSSValue: function (value, offset) {
     const reSplitCSS = /(url\("?[^"\)]+"?\)?)|(rgba?\([^)]*\)?)|(hsla?\([^)]*\)?)|(#[\dA-Fa-f]+)|(-?\d*\.?\d+(%|[a-z]{1,4})?)|"([^"]*)"?|'([^']*)'?|([^,\s\/!\(\)]+)|(!(.*)?)/;
     let start = 0;
     let m;
 
     // retreive values from left to right until we find the one at our offset
     while ((m = reSplitCSS.exec(value)) &&
           (m.index + m[0].length < offset)) {
       value = value.substr(m.index + m[0].length);
@@ -676,17 +676,17 @@ InplaceEditor.prototype = {
    * @param {Number} offset
    *        Starting index of the property value.
    * @param {Number} offsetEnd
    *        Ending index of the property value.
    * @param {Object} info
    *        Object with details about the property value.
    * @return {Object} object with properties 'value', 'start', and 'end'.
    */
-  _incrementGenericValue: function(value, increment, offset, offsetEnd, info) {
+  _incrementGenericValue: function (value, increment, offset, offsetEnd, info) {
     // Try to find a number around the cursor to increment.
     let start, end;
     // Check if we are incrementing in a non-number context (such as a URL)
     if (/^-?[0-9.]/.test(value.substring(offset, offsetEnd)) &&
       !(/\d/.test(value.charAt(offset - 1) + value.charAt(offsetEnd)))) {
       // We have a number selected, possibly with a suffix, and we are not in
       // the disallowed case of just part of a known number being selected.
       // Use that number.
@@ -743,17 +743,17 @@ InplaceEditor.prototype = {
    * @param {String} rawValue
    *        Raw value to increment.
    * @param {Number} increment
    *        Amount to increase/decrease the raw value.
    * @param {Object} info
    *        Object with info about the property value.
    * @return {String} the incremented value.
    */
-  _incrementRawValue: function(rawValue, increment, info) {
+  _incrementRawValue: function (rawValue, increment, info) {
     let num = parseFloat(rawValue);
 
     if (isNaN(num)) {
       return null;
     }
 
     let number = /\d+(\.\d+)?/.exec(rawValue);
 
@@ -785,17 +785,17 @@ InplaceEditor.prototype = {
    * @param {Number} increment
    *        Amount to increase/decrease the property value.
    * @param {Number} offset
    *        Starting index of the property value.
    * @param {Number} offsetEnd
    *        Ending index of the property value.
    * @return {Object} object with properties 'value' and 'selection'.
    */
-  _incHexColor: function(rawValue, increment, offset, offsetEnd) {
+  _incHexColor: function (rawValue, increment, offset, offsetEnd) {
     // Return early if no part of the rawValue is selected.
     if (offsetEnd > rawValue.length && offset >= rawValue.length) {
       return null;
     }
     if (offset < 1 && offsetEnd <= 1) {
       return null;
     }
     // Ignore the leading #.
@@ -875,17 +875,17 @@ InplaceEditor.prototype = {
    * Cycle through the autocompletion suggestions in the popup.
    *
    * @param {Boolean} reverse
    *        true to select previous item from the popup.
    * @param {Boolean} noSelect
    *        true to not select the text after selecting the newly selectedItem
    *        from the popup.
    */
-  _cycleCSSSuggestion: function(reverse, noSelect) {
+  _cycleCSSSuggestion: function (reverse, noSelect) {
     // selectedItem can be null when nothing is selected in an empty editor.
     let {label, preLabel} = this.popup.selectedItem ||
                             {label: "", preLabel: ""};
     if (reverse) {
       this.popup.selectPreviousItem();
     } else {
       this.popup.selectNextItem();
     }
@@ -916,17 +916,17 @@ InplaceEditor.prototype = {
     this._updateSize();
     // This emit is mainly for the purpose of making the test flow simpler.
     this.emit("after-suggest");
   },
 
   /**
    * Call the client's done handler and clear out.
    */
-  _apply: function(event, direction) {
+  _apply: function (event, direction) {
     if (this._applied) {
       return null;
     }
 
     this._applied = true;
 
     if (this.done) {
       let val = this.cancelled ? this.initial : this.currentInputValue;
@@ -934,48 +934,48 @@ InplaceEditor.prototype = {
     }
 
     return null;
   },
 
   /**
    * Hide the popup and cancel any pending popup opening.
    */
-  _onWindowBlur: function() {
+  _onWindowBlur: function () {
     if (this.popup && this.popup.isOpen) {
       this.popup.hidePopup();
     }
 
     if (this._openPopupTimeout) {
       this.doc.defaultView.clearTimeout(this._openPopupTimeout);
     }
   },
 
   /**
    * Event handler called when the inplace-editor's input loses focus.
    */
-  _onBlur: function(event) {
+  _onBlur: function (event) {
     if (event && this.popup && this.popup.isOpen &&
       this.popup.selectedIndex >= 0) {
       this._acceptPopupSuggestion();
     } else {
       this._apply();
       this._clear();
     }
   },
 
   /**
    * Event handler called by the autocomplete popup when receiving a click
    * event.
    */
-  _onAutocompletePopupClick: function() {
+  _onAutocompletePopupClick: function () {
     this._acceptPopupSuggestion();
   },
 
-  _acceptPopupSuggestion: function() {
+  _acceptPopupSuggestion: function () {
     let label, preLabel;
 
     if (this._selectedIndex === undefined) {
       ({label, preLabel} =
         this.popup.getItemAtIndex(this.popup.selectedIndex));
     } else {
       ({label, preLabel} = this.popup.getItemAtIndex(this._selectedIndex));
     }
@@ -1014,17 +1014,17 @@ InplaceEditor.prototype = {
     };
     this.popup._panel.addEventListener("popuphidden", onPopupHidden);
     this._hideAutocompletePopup();
   },
 
   /**
    * Handle the input field's keypress event.
    */
-  _onKeyPress: function(event) {
+  _onKeyPress: function (event) {
     let prevent = false;
 
     let key = event.keyCode;
     let input = this.input;
 
     let multilineNavigation = !this._isSingleLine() &&
       isKeyIn(key, "UP", "DOWN", "LEFT", "RIGHT");
     let isPlainText = this.contentType == CONTENT_TYPES.PLAIN_TEXT;
@@ -1153,36 +1153,36 @@ InplaceEditor.prototype = {
    * Open the autocomplete popup, adding a custom click handler and classname.
    *
    * @param {Number} offset
    *        X-offset relative to the input starting edge.
    * @param {Number} selectedIndex
    *        The index of the item that should be selected. Use -1 to have no
    *        item selected.
    */
-  _openAutocompletePopup: function(offset, selectedIndex) {
+  _openAutocompletePopup: function (offset, selectedIndex) {
     this.popup._panel.classList.add(AUTOCOMPLETE_POPUP_CLASSNAME);
     this.popup.on("popup-click", this._onAutocompletePopupClick);
     this.popup.openPopup(this.input, offset, 0, selectedIndex);
   },
 
   /**
    * Remove the custom classname and click handler and close the autocomplete
    * popup.
    */
-  _hideAutocompletePopup: function() {
+  _hideAutocompletePopup: function () {
     this.popup._panel.classList.remove(AUTOCOMPLETE_POPUP_CLASSNAME);
     this.popup.off("popup-click", this._onAutocompletePopupClick);
     this.popup.hidePopup();
   },
 
   /**
    * Get the increment/decrement step to use for the provided key event.
    */
-  _getIncrement: function(event) {
+  _getIncrement: function (event) {
     const largeIncrement = 100;
     const mediumIncrement = 10;
     const smallIncrement = 0.1;
 
     let increment = 0;
     let key = event.keyCode;
 
     if (isKeyIn(key, "UP", "PAGE_UP")) {
@@ -1202,24 +1202,24 @@ InplaceEditor.prototype = {
     }
 
     return increment;
   },
 
   /**
    * Handle the input field's keyup event.
    */
-  _onKeyup: function() {
+  _onKeyup: function () {
     this._applied = false;
   },
 
   /**
    * Handle changes to the input text.
    */
-  _onInput: function() {
+  _onInput: function () {
     // Validate the entered value.
     this._doValidation();
 
     // Update size if we're autosizing.
     if (this._measurement) {
       this._updateSize();
     }
 
@@ -1227,36 +1227,36 @@ InplaceEditor.prototype = {
     if (this.change) {
       this.change(this.currentInputValue);
     }
   },
 
   /**
    * Stop propagation on the provided event
    */
-  _stopEventPropagation: function(e) {
+  _stopEventPropagation: function (e) {
     e.stopPropagation();
   },
 
   /**
    * Fire validation callback with current input
    */
-  _doValidation: function() {
+  _doValidation: function () {
     if (this.validate && this.input) {
       this.validate(this.input.value);
     }
   },
 
   /**
    * Handles displaying suggestions based on the current input.
    *
    * @param {Boolean} autoInsert
    *        Pass true to automatically insert the most relevant suggestion.
    */
-  _maybeSuggestCompletion: function(autoInsert) {
+  _maybeSuggestCompletion: function (autoInsert) {
     // Input can be null in cases when you intantaneously switch out of it.
     if (!this.input) {
       return;
     }
     let preTimeoutQuery = this.input.value;
 
     // Since we are calling this method from a keypress event handler, the
     // |input.value| does not include currently typed character. Thus we perform
@@ -1431,17 +1431,17 @@ InplaceEditor.prototype = {
     }, 0);
   },
 
   /**
    * Check if the current input is displaying more than one line of text.
    *
    * @return {Boolean} true if the input has a single line of text
    */
-  _isSingleLine: function() {
+  _isSingleLine: function () {
     let inputRect = this.input.getBoundingClientRect();
     return inputRect.height < 2 * this.inputCharDimensions.height;
   },
 };
 
 /**
  * Copy text-related styles from one element to another.
  */
@@ -1511,19 +1511,19 @@ function copyBoxModelStyles(from, to) {
 
 /**
  * Trigger a focus change similar to pressing tab/shift-tab.
  */
 function moveFocus(win, direction) {
   return focusManager.moveFocus(win, null, direction, 0);
 }
 
-XPCOMUtils.defineLazyGetter(this, "focusManager", function() {
+XPCOMUtils.defineLazyGetter(this, "focusManager", function () {
   return Services.focus;
 });
 
-XPCOMUtils.defineLazyGetter(this, "CSSPropertyList", function() {
+XPCOMUtils.defineLazyGetter(this, "CSSPropertyList", function () {
   return domUtils.getCSSPropertyNames(domUtils.INCLUDE_ALIASES).sort();
 });
 
-XPCOMUtils.defineLazyGetter(this, "domUtils", function() {
+XPCOMUtils.defineLazyGetter(this, "domUtils", function () {
   return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
 });
--- a/devtools/client/shared/key-shortcuts.js
+++ b/devtools/client/shared/key-shortcuts.js
@@ -117,29 +117,29 @@ KeyShortcuts.parseElectronKey = function
       shortcut.ctrl = true;
     } else if (mod === "Shift") {
       shortcut.shift = true;
     } else {
       throw new Error("Unsupported modifier: " + mod);
     }
   }
 
-  if (typeof(key) === "string" && key.length === 1) {
+  if (typeof (key) === "string" && key.length === 1) {
     // Match any single character
     shortcut.key = key.toLowerCase();
   } else if (key in ElectronKeysMapping) {
     // Maps the others manually to DOM API DOM_VK_*
     key = ElectronKeysMapping[key];
     shortcut.keyCode = window.KeyboardEvent[key];
   } else {
     throw new Error("Unsupported key: " + key);
   }
 
   return shortcut;
-}
+};
 
 KeyShortcuts.prototype = {
   destroy() {
     this.window.removeEventListener("keydown", this);
     this.keys.clear();
   },
 
   doesEventMatchShortcut(event, shortcut) {
--- a/devtools/client/shared/l10n.js
+++ b/devtools/client/shared/l10n.js
@@ -21,57 +21,57 @@ function LocalizationHelper(stringBundle
 
 LocalizationHelper.prototype = {
   /**
    * L10N shortcut function.
    *
    * @param string name
    * @return string
    */
-  getStr: function(name) {
+  getStr: function (name) {
     return this.stringBundle.GetStringFromName(name);
   },
 
   /**
    * L10N shortcut function.
    *
    * @param string name
    * @param array args
    * @return string
    */
-  getFormatStr: function(name, ...args) {
+  getFormatStr: function (name, ...args) {
     return this.stringBundle.formatStringFromName(name, args, args.length);
   },
 
   /**
    * L10N shortcut function for numeric arguments that need to be formatted.
    * All numeric arguments will be fixed to 2 decimals and given a localized
    * decimal separator. Other arguments will be left alone.
    *
    * @param string name
    * @param array args
    * @return string
    */
-  getFormatStrWithNumbers: function(name, ...args) {
+  getFormatStrWithNumbers: function (name, ...args) {
     let newArgs = args.map(x => typeof x == "number" ? this.numberWithDecimals(x, 2) : x);
     return this.stringBundle.formatStringFromName(name, newArgs, newArgs.length);
   },
 
   /**
    * Converts a number to a locale-aware string format and keeps a certain
    * number of decimals.
    *
    * @param number number
    *        The number to convert.
    * @param number decimals [optional]
    *        Total decimals to keep.
    * @return string
    *         The localized number as a string.
    */
-  numberWithDecimals: function(number, decimals = 0) {
+  numberWithDecimals: function (number, decimals = 0) {
     // If this is an integer, don't do anything special.
     if (number === (number|0)) {
       return number;
     }
     // If this isn't a number (and yes, `isNaN(null)` is false), return zero.
     if (isNaN(number) || number === null) {
       return "0";
     }
--- a/devtools/client/shared/node-attribute-parser.js
+++ b/devtools/client/shared/node-attribute-parser.js
@@ -65,17 +65,17 @@ const ATTRIBUTE_TYPES = [
   {namespaceURI: HTML_NS, attributeName: "formaction", tagName: "button", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "formaction", tagName: "input", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "headers", tagName: "td", type: TYPE_IDREF_LIST},
   {namespaceURI: HTML_NS, attributeName: "headers", tagName: "th", type: TYPE_IDREF_LIST},
   {namespaceURI: HTML_NS, attributeName: "href", tagName: "a", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "href", tagName: "area", type: TYPE_URI},
   {namespaceURI: "*", attributeName: "href", tagName: "link", type: TYPE_CSS_RESOURCE_URI,
    isValid: (namespaceURI, tagName, attributes) => {
-    return getAttribute(attributes, "rel") === "stylesheet";
+     return getAttribute(attributes, "rel") === "stylesheet";
    }},
   {namespaceURI: "*", attributeName: "href", tagName: "link", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "href", tagName: "base", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "icon", tagName: "menuitem", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "list", tagName: "input", type: TYPE_IDREF},
   {namespaceURI: HTML_NS, attributeName: "longdesc", tagName: "img", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "longdesc", tagName: "frame", type: TYPE_URI},
   {namespaceURI: HTML_NS, attributeName: "longdesc", tagName: "iframe", type: TYPE_URI},
@@ -120,50 +120,50 @@ const ATTRIBUTE_TYPES = [
   // {namespaceURI: SVG_NS, attributeName: "stroke", tagName: "*", type: },
   // {namespaceURI: SVG_NS, attributeName: "markerstart", tagName: "*", type: },
   // {namespaceURI: SVG_NS, attributeName: "markermid", tagName: "*", type: },
   // {namespaceURI: SVG_NS, attributeName: "markerend", tagName: "*", type: },
   // {namespaceURI: SVG_NS, attributeName: "xlink:href", tagName: "*", type: }
 ];
 
 var parsers = {
-  [TYPE_URI]: function(attributeValue) {
+  [TYPE_URI]: function (attributeValue) {
     return [{
       type: TYPE_URI,
       value: attributeValue
     }];
   },
-  [TYPE_URI_LIST]: function(attributeValue) {
+  [TYPE_URI_LIST]: function (attributeValue) {
     let data = splitBy(attributeValue, " ");
     for (let token of data) {
       if (!token.type) {
         token.type = TYPE_URI;
       }
     }
     return data;
   },
-  [TYPE_JS_RESOURCE_URI]: function(attributeValue) {
+  [TYPE_JS_RESOURCE_URI]: function (attributeValue) {
     return [{
       type: TYPE_JS_RESOURCE_URI,
       value: attributeValue
     }];
   },
-  [TYPE_CSS_RESOURCE_URI]: function(attributeValue) {
+  [TYPE_CSS_RESOURCE_URI]: function (attributeValue) {
     return [{
       type: TYPE_CSS_RESOURCE_URI,
       value: attributeValue
     }];
   },
-  [TYPE_IDREF]: function(attributeValue) {
+  [TYPE_IDREF]: function (attributeValue) {
     return [{
       type: TYPE_IDREF,
       value: attributeValue
     }];
   },
-  [TYPE_IDREF_LIST]: function(attributeValue) {
+  [TYPE_IDREF_LIST]: function (attributeValue) {
     let data = splitBy(attributeValue, " ");
     for (let token of data) {
       if (!token.type) {
         token.type = TYPE_IDREF;
       }
     }
     return data;
   }
@@ -272,16 +272,16 @@ function splitBy(value, splitChar) {
         type: TYPE_STRING,
         value: splitChar
       });
       buffer = "";
     } else {
       buffer += value[i];
     }
 
-    i ++;
+    i++;
   }
   return data;
 }
 
 exports.parseAttribute = parseAttribute;
 // Exported for testing only.
 exports.splitBy = splitBy;
--- a/devtools/client/shared/options-view.js
+++ b/devtools/client/shared/options-view.js
@@ -9,23 +9,23 @@ const PREF_CHANGE_EVENT = "pref-changed"
  * OptionsView constructor. Takes several options, all required:
  * - branchName: The name of the prefs branch, like "devtools.debugger."
  * - menupopup: The XUL `menupopup` item that contains the pref buttons.
  *
  * Fires an event, PREF_CHANGE_EVENT, with the preference name that changed as the second
  * argument. Fires events on opening/closing the XUL panel (OPTIONS_SHOW_EVENT, OPTIONS_HIDDEN_EVENT)
  * as the second argument in the listener, used for tests mostly.
  */
-const OptionsView = function (options={}) {
+const OptionsView = function (options = {}) {
   this.branchName = options.branchName;
   this.menupopup = options.menupopup;
   this.window = this.menupopup.ownerDocument.defaultView;
   let { document } = this.window;
   this.$ = document.querySelector.bind(document);
-  this.$$ = (selector, parent=document) => parent.querySelectorAll(selector);
+  this.$$ = (selector, parent = document) => parent.querySelectorAll(selector);
   // Get the corresponding button that opens the popup by looking
   // for an element with a `popup` attribute matching the menu's ID
   this.button = this.$(`[popup=${this.menupopup.getAttribute("id")}]`);
 
   this.prefObserver = new PrefObserver(this.branchName);
 
   EventEmitter.decorate(this);
 };
--- a/devtools/client/shared/output-parser.js
+++ b/devtools/client/shared/output-parser.js
@@ -37,17 +37,17 @@ const ANGLE_TAKING_FUNCTIONS = ["linear-
                                 "rotateY",
                                 "rotateZ",
                                 "rotate3d",
                                 "skew",
                                 "skewX",
                                 "skewY",
                                 "hue-rotate"];
 
-loader.lazyGetter(this, "DOMUtils", function() {
+loader.lazyGetter(this, "DOMUtils", function () {
   return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
 });
 
 /**
  * This module is used to process text for output by developer tools. This means
  * linking JS files with the debugger, CSS files with the style editor, JS
  * functions with the debugger, placing color swatches next to colors and
  * adding doorhanger previews where possible (images, angles, lengths,
@@ -82,17 +82,17 @@ OutputParser.prototype = {
    * @param  {String} value
    *         CSS Property value
    * @param  {Object} [options]
    *         Options object. For valid options and default values see
    *         _mergeOptions().
    * @return {DocumentFragment}
    *         A document fragment containing color swatches etc.
    */
-  parseCssProperty: function(name, value, options = {}) {
+  parseCssProperty: function (name, value, options = {}) {
     options = this._mergeOptions(options);
 
     options.expectCubicBezier =
       safeCssPropertySupportsType(name, DOMUtils.TYPE_TIMING_FUNCTION);
     options.expectFilter = name === "filter";
     options.supportsColor =
       safeCssPropertySupportsType(name, DOMUtils.TYPE_COLOR) ||
       safeCssPropertySupportsType(name, DOMUtils.TYPE_GRADIENT);
@@ -118,17 +118,17 @@ OutputParser.prototype = {
    *         The FUNCTION token.
    * @param  {String} text
    *         The original CSS text.
    * @param  {CSSLexer} tokenStream
    *         The token stream from which to read.
    * @return {String}
    *         The text of body of the function call.
    */
-  _collectFunctionText: function(initialToken, text, tokenStream) {
+  _collectFunctionText: function (initialToken, text, tokenStream) {
     let result = text.substring(initialToken.startOffset,
                                 initialToken.endOffset);
     let depth = 1;
     while (depth > 0) {
       let token = tokenStream.nextToken();
       if (!token) {
         break;
       }
@@ -155,31 +155,31 @@ OutputParser.prototype = {
    * @param  {String} text
    *         Text to parse.
    * @param  {Object} [options]
    *         Options object. For valid options and default values see
    *         _mergeOptions().
    * @return {DocumentFragment}
    *         A document fragment.
    */
-  _parse: function(text, options = {}) {
+  _parse: function (text, options = {}) {
     text = text.trim();
     this.parsed.length = 0;
 
     let tokenStream = getCSSLexer(text);
     let parenDepth = 0;
     let outerMostFunctionTakesColor = false;
 
-    let colorOK = function() {
+    let colorOK = function () {
       return options.supportsColor ||
         (options.expectFilter && parenDepth === 1 &&
          outerMostFunctionTakesColor);
     };
 
-    let angleOK = function(angle) {
+    let angleOK = function (angle) {
       return /^-?\d+\.?\d*(deg|rad|grad|turn)$/gi.test(angle);
     };
 
     while (true) {
       let token = tokenStream.nextToken();
       if (!token) {
         break;
       }
@@ -285,17 +285,17 @@ OutputParser.prototype = {
    * Append a cubic-bezier timing function value to the output
    *
    * @param {String} bezier
    *        The cubic-bezier timing function
    * @param {Object} options
    *        Options object. For valid options and default values see
    *        _mergeOptions()
    */
-  _appendCubicBezier: function(bezier, options) {
+  _appendCubicBezier: function (bezier, options) {
     let container = this._createNode("span", {
       "data-bezier": bezier
     });
 
     if (options.bezierSwatchClass) {
       let swatch = this._createNode("span", {
         class: options.bezierSwatchClass
       });
@@ -314,34 +314,34 @@ OutputParser.prototype = {
    * Append a angle value to the output
    *
    * @param {String} angle
    *        angle to append
    * @param {Object} options
    *        Options object. For valid options and default values see
    *        _mergeOptions()
    */
-  _appendAngle: function(angle, options) {
+  _appendAngle: function (angle, options) {
     let angleObj = new angleUtils.CssAngle(angle);
     let container = this._createNode("span", {
       "data-angle": angle
     });
 
     if (options.angleSwatchClass) {
       let swatch = this._createNode("span", {
         class: options.angleSwatchClass
       });
       this.angleSwatches.set(swatch, angleObj);
       swatch.addEventListener("mousedown", this._onAngleSwatchMouseDown, false);
 
       // Add click listener to stop event propagation when shift key is pressed
       // in order to prevent the value input to be focused.
       // Bug 711942 will add a tooltip to edit angle values and we should
       // be able to move this listener to Tooltip.js when it'll be implemented.
-      swatch.addEventListener("click", function(event) {
+      swatch.addEventListener("click", function (event) {
         if (event.shiftKey) {
           event.stopPropagation();
         }
       }, false);
       EventEmitter.decorate(swatch);
       container.appendChild(swatch);
     }
 
@@ -356,45 +356,45 @@ OutputParser.prototype = {
   /**
    * Check if a CSS property supports a specific value.
    *
    * @param  {String} name
    *         CSS Property name to check
    * @param  {String} value
    *         CSS Property value to check
    */
-  _cssPropertySupportsValue: function(name, value) {
+  _cssPropertySupportsValue: function (name, value) {
     return DOMUtils.cssPropertyIsValid(name, value);
   },
 
   /**
    * Tests if a given colorObject output by CssColor is valid for parsing.
    * Valid means it's really a color, not any of the CssColor SPECIAL_VALUES
    * except transparent
    */
-  _isValidColor: function(colorObj) {
+  _isValidColor: function (colorObj) {
     return colorObj.valid &&
       (!colorObj.specialValue || colorObj.specialValue === "transparent");
   },
 
   /**
    * Append a color to the output.
    *
    * @param  {String} color
    *         Color to append
    * @param  {Object} [options]
    *         Options object. For valid options and default values see
    *         _mergeOptions().
    */
-  _appendColor: function(color, options={}) {
+  _appendColor: function (color, options = {}) {
     let colorObj = new colorUtils.CssColor(color);
 
     if (this._isValidColor(colorObj)) {
       let container = this._createNode("span", {
-         "data-color": color
+        "data-color": color
       });
 
       if (options.colorSwatchClass) {
         let swatch = this._createNode("span", {
           class: options.colorSwatchClass,
           style: "background-color:" + color
         });
         this.colorSwatches.set(swatch, colorObj);
@@ -427,17 +427,17 @@ OutputParser.prototype = {
    * @param {object} options
    *        The options object passed to parseCssProperty().
    * @param {object} nodes
    *        Nodes created by _toDOM().
    *
    * @returns {object}
    *        A new node that supplies a filter swatch and that wraps |nodes|.
    */
-  _wrapFilter: function(filters, options, nodes) {
+  _wrapFilter: function (filters, options, nodes) {
     let container = this._createNode("span", {
       "data-filters": filters
     });
 
     if (options.filterSwatchClass) {
       let swatch = this._createNode("span", {
         class: options.filterSwatchClass
       });
@@ -448,33 +448,33 @@ OutputParser.prototype = {
       class: options.filterClass
     });
     value.appendChild(nodes);
     container.appendChild(value);
 
     return container;
   },
 
-  _onColorSwatchMouseDown: function(event) {
+  _onColorSwatchMouseDown: function (event) {
     // Prevent text selection in the case of shift-click or double-click.
     event.preventDefault();
 
     if (!event.shiftKey) {
       return;
     }
 
     let swatch = event.target;
     let color = this.colorSwatches.get(swatch);
     let val = color.nextColorUnit();
 
     swatch.nextElementSibling.textContent = val;
     swatch.emit("unit-change", val);
   },
 
-  _onAngleSwatchMouseDown: function(event) {
+  _onAngleSwatchMouseDown: function (event) {
     // Prevent text selection in the case of shift-click or double-click.
     event.preventDefault();
 
     if (!event.shiftKey) {
       return;
     }
 
     let swatch = event.target;
@@ -483,17 +483,17 @@ OutputParser.prototype = {
 
     swatch.nextElementSibling.textContent = val;
     swatch.emit("unit-change", val);
   },
 
   /**
    * A helper function that sanitizes a possibly-unterminated URL.
    */
-  _sanitizeURL: function(url) {
+  _sanitizeURL: function (url) {
     // Re-lex the URL and add any needed termination characters.
     let urlTokenizer = getCSSLexer(url);
     // Just read until EOF; there will only be a single token.
     while (urlTokenizer.nextToken()) {
       // Nothing.
     }
 
     return urlTokenizer.performEOFFixup(url, true);
@@ -505,17 +505,17 @@ OutputParser.prototype = {
    * @param  {String} match
    *         Complete match that may include "url(xxx)"
    * @param  {String} url
    *         Actual URL
    * @param  {Object} [options]
    *         Options object. For valid options and default values see
    *         _mergeOptions().
    */
-  _appendURL: function(match, url, options) {
+  _appendURL: function (match, url, options) {
     if (options.urlClass) {
       // Sanitize the URL.  Note that if we modify the URL, we just
       // leave the termination characters.  This isn't strictly
       // "as-authored", but it makes a bit more sense.
       match = this._sanitizeURL(match);
       // This regexp matches a URL token.  It puts the "url(", any
       // leading whitespace, and any opening quote into |leader|; the
       // URL text itself into |body|, and any trailing quote, trailing
@@ -551,17 +551,17 @@ OutputParser.prototype = {
    *         Tag type e.g. "div"
    * @param  {Object} attributes
    *         e.g. {class: "someClass", style: "cursor:pointer"};
    * @param  {String} [value]
    *         If a value is included it will be appended as a text node inside
    *         the tag. This is useful e.g. for span tags.
    * @return {Node} Newly created Node.
    */
-  _createNode: function(tagName, attributes, value="") {
+  _createNode: function (tagName, attributes, value = "") {
     let node = this.doc.createElementNS(HTML_NS, tagName);
     let attrs = Object.getOwnPropertyNames(attributes);
 
     for (let attr of attrs) {
       if (attributes[attr]) {
         node.setAttribute(attr, attributes[attr]);
       }
     }
@@ -580,44 +580,44 @@ OutputParser.prototype = {
    * @param  {String} tagName
    *         Tag type e.g. "div"
    * @param  {Object} attributes
    *         e.g. {class: "someClass", style: "cursor:pointer"};
    * @param  {String} [value]
    *         If a value is included it will be appended as a text node inside
    *         the tag. This is useful e.g. for span tags.
    */
-  _appendNode: function(tagName, attributes, value="") {
+  _appendNode: function (tagName, attributes, value = "") {
     let node = this._createNode(tagName, attributes, value);
     this.parsed.push(node);
   },
 
   /**
    * Append a text node to the output. If the previously output item was a text
    * node then we append the text to that node.
    *
    * @param  {String} text
    *         Text to append
    */
-  _appendTextNode: function(text) {
+  _appendTextNode: function (text) {
     let lastItem = this.parsed[this.parsed.length - 1];
     if (typeof lastItem === "string") {
       this.parsed[this.parsed.length - 1] = lastItem + text;
     } else {
       this.parsed.push(text);
     }
   },
 
   /**
    * Take all output and append it into a single DocumentFragment.
    *
    * @return {DocumentFragment}
    *         Document Fragment
    */
-  _toDOM: function() {
+  _toDOM: function () {
     let frag = this.doc.createDocumentFragment();
 
     for (let item of this.parsed) {
       if (typeof item === "string") {
         frag.appendChild(this.doc.createTextNode(item));
       } else {
         frag.appendChild(item);
       }
@@ -652,17 +652,17 @@ OutputParser.prototype = {
    *           - filterSwatch: false    // A special case for parsing a
    *                                    // "filter" property, causing the
    *                                    // parser to skip the call to
    *                                    // _wrapFilter.  Used only for
    *                                    // previewing with the filter swatch.
    * @return {Object}
    *         Overridden options object
    */
-  _mergeOptions: function(overrides) {
+  _mergeOptions: function (overrides) {
     let defaults = {
       defaultColorType: true,
       colorSwatchClass: "",
       colorClass: "",
       bezierSwatchClass: "",
       bezierClass: "",
       angleSwatchClass: "",
       angleClass: "",
@@ -690,12 +690,12 @@ OutputParser.prototype = {
  * @param {String} name The property name.
  * @param {number} type The type tested for support.
  * @return {Boolean} Whether the property supports the type.
  *        If the property is unknown, false is returned.
  */
 function safeCssPropertySupportsType(name, type) {
   try {
     return DOMUtils.cssPropertySupportsType(name, type);
-  } catch(e) {
+  } catch (e) {
     return false;
   }
 }
--- a/devtools/client/shared/poller.js
+++ b/devtools/client/shared/poller.js
@@ -16,58 +16,58 @@ loader.lazyRequireGetter(this, "defer",
  * Specify the `wait` duration between polling here, and optionally
  * an `immediate` boolean, indicating whether the function should be called
  * immediately when toggling on.
  *
  * @param {function} fn
  * @param {number} wait
  * @param {boolean?} immediate
  */
-function Poller (fn, wait, immediate) {
+function Poller(fn, wait, immediate) {
   this._fn = fn;
   this._wait = wait;
   this._immediate = immediate;
   this._poll = this._poll.bind(this);
   this._preparePoll = this._preparePoll.bind(this);
 }
 exports.Poller = Poller;
 
 /**
  * Returns a boolean indicating whether or not poller
  * is polling.
  *
  * @return {boolean}
  */
-Poller.prototype.isPolling = function pollerIsPolling () {
+Poller.prototype.isPolling = function pollerIsPolling() {
   return !!this._timer;
 };
 
 /**
  * Turns polling on.
  *
  * @return {Poller}
  */
-Poller.prototype.on = function pollerOn () {
+Poller.prototype.on = function pollerOn() {
   if (this._destroyed) {
     throw Error("Poller cannot be turned on after destruction.");
   }
   if (this._timer) {
     this.off();
   }
   this._immediate ? this._poll() : this._preparePoll();
   return this;
 };
 
 /**
  * Turns off polling. Returns a promise that resolves when
  * the last outstanding `fn` call finishes if it's an async function.
  *
  * @return {Promise}
  */
-Poller.prototype.off = function pollerOff () {
+Poller.prototype.off = function pollerOff() {
   let { resolve, promise } = defer();
   if (this._timer) {
     clearTimeout(this._timer);
     this._timer = null;
   }
 
   // Settle an inflight poll call before resolving
   // if using a promise-backed poll function
@@ -78,28 +78,28 @@ Poller.prototype.off = function pollerOf
   }
   return promise;
 };
 
 /**
  * Turns off polling and removes the reference to the poller function.
  * Resolves when the last outstanding `fn` call finishes if it's an async function.
  */
-Poller.prototype.destroy = function pollerDestroy () {
+Poller.prototype.destroy = function pollerDestroy() {
   return this.off().then(() => {
     this._destroyed = true;
-    this._fn = null
+    this._fn = null;
   });
 };
 
-Poller.prototype._preparePoll = function pollerPrepare () {
+Poller.prototype._preparePoll = function pollerPrepare() {
   this._timer = setTimeout(this._poll, this._wait);
 };
 
-Poller.prototype._poll = function pollerPoll () {
+Poller.prototype._poll = function pollerPoll() {
   let response = this._fn();
   if (response && typeof response.then === "function") {
     // Store the most recent in-flight polling
     // call so we can clean it up when disabling
     this._inflight = response;
     response.then(() => {
       // Only queue up the next call if poller was not turned off
       // while this async poll call was in flight.
--- a/devtools/client/shared/prefs.js
+++ b/devtools/client/shared/prefs.js
@@ -137,24 +137,24 @@ function accessorNameForPref(somePrefNam
  * @param PrefsHelper self
  * @param Map cache
  * @param string prefsRoot
  * @param object prefsBlueprint
  * @return object
  */
 function makeObserver(self, cache, prefsRoot, prefsBlueprint) {
   return {
-    register: function() {
+    register: function () {
       this._branch = Services.prefs.getBranch(prefsRoot + ".");
       this._branch.addObserver("", this, false);
     },
-    unregister: function() {
+    unregister: function () {
       this._branch.removeObserver("", this);
     },
-    observe: function(subject, topic, prefName) {
+    observe: function (subject, topic, prefName) {
       // If this particular pref isn't handled by the blueprint object,
       // even though it's in the specified branch, ignore it.
       let accessorName = accessorNameForPref(prefName, prefsBlueprint);
       if (!(accessorName in self)) {
         return;
       }
       cache.delete(prefName);
       self.emit("pref-changed", accessorName, self[accessorName]);
--- a/devtools/client/shared/redux/create-store.js
+++ b/devtools/client/shared/redux/create-store.js
@@ -17,17 +17,17 @@ const { history } = require("./middlewar
  * various ways, such as logging and recording.
  *
  * @param {object} opts:
  *        - log: log all dispatched actions to console
  *        - history: an array to store every action in. Should only be
  *                   used in tests.
  *        - middleware: array of middleware to be included in the redux store
  */
-module.exports = (opts={}) => {
+module.exports = (opts = {}) => {
   const middleware = [
     task,
     thunk,
     promise,
 
     // Order is important: services must go last as they always
     // operate on "already transformed" actions. Actions going through
     // them shouldn't have any special fields like promises, they
@@ -43,9 +43,9 @@ module.exports = (opts={}) => {
     opts.middleware.forEach(fn => middleware.push(fn));
   }
 
   if (opts.log) {
     middleware.push(log);
   }
 
   return applyMiddleware(...middleware)(createStore);
-}
+};
--- a/devtools/client/shared/redux/middleware/history.js
+++ b/devtools/client/shared/redux/middleware/history.js
@@ -5,19 +5,19 @@
 
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 
 /**
  * A middleware that stores every action coming through the store in the passed
  * in logging object. Should only be used for tests, as it collects all
  * action information, which will cause memory bloat.
  */
-exports.history = (log=[]) => ({ dispatch, getState }) => {
+exports.history = (log = []) => ({ dispatch, getState }) => {
   if (!DevToolsUtils.testing) {
-    console.warn(`Using history middleware stores all actions in state for testing\
+    console.warn("Using history middleware stores all actions in state for testing\
                   and devtools is not currently running in test mode. Be sure this is\
-                  intentional.`);
+                  intentional.");
   }
   return next => action => {
     log.push(action);
     next(action);
   };
 };
--- a/devtools/client/shared/redux/middleware/promise.js
+++ b/devtools/client/shared/redux/middleware/promise.js
@@ -5,17 +5,17 @@
 
 const uuidgen = require("sdk/util/uuid").uuid;
 const promise = require("promise");
 const {
   entries, toObject, reportException, executeSoon
 } = require("devtools/shared/DevToolsUtils");
 const PROMISE = exports.PROMISE = "@@dispatch/promise";
 
-function promiseMiddleware ({ dispatch, getState }) {
+function promiseMiddleware({ dispatch, getState }) {
   return next => action => {
     if (!(PROMISE in action)) {
       return next(action);
     }
 
     const promiseInst = action[PROMISE];
     const seqId = uuidgen().toString();
 
--- a/devtools/client/shared/redux/middleware/task.js
+++ b/devtools/client/shared/redux/middleware/task.js
@@ -10,33 +10,33 @@ const ERROR_TYPE = exports.ERROR_TYPE = 
 /**
  * A middleware that allows generator thunks (functions) and promise
  * to be dispatched. If it's a generator, it is called with `dispatch` and `getState`,
  * allowing the action to create multiple actions (most likely
  * asynchronously) and yield on each. If called with a promise, calls `dispatch`
  * on the results.
  */
 
-function task ({ dispatch, getState }) {
+function task({ dispatch, getState }) {
   return next => action => {
     if (isGenerator(action)) {
       return Task.spawn(action.bind(null, dispatch, getState))
         .then(null, handleError.bind(null, dispatch));
     }
 
     /*
     if (isPromise(action)) {
       return action.then(dispatch, handleError.bind(null, dispatch));
     }
     */
 
     return next(action);
   };
 }
 
-function handleError (dispatch, error) {
+function handleError(dispatch, error) {
   executeSoon(() => {
     reportException(ERROR_TYPE, error);
     dispatch({ type: ERROR_TYPE, error });
   });
 }
 
 exports.task = task;
--- a/devtools/client/shared/redux/middleware/test/head.js
+++ b/devtools/client/shared/redux/middleware/test/head.js
@@ -4,24 +4,24 @@
 
 var { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
 var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 var DevToolsUtils = require("devtools/shared/DevToolsUtils");
 var promise = require("promise");
 
 DevToolsUtils.testing = true;
 
-function waitUntilState (store, predicate) {
+function waitUntilState(store, predicate) {
   let deferred = promise.defer();
   let unsubscribe = store.subscribe(check);
 
-  function check () {
+  function check() {
     if (predicate(store.getState())) {
       unsubscribe();
-      deferred.resolve()
+      deferred.resolve();
     }
   }
 
   // Fire the check immediately incase the action has already occurred
   check();
 
   return deferred.promise;
 }
--- a/devtools/client/shared/redux/middleware/test/test_middleware-task-01.js
+++ b/devtools/client/shared/redux/middleware/test/test_middleware-task-01.js
@@ -9,44 +9,44 @@ const { task } = require("devtools/clien
  * Tests that task middleware allows dispatching generators, promises and objects
  * that return actions;
  */
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let store = applyMiddleware(task)(createStore)(reducer);
 
   store.dispatch(fetch1("generator"));
   yield waitUntilState(store, () => store.getState().length === 1);
   equal(store.getState()[0].data, "generator", "task middleware async dispatches an action via generator");
 
   store.dispatch(fetch2("sync"));
   yield waitUntilState(store, () => store.getState().length === 2);
   equal(store.getState()[1].data, "sync", "task middleware sync dispatches an action via sync");
 });
 
-function fetch1 (data) {
-  return function *(dispatch, getState) {
+function fetch1(data) {
+  return function* (dispatch, getState) {
     equal(getState().length, 0, "`getState` is accessible in a generator action");
     let moreData = yield new Promise(resolve => resolve(data));
     // Ensure it handles more than one yield
     moreData = yield new Promise(resolve => resolve(data));
     dispatch({ type: "fetch1", data: moreData });
   };
 }
 
-function fetch2 (data) {
+function fetch2(data) {
   return {
     type: "fetch2",
     data
-  }
+  };
 }
 
-function reducer (state=[], action) {
+function reducer(state = [], action) {
   do_print("Action called: " + action.type);
   if (["fetch1", "fetch2"].includes(action.type)) {
     state.push(action);
   }
   return [...state];
 }
--- a/devtools/client/shared/redux/middleware/test/test_middleware-task-02.js
+++ b/devtools/client/shared/redux/middleware/test/test_middleware-task-02.js
@@ -9,51 +9,51 @@
 
 const { createStore, applyMiddleware } = require("devtools/client/shared/vendor/redux");
 const { task } = require("devtools/client/shared/redux/middleware/task");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let store = applyMiddleware(task)(createStore)(reducer);
 
   store.dispatch(comboAction());
   yield waitUntilState(store, () => store.getState().length === 3);
 
   equal(store.getState()[0].type, "fetchAsync-start", "Async dispatched actions in a generator task are fired");
   equal(store.getState()[1].type, "fetchAsync-end", "Async dispatched actions in a generator task are fired");
   equal(store.getState()[2].type, "fetchSync", "Return values of yielded sync dispatched actions are correct");
   equal(store.getState()[3].type, "fetch-done", "Return values of yielded async dispatched actions are correct");
   equal(store.getState()[3].data.sync.data, "sync", "Return values of dispatched sync values are correct");
   equal(store.getState()[3].data.async, "async", "Return values of dispatched async values are correct");
 });
 
-function comboAction () {
-  return function *(dispatch, getState) {
+function comboAction() {
+  return function* (dispatch, getState) {
     let data = {};
     data.async = yield dispatch(fetchAsync("async"));
     data.sync = yield dispatch(fetchSync("sync"));
     dispatch({ type: "fetch-done", data });
-  }
+  };
 }
 
-function fetchSync (data) {
+function fetchSync(data) {
   return { type: "fetchSync", data };
 }
 
-function fetchAsync (data) {
-  return function *(dispatch) {
+function fetchAsync(data) {
+  return function* (dispatch) {
     dispatch({ type: "fetchAsync-start" });
     let val = yield new Promise(resolve => resolve(data));
     dispatch({ type: "fetchAsync-end" });
     return val;
   };
 }
 
-function reducer (state=[], action) {
+function reducer(state = [], action) {
   do_print("Action called: " + action.type);
   if (/fetch/.test(action.type)) {
     state.push(action);
   }
   return [...state];
 }
--- a/devtools/client/shared/redux/middleware/test/test_middleware-task-03.js
+++ b/devtools/client/shared/redux/middleware/test/test_middleware-task-03.js
@@ -8,30 +8,30 @@ const { task, ERROR_TYPE } = require("de
 /**
  * Tests that the middleware handles errors thrown in tasks, and rejected promises.
  */
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let store = applyMiddleware(task)(createStore)(reducer);
 
   store.dispatch(generatorError());
   yield waitUntilState(store, () => store.getState().length === 1);
   equal(store.getState()[0].type, ERROR_TYPE, "generator errors dispatch ERROR_TYPE actions");
   equal(store.getState()[0].error, "task-middleware-error-generator", "generator errors dispatch ERROR_TYPE actions with error");
 });
 
-function generatorError () {
-  return function *(dispatch, getState) {
+function generatorError() {
+  return function* (dispatch, getState) {
     throw "task-middleware-error-generator";
   };
 }
 
-function reducer (state=[], action) {
+function reducer(state = [], action) {
   do_print("Action called: " + action.type);
   if (action.type === ERROR_TYPE) {
     state.push(action);
   }
   return [...state];
 }
--- a/devtools/client/shared/redux/middleware/thunk.js
+++ b/devtools/client/shared/redux/middleware/thunk.js
@@ -9,11 +9,11 @@
  * allowing the action to create multiple actions (most likely
  * asynchronously).
  */
 function thunk({ dispatch, getState }) {
   return next => action => {
     return (typeof action === "function")
       ? action(dispatch, getState)
       : next(action);
-  }
+  };
 }
 exports.thunk = thunk;
--- a/devtools/client/shared/redux/middleware/wait-service.js
+++ b/devtools/client/shared/redux/middleware/wait-service.js
@@ -56,11 +56,11 @@ function waitUntilService({ dispatch, ge
     if (action.type === NAME) {
       pending.push(action);
     }
     else {
       var result = next(action);
       checkPending(action);
       return result;
     }
-  }
+  };
 }
 exports.waitUntilService = waitUntilService;
--- a/devtools/client/shared/redux/non-react-subscriber.js
+++ b/devtools/client/shared/redux/non-react-subscriber.js
@@ -85,17 +85,17 @@ function makeStateBroadcaster(stillAlive
     },
 
     subscribeToStore: store => {
       store.subscribe(() => {
         if (stillAliveFunc()) {
           enqueuedChanges.forEach(([name, payload]) => {
             if (listeners[name]) {
               listeners[name].forEach(listener => {
-                listener(payload)
+                listener(payload);
               });
             }
           });
           enqueuedChanges = [];
         }
       });
     }
   };
@@ -110,17 +110,17 @@ function makeStateBroadcaster(stillAlive
  * @param {Object} broadcaster
  * @return {Object}
  */
 function enhanceStoreWithBroadcaster(store, broadcaster) {
   broadcaster.subscribeToStore(store);
   store.onChange = broadcaster.onChange;
   store.offChange = broadcaster.offChange;
   return store;
-};
+}
 
 /**
  * Function that takes a hash of reducers, like `combineReducers`, and
  * an `emitChange` function and returns a function to be used as a
  * reducer for a Redux store. This allows all reducers defined here to
  * receive a third argument, the `emitChange` function, for
  * event-based subscriptions from within reducers.
  *
--- a/devtools/client/shared/source-utils.js
+++ b/devtools/client/shared/source-utils.js
@@ -93,17 +93,17 @@ function parseURL(location) {
  *         An object with the following properties:
  *           - {String} short: A short name for the source.
  *             - "http://page.com/test.js#go?q=query" -> "test.js"
  *           - {String} long: The full, long name for the source, with hash/query stripped.
  *             - "http://page.com/test.js#go?q=query" -> "http://page.com/test.js"
  *           - {String?} host: If available, the host name for the source.
  *             - "http://page.com/test.js#go?q=query" -> "page.com"
  */
-function getSourceNames (source) {
+function getSourceNames(source) {
   let data = gSourceNamesStore.get(source);
 
   if (data) {
     return data;
   }
 
   let short, long, host;
   const sourceStr = source ? String(source) : "";
@@ -168,122 +168,122 @@ function getSourceNames (source) {
 }
 
 // For the functions below, we assume that we will never access the location
 // argument out of bounds, which is indeed the vast majority of cases.
 //
 // They are written this way because they are hot. Each frame is checked for
 // being content or chrome when processing the profile.
 
-function isColonSlashSlash(location, i=0) {
+function isColonSlashSlash(location, i = 0) {
   return location.charCodeAt(++i) === CHAR_CODE_COLON &&
          location.charCodeAt(++i) === CHAR_CODE_SLASH &&
          location.charCodeAt(++i) === CHAR_CODE_SLASH;
 }
 
 /**
  * Checks for a Scratchpad URI, like "Scratchpad/1"
  */
-function isScratchpadScheme(location, i=0) {
-  return location.charCodeAt(i)   === CHAR_CODE_CAP_S &&
+function isScratchpadScheme(location, i = 0) {
+  return location.charCodeAt(i) === CHAR_CODE_CAP_S &&
          location.charCodeAt(++i) === CHAR_CODE_C &&
          location.charCodeAt(++i) === CHAR_CODE_R &&
          location.charCodeAt(++i) === CHAR_CODE_A &&
          location.charCodeAt(++i) === CHAR_CODE_T &&
          location.charCodeAt(++i) === CHAR_CODE_C &&
          location.charCodeAt(++i) === CHAR_CODE_H &&
          location.charCodeAt(++i) === CHAR_CODE_P &&
          location.charCodeAt(++i) === CHAR_CODE_A &&
          location.charCodeAt(++i) === CHAR_CODE_D &&
          location.charCodeAt(++i) === CHAR_CODE_SLASH;
 }
 
-function isDataScheme(location, i=0) {
-  return location.charCodeAt(i)   === CHAR_CODE_D &&
+function isDataScheme(location, i = 0) {
+  return location.charCodeAt(i) === CHAR_CODE_D &&
          location.charCodeAt(++i) === CHAR_CODE_A &&
          location.charCodeAt(++i) === CHAR_CODE_T &&
          location.charCodeAt(++i) === CHAR_CODE_A &&
          location.charCodeAt(++i) === CHAR_CODE_COLON;
 }
 
-function isContentScheme(location, i=0) {
+function isContentScheme(location, i = 0) {
   let firstChar = location.charCodeAt(i);
 
   switch (firstChar) {
-  case CHAR_CODE_H: // "http://" or "https://"
-    if (location.charCodeAt(++i) === CHAR_CODE_T &&
+    case CHAR_CODE_H: // "http://" or "https://"
+      if (location.charCodeAt(++i) === CHAR_CODE_T &&
         location.charCodeAt(++i) === CHAR_CODE_T &&
         location.charCodeAt(++i) === CHAR_CODE_P) {
-      if (location.charCodeAt(i + 1) === CHAR_CODE_S) {
-        ++i;
+        if (location.charCodeAt(i + 1) === CHAR_CODE_S) {
+          ++i;
+        }
+        return isColonSlashSlash(location, i);
       }
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+      return false;
 
-  case CHAR_CODE_F: // "file://"
-    if (location.charCodeAt(++i) === CHAR_CODE_I &&
+    case CHAR_CODE_F: // "file://"
+      if (location.charCodeAt(++i) === CHAR_CODE_I &&
         location.charCodeAt(++i) === CHAR_CODE_L &&
         location.charCodeAt(++i) === CHAR_CODE_E) {
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+        return isColonSlashSlash(location, i);
+      }
+      return false;
 
-  case CHAR_CODE_A: // "app://"
-    if (location.charCodeAt(++i) == CHAR_CODE_P &&
+    case CHAR_CODE_A: // "app://"
+      if (location.charCodeAt(++i) == CHAR_CODE_P &&
         location.charCodeAt(++i) == CHAR_CODE_P) {
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+        return isColonSlashSlash(location, i);
+      }
+      return false;
 
-  default:
-    return false;
+    default:
+      return false;
   }
 }
 
-function isChromeScheme(location, i=0) {
+function isChromeScheme(location, i = 0) {
   let firstChar = location.charCodeAt(i);
 
   switch (firstChar) {
-  case CHAR_CODE_C: // "chrome://"
-    if (location.charCodeAt(++i) === CHAR_CODE_H &&
+    case CHAR_CODE_C: // "chrome://"
+      if (location.charCodeAt(++i) === CHAR_CODE_H &&
         location.charCodeAt(++i) === CHAR_CODE_R &&
         location.charCodeAt(++i) === CHAR_CODE_O &&
         location.charCodeAt(++i) === CHAR_CODE_M &&
         location.charCodeAt(++i) === CHAR_CODE_E) {
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+        return isColonSlashSlash(location, i);
+      }
+      return false;
 
-  case CHAR_CODE_R: // "resource://"
-    if (location.charCodeAt(++i) === CHAR_CODE_E &&
+    case CHAR_CODE_R: // "resource://"
+      if (location.charCodeAt(++i) === CHAR_CODE_E &&
         location.charCodeAt(++i) === CHAR_CODE_S &&
         location.charCodeAt(++i) === CHAR_CODE_O &&
         location.charCodeAt(++i) === CHAR_CODE_U &&
         location.charCodeAt(++i) === CHAR_CODE_R &&
         location.charCodeAt(++i) === CHAR_CODE_C &&
         location.charCodeAt(++i) === CHAR_CODE_E) {
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+        return isColonSlashSlash(location, i);
+      }
+      return false;
 
-  case CHAR_CODE_J: // "jar:file://"
-    if (location.charCodeAt(++i) === CHAR_CODE_A &&
+    case CHAR_CODE_J: // "jar:file://"
+      if (location.charCodeAt(++i) === CHAR_CODE_A &&
         location.charCodeAt(++i) === CHAR_CODE_R &&
         location.charCodeAt(++i) === CHAR_CODE_COLON &&
         location.charCodeAt(++i) === CHAR_CODE_F &&
         location.charCodeAt(++i) === CHAR_CODE_I &&
         location.charCodeAt(++i) === CHAR_CODE_L &&
         location.charCodeAt(++i) === CHAR_CODE_E) {
-      return isColonSlashSlash(location, i);
-    }
-    return false;
+        return isColonSlashSlash(location, i);
+      }
+      return false;
 
-  default:
-    return false;
+    default:
+      return false;
   }
 }
 
 exports.parseURL = parseURL;
 exports.getSourceNames = getSourceNames;
 exports.isScratchpadScheme = isScratchpadScheme;
 exports.isChromeScheme = isChromeScheme;
 exports.isContentScheme = isContentScheme;
--- a/devtools/client/shared/telemetry.js
+++ b/devtools/client/shared/telemetry.js
@@ -36,17 +36,17 @@
  * about:telemetry.
  *
  * You can view telemetry stats for large groups of Firefox users at
  * telemetry.mozilla.org.
  */
 
 const TOOLS_OPENED_PREF = "devtools.telemetry.tools.opened.version";
 
-this.Telemetry = function() {
+this.Telemetry = function () {
   // Bind pretty much all functions so that callers do not need to.
   this.toolOpened = this.toolOpened.bind(this);
   this.toolClosed = this.toolClosed.bind(this);
   this.log = this.log.bind(this);
   this.logOncePerBrowserVersion = this.logOncePerBrowserVersion.bind(this);
   this.destroy = this.destroy.bind(this);
 
   this._timers = new Map();
@@ -241,17 +241,17 @@ Telemetry.prototype = {
 
   /**
    * Add an entry to a histogram.
    *
    * @param  {String} id
    *         Used to look up the relevant histogram ID and log true to that
    *         histogram.
    */
-  toolOpened: function(id) {
+  toolOpened: function (id) {
     let charts = this._histograms[id] || this._histograms.custom;
 
     if (charts.histogram) {
       this.log(charts.histogram, true);
     }
     if (charts.userHistogram) {
       this.logOncePerBrowserVersion(charts.userHistogram, true);
     }
@@ -264,45 +264,45 @@ Telemetry.prototype = {
    * Record that an action occurred.  Aliases to `toolOpened`, so it's just for
    * readability at the call site for cases where we aren't actually opening
    * tools.
    */
   actionOccurred(id) {
     this.toolOpened(id);
   },
 
-  toolClosed: function(id) {
+  toolClosed: function (id) {
     let charts = this._histograms[id];
 
     if (!charts || !charts.timerHistogram) {
       return;
     }
 
     this.stopTimer(charts.timerHistogram);
   },
 
   /**
    * Record the start time for a timing-based histogram entry.
    *
    * @param String histogramId
    *        Histogram in which the data is to be stored.
    */
-  startTimer: function(histogramId) {
+  startTimer: function (histogramId) {
     this._timers.set(histogramId, new Date());
   },
 
   /**
    * Stop the timer and log elasped time for a timing-based histogram entry.
    *
    * @param String histogramId
    *        Histogram in which the data is to be stored.
    * @param String key [optional]
    *        Optional key for a keyed histogram.
    */
-  stopTimer: function(histogramId, key) {
+  stopTimer: function (histogramId, key) {
     let startTime = this._timers.get(histogramId);
     if (startTime) {
       let time = (new Date() - startTime) / 1000;
       if (!key) {
         this.log(histogramId, time);
       } else {
         this.logKeyed(histogramId, key, time);
       }
@@ -313,75 +313,75 @@ Telemetry.prototype = {
   /**
    * Log a value to a histogram.
    *
    * @param  {String} histogramId
    *         Histogram in which the data is to be stored.
    * @param  value
    *         Value to store.
    */
-  log: function(histogramId, value) {
+  log: function (histogramId, value) {
     if (histogramId) {
       try {
         let histogram = Services.telemetry.getHistogramById(histogramId);
         histogram.add(value);
-      } catch(e) {
+      } catch (e) {
         dump("Warning: An attempt was made to write to the " + histogramId +
              " histogram, which is not defined in Histograms.json\n");
       }
     }
   },
 
   /**
    * Log a value to a keyed histogram.
    *
    * @param  {String} histogramId
    *         Histogram in which the data is to be stored.
    * @param  {String} key
    *         The key within the single histogram.
    * @param  value
    *         Value to store.
    */
-  logKeyed: function(histogramId, key, value) {
+  logKeyed: function (histogramId, key, value) {
     if (histogramId) {
       try {
         let histogram = Services.telemetry.getKeyedHistogramById(histogramId);
         histogram.add(key, value);
-      } catch(e) {
+      } catch (e) {
         dump("Warning: An attempt was made to write to the " + histogramId +
              " histogram, which is not defined in Histograms.json\n");
       }
     }
   },
 
   /**
    * Log info about usage once per browser version. This allows us to discover
    * how many individual users are using our tools for each browser version.
    *
    * @param  {String} perUserHistogram
    *         Histogram in which the data is to be stored.
    */
-  logOncePerBrowserVersion: function(perUserHistogram, value) {
+  logOncePerBrowserVersion: function (perUserHistogram, value) {
     let currentVersion = appInfo.version;
     let latest = Services.prefs.getCharPref(TOOLS_OPENED_PREF);
     let latestObj = JSON.parse(latest);
 
     let lastVersionHistogramUpdated = latestObj[perUserHistogram];
 
     if (typeof lastVersionHistogramUpdated == "undefined" ||
         lastVersionHistogramUpdated !== currentVersion) {
       latestObj[perUserHistogram] = currentVersion;
       latest = JSON.stringify(latestObj);
       Services.prefs.setCharPref(TOOLS_OPENED_PREF, latest);
       this.log(perUserHistogram, value);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     for (let histogramId of this._timers.keys()) {
       this.stopTimer(histogramId);
     }
   }
 };
 
-XPCOMUtils.defineLazyGetter(this, "appInfo", function() {
+XPCOMUtils.defineLazyGetter(this, "appInfo", function () {
   return Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
 });
--- a/devtools/client/shared/test/browser_css_angle.js
+++ b/devtools/client/shared/test/browser_css_angle.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /* import-globals-from head.js */
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf-8,browser_css_angle.js";
 var {angleUtils} = require("devtools/client/shared/css-angle");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host] = yield createHost("bottom", TEST_URI);
 
   info("Starting the test");
   testAngleUtils();
 
   host.destroy();
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_css_color.js
+++ b/devtools/client/shared/test/browser_css_color.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,browser_css_color.js";
 var {colorUtils} = require("devtools/client/shared/css-color");
 var origColorUnit;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   info("Creating a test canvas element to test colors");
   let canvas = createTestCanvas(doc);
   info("Starting the test");
   testColorUtils(canvas);
 
@@ -58,31 +58,31 @@ function testToString(color, name, hex, 
   color.colorUnit = colorUtils.CssColor.COLORUNIT.rgb;
   is(color.toString(), rgb, "toString() with rgb type");
 }
 
 function testColorMatch(name, hex, hsl, rgb, rgba, canvas) {
   let target;
   let ctx = canvas.getContext("2d");
 
-  let clearCanvas = function() {
+  let clearCanvas = function () {
     canvas.width = 1;
   };
-  let setColor = function(aColor) {
+  let setColor = function (aColor) {
     ctx.fillStyle = aColor;
     ctx.fillRect(0, 0, 1, 1);
   };
-  let setTargetColor = function() {
+  let setTargetColor = function () {
     clearCanvas();
     // All colors have rgba so we can use this to compare against.
     setColor(rgba);
     let [r, g, b, a] = ctx.getImageData(0, 0, 1, 1).data;
     target = {r: r, g: g, b: b, a: a};
   };
-  let test = function(aColor, type) {
+  let test = function (aColor, type) {
     let tolerance = 3; // hsla -> rgba -> hsla produces inaccurate results so we
                        // need some tolerence here.
     clearCanvas();
 
     setColor(aColor);
     let [r, g, b, a] = ctx.getImageData(0, 0, 1, 1).data;
 
     let rgbFail = Math.abs(r - target.r) > tolerance ||
--- a/devtools/client/shared/test/browser_cubic-bezier-01.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-01.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Tests that the CubicBezierWidget generates content in a given parent node
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   info("Checking that the graph markup is created in the parent");
   let container = doc.querySelector("#container");
   let w = new CubicBezierWidget(container);
 
   ok(container.querySelector(".display-wrap"),
--- a/devtools/client/shared/test/browser_cubic-bezier-02.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-02.js
@@ -6,17 +6,17 @@
 
 // Tests the CubicBezierWidget events
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 const {PREDEFINED} = require("devtools/client/shared/widgets/CubicBezierPresets");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   // Required or widget will be clipped inside of 'bottom'
   // host by -14. Setting `fixed` zeroes this which is needed for
   // calculating offsets. Occurs in test env only.
   doc.body.setAttribute("style", "position: fixed");
 
@@ -181,16 +181,16 @@ function* pointsCanBeMovedWithKeyboard(w
 
   onUpdated = widget.once("updated");
   widget._onPointKeyDown(getKeyEvent(widget.p2, 37));
   bezier = yield onUpdated;
   is(bezier.P2[0], x, "The new P2 time coordinate is correct");
   is(bezier.P2[1], 0.25, "The new P2 progress coordinate is correct");
 }
 
-function getKeyEvent(target, keyCode, shift=false) {
+function getKeyEvent(target, keyCode, shift = false) {
   return {
     target: target,
     keyCode: keyCode,
     shiftKey: shift,
     preventDefault: () => {}
   };
 }
--- a/devtools/client/shared/test/browser_cubic-bezier-03.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-03.js
@@ -6,17 +6,17 @@
 
 // Tests that coordinates can be changed programatically in the CubicBezierWidget
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 const {PREDEFINED} = require("devtools/client/shared/widgets/CubicBezierPresets");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let container = doc.querySelector("#container");
   let w = new CubicBezierWidget(container, PREDEFINED.linear);
 
   yield coordinatesCanBeChangedByProvidingAnArray(w);
   yield coordinatesCanBeChangedByProvidingAValue(w);
@@ -26,17 +26,17 @@ add_task(function*() {
   gBrowser.removeCurrentTab();
 });
 
 function* coordinatesCanBeChangedByProvidingAnArray(widget) {
   info("Listening for the update event");
   let onUpdated = widget.once("updated");
 
   info("Setting new coordinates");
-  widget.coordinates = [0,1,1,0];
+  widget.coordinates = [0, 1, 1, 0];
 
   let bezier = yield onUpdated;
   ok(true, "The updated event was fired as a result of setting coordinates");
 
   is(bezier.P1[0], 0, "The new P1 time coordinate is correct");
   is(bezier.P1[1], 1, "The new P1 progress coordinate is correct");
   is(bezier.P2[0], 1, "The new P2 time coordinate is correct");
   is(bezier.P2[1], 0, "The new P2 progress coordinate is correct");
--- a/devtools/client/shared/test/browser_cubic-bezier-04.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-04.js
@@ -6,17 +6,17 @@
 
 // Tests that the CubicBezierPresetWidget generates markup.
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierPresetWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 const {PRESETS} = require("devtools/client/shared/widgets/CubicBezierPresets");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let container = doc.querySelector("#container");
   let w = new CubicBezierPresetWidget(container);
 
   info("Checking that the presets are created in the parent");
   ok(container.querySelector(".preset-pane"),
--- a/devtools/client/shared/test/browser_cubic-bezier-05.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-05.js
@@ -7,17 +7,17 @@
 // Tests that the CubicBezierPresetWidget cycles menus
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierPresetWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 const {PREDEFINED, PRESETS, DEFAULT_PRESET_CATEGORY} =
   require("devtools/client/shared/widgets/CubicBezierPresets");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let container = doc.querySelector("#container");
   let w = new CubicBezierPresetWidget(container);
 
   info("Checking that preset is selected if coordinates are known");
 
--- a/devtools/client/shared/test/browser_cubic-bezier-06.js
+++ b/devtools/client/shared/test/browser_cubic-bezier-06.js
@@ -7,17 +7,17 @@
 
 // Tests the integration between CubicBezierWidget and CubicBezierPresets
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/cubic-bezier-frame.xhtml";
 const {CubicBezierWidget} =
   require("devtools/client/shared/widgets/CubicBezierWidget");
 const {PRESETS} = require("devtools/client/shared/widgets/CubicBezierPresets");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let container = doc.querySelector("#container");
   let w = new CubicBezierWidget(container,
               PRESETS["ease-in"]["ease-in-sine"]);
   w.presets.refreshMenu(PRESETS["ease-in"]["ease-in-sine"]);
 
@@ -49,17 +49,17 @@ function* adjustingBezierUpdatesPreset(w
   doc.onmouseup();
 
   is(widget.presets.activeCategory,
      doc.querySelector("#ease-in"),
      "The selected category is still ease-in");
 
   is(widget.presets._activePreset, null,
      "There is no active preset");
- }
+}
 
 function* selectingPresetUpdatesBezier(widget, win, doc, rect) {
   info("Checking that selecting a preset updates bezier curve");
 
   info("Listening for the new coordinates event");
   let onNewCoordinates = widget.presets.once("new-coordinates");
   let onUpdated = widget.once("updated");
 
--- a/devtools/client/shared/test/browser_devices.js
+++ b/devtools/client/shared/test/browser_devices.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 var { GetDevices, GetDeviceString, AddDevice } = require("devtools/client/shared/devices");
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setCharPref("devtools.devices.url", TEST_URI_ROOT + "browser_devices.json");
 
   let devices = yield GetDevices();
 
   is(devices.TYPES.length, 1, "Found 1 device type.");
 
   let type1 = devices.TYPES[0];
 
--- a/devtools/client/shared/test/browser_filter-editor-01.js
+++ b/devtools/client/shared/test/browser_filter-editor-01.js
@@ -20,17 +20,17 @@ function verifyURL(string) {
   let token = lexer.nextToken();
   if (!token || token.tokenType !== "url") {
     return false;
   }
 
   return lexer.nextToken() === null;
 }
 
-add_task(function *() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   let widget = new CSSFilterEditorWidget(container, "none");
 
   info("Test parsing of a valid CSS Filter value");
   widget.setCssValue("blur(2px) contrast(200%)");
--- a/devtools/client/shared/test/browser_filter-editor-02.js
+++ b/devtools/client/shared/test/browser_filter-editor-02.js
@@ -7,17 +7,17 @@
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
 const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
 const L10N = new LocalizationHelper(STRINGS_URI);
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const TEST_DATA = [
     {
       cssValue: "blur(2px) contrast(200%) hue-rotate(20.2deg) drop-shadow(5px 5px black)",
       expected: [
         {
@@ -89,18 +89,18 @@ add_task(function*() {
     testRenderedFilters(filters, expected);
   }
 });
 
 
 function testRenderedFilters(filters, expected) {
   for (let [index, filter] of [...filters].entries()) {
     let [name, value] = filter.children,
-        label = name.children[1],
-        [input, unit] = value.children;
+      label = name.children[1],
+      [input, unit] = value.children;
 
     const eq = expected[index];
     is(label.textContent, eq.label, "Label should match");
     is(input.value, eq.value, "Values should match");
     if (eq.unit) {
       is(unit.textContent, eq.unit, "Unit should match");
     }
   }
--- a/devtools/client/shared/test/browser_filter-editor-03.js
+++ b/devtools/client/shared/test/browser_filter-editor-03.js
@@ -6,42 +6,42 @@
 // Tests the Filter Editor Widget add, removeAt, updateAt, getValueAt methods
 
 const BASE_URI = "chrome://devtools/content/shared/widgets/";
 const TEST_URI = BASE_URI + "filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 const GRAYSCALE_MAX = 100;
 const INVERT_MIN = 0;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   let widget = new CSSFilterEditorWidget(container, "none");
 
   info("Test add method");
   const blur = widget.add("blur", "10.2px");
   is(widget.getCssValue(), "blur(10.2px)",
      "Should add filters");
 
   const url = widget.add("url", "test.svg");
-  is(widget.getCssValue(), `blur(10.2px) url(test.svg)`,
+  is(widget.getCssValue(), "blur(10.2px) url(test.svg)",
      "Should add filters in order");
 
   info("Test updateValueAt method");
   widget.updateValueAt(url, "test2.svg");
   widget.updateValueAt(blur, 5);
-  is(widget.getCssValue(), `blur(5px) url(test2.svg)`,
+  is(widget.getCssValue(), "blur(5px) url(test2.svg)",
      "Should update values correctly");
 
   info("Test getValueAt method");
   is(widget.getValueAt(blur), "5px",
      "Should return value + unit");
-  is(widget.getValueAt(url), `test2.svg`,
+  is(widget.getValueAt(url), "test2.svg",
      "Should return value for string-type filters");
 
   info("Test removeAt method");
   widget.removeAt(url);
   is(widget.getCssValue(), "blur(5px)",
      "Should remove the specified filter");
 
   info("Test add method applying filter range to value");
--- a/devtools/client/shared/test/browser_filter-editor-04.js
+++ b/devtools/client/shared/test/browser_filter-editor-04.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Tests the Filter Editor Widget's drag-drop re-ordering
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 const LIST_ITEM_HEIGHT = 32;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   const initialValue = "blur(2px) contrast(200%) brightness(200%)";
   let widget = new CSSFilterEditorWidget(container, initialValue);
 
   const filters = widget.el.querySelector("#filters");
--- a/devtools/client/shared/test/browser_filter-editor-05.js
+++ b/devtools/client/shared/test/browser_filter-editor-05.js
@@ -10,19 +10,19 @@ requestLongerTimeout(2);
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const FAST_VALUE_MULTIPLIER = 10;
 const SLOW_VALUE_MULTIPLIER = 0.1;
 const DEFAULT_VALUE_MULTIPLIER = 1;
 
 const GRAYSCALE_MAX = 100,
-      GRAYSCALE_MIN = 0;
+  GRAYSCALE_MIN = 0;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   let widget = new CSSFilterEditorWidget(container, "grayscale(0%) url(test.svg)");
 
   const filters = widget.el.querySelector("#filters");
   const grayscale = filters.children[0];
--- a/devtools/client/shared/test/browser_filter-editor-06.js
+++ b/devtools/client/shared/test/browser_filter-editor-06.js
@@ -8,25 +8,25 @@
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
 const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
 const L10N = new LocalizationHelper(STRINGS_URI);
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   let widget = new CSSFilterEditorWidget(container, "none");
 
   const select = widget.el.querySelector("select"),
-        add = widget.el.querySelector("#add-filter");
+    add = widget.el.querySelector("#add-filter");
 
   const TEST_DATA = [
     {
       name: "blur",
       unit: "px",
       type: "length"
     },
     {
--- a/devtools/client/shared/test/browser_filter-editor-07.js
+++ b/devtools/client/shared/test/browser_filter-editor-07.js
@@ -8,17 +8,17 @@
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
 const STRINGS_URI = "chrome://devtools/locale/filterwidget.properties";
 const L10N = new LocalizationHelper(STRINGS_URI);
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   let widget = new CSSFilterEditorWidget(container, "blur(2px) contrast(200%)");
 
   info("Test removing filters with remove button");
   widget.el.querySelector(".filter button").click();
--- a/devtools/client/shared/test/browser_filter-editor-08.js
+++ b/devtools/client/shared/test/browser_filter-editor-08.js
@@ -8,17 +8,17 @@
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const FAST_VALUE_MULTIPLIER = 10;
 const SLOW_VALUE_MULTIPLIER = 0.1;
 const DEFAULT_VALUE_MULTIPLIER = 1;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   const initialValue = "blur(2px)";
   let widget = new CSSFilterEditorWidget(container, initialValue);
 
   let value = 2;
@@ -72,11 +72,11 @@ add_task(function*() {
 function triggerKey(key, modifier) {
   const filter = this.el.querySelector("#filters").children[0];
   const input = filter.querySelector("input");
 
   this._keyDown({
     target: input,
     keyCode: key,
     [modifier]: true,
-    preventDefault: function() {}
+    preventDefault: function () {}
   });
 }
--- a/devtools/client/shared/test/browser_filter-editor-09.js
+++ b/devtools/client/shared/test/browser_filter-editor-09.js
@@ -8,17 +8,17 @@
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const FAST_VALUE_MULTIPLIER = 10;
 const SLOW_VALUE_MULTIPLIER = 0.1;
 const DEFAULT_VALUE_MULTIPLIER = 1;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   const initialValue = "drop-shadow(rgb(0, 0, 0) 1px 1px 0px)";
   let widget = new CSSFilterEditorWidget(container, initialValue);
   widget.el.querySelector("#filters input").setSelectionRange(13, 13);
 
@@ -104,17 +104,17 @@ add_task(function*() {
 function triggerKey(key, modifier) {
   const filter = this.el.querySelector("#filters").children[0];
   const input = filter.querySelector("input");
 
   this._keyDown({
     target: input,
     keyCode: key,
     [modifier]: true,
-    preventDefault: function() {}
+    preventDefault: function () {}
   });
 }
 
 function val(value) {
   let v = value.toFixed(1);
 
   if (v.indexOf(".0") > -1) {
     v = v.slice(0, -2);
--- a/devtools/client/shared/test/browser_filter-editor-10.js
+++ b/devtools/client/shared/test/browser_filter-editor-10.js
@@ -8,17 +8,17 @@
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/filter-frame.xhtml";
 const {CSSFilterEditorWidget} = require("devtools/client/shared/widgets/FilterWidget");
 
 const FAST_VALUE_MULTIPLIER = 10;
 const SLOW_VALUE_MULTIPLIER = 0.1;
 const DEFAULT_VALUE_MULTIPLIER = 1;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   const container = doc.querySelector("#container");
   const initialValue = "drop-shadow(rgb(0, 0, 0) 10px 1px 0px)";
   let widget = new CSSFilterEditorWidget(container, initialValue);
   const input = widget.el.querySelector("#filters input");
 
@@ -68,17 +68,17 @@ add_task(function*() {
 function triggerKey(key, modifier) {
   const filter = this.el.querySelector("#filters").children[0];
   const input = filter.querySelector("input");
 
   this._keyDown({
     target: input,
     keyCode: key,
     [modifier]: true,
-    preventDefault: function() {}
+    preventDefault: function () {}
   });
 }
 
 function val(value) {
   let v = value.toFixed(1);
 
   if (v.indexOf(".0") > -1) {
     v = v.slice(0, -2);
--- a/devtools/client/shared/test/browser_flame-graph-01.js
+++ b/devtools/client/shared/test/browser_flame-graph-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that flame graph widget works properly.
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-02.js
+++ b/devtools/client/shared/test/browser_flame-graph-02.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that flame graph widgets may have a fixed width or height.
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-03a.js
+++ b/devtools/client/shared/test/browser_flame-graph-03a.js
@@ -5,17 +5,17 @@
 
 var TEST_DATA = [{ color: "#f00", blocks: [{ x: 0, y: 0, width: 50, height: 20, text: "FOO" }, { x: 50, y: 0, width: 100, height: 20, text: "BAR" }] }, { color: "#00f", blocks: [{ x: 0, y: 30, width: 30, height: 20, text: "BAZ" }] }];
 var TEST_BOUNDS = { startTime: 0, endTime: 150 };
 var TEST_WIDTH = 200;
 var TEST_HEIGHT = 100;
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-03b.js
+++ b/devtools/client/shared/test/browser_flame-graph-03b.js
@@ -6,17 +6,17 @@
 var TEST_DATA = [{ color: "#f00", blocks: [{ x: 0, y: 0, width: 50, height: 20, text: "FOO" }, { x: 50, y: 0, width: 100, height: 20, text: "BAR" }] }, { color: "#00f", blocks: [{ x: 0, y: 30, width: 30, height: 20, text: "BAZ" }] }];
 var TEST_BOUNDS = { startTime: 0, endTime: 150 };
 var TEST_WIDTH = 200;
 var TEST_HEIGHT = 100;
 var TEST_DPI_DENSITIY = 2;
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-03c.js
+++ b/devtools/client/shared/test/browser_flame-graph-03c.js
@@ -6,17 +6,17 @@
 var TEST_DATA = [{ color: "#f00", blocks: [{ x: 0, y: 0, width: 50, height: 20, text: "FOO" }, { x: 50, y: 0, width: 100, height: 20, text: "BAR" }] }, { color: "#00f", blocks: [{ x: 0, y: 30, width: 30, height: 20, text: "BAZ" }] }];
 var TEST_BOUNDS = { startTime: 0, endTime: 150 };
 var TEST_WIDTH = 200;
 var TEST_HEIGHT = 100;
 var TEST_DPI_DENSITIY = 2;
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-04.js
+++ b/devtools/client/shared/test/browser_flame-graph-04.js
@@ -6,17 +6,17 @@
 var HTML_NS = "http://www.w3.org/1999/xhtml";
 var {LocalizationHelper} = require("devtools/client/shared/l10n");
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 var {FLAME_GRAPH_BLOCK_TEXT_FONT_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 var {FLAME_GRAPH_BLOCK_TEXT_FONT_FAMILY} = require("devtools/client/shared/widgets/FlameGraph");
 
 var L10N = new LocalizationHelper();
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new FlameGraph(doc.body, 1);
--- a/devtools/client/shared/test/browser_flame-graph-05.js
+++ b/devtools/client/shared/test/browser_flame-graph-05.js
@@ -9,17 +9,17 @@ var TEST_DPI_DENSITIY = 2;
 
 const KEY_CODE_UP = 38;
 const KEY_CODE_DOWN = 40;
 const KEY_CODE_LEFT = 37;
 const KEY_CODE_RIGHT = 39;
 
 var {FlameGraph} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_flame-graph-utils-01.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-01.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that text metrics and data conversion from profiler samples
 // widget work properly in the flame graph.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 var {PALLETTE_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA);
 
--- a/devtools/client/shared/test/browser_flame-graph-utils-02.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-02.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests consecutive duplicate frames are removed from the flame graph data.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 var {PALLETTE_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, {
     flattenRecursion: true
--- a/devtools/client/shared/test/browser_flame-graph-utils-03.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-03.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if platform frames are removed from the flame graph data.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 var {PALLETTE_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 var {FrameNode} = require("devtools/client/performance/modules/logic/tree-model");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, {
     contentOnly: true
--- a/devtools/client/shared/test/browser_flame-graph-utils-04.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-04.js
@@ -2,27 +2,27 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if (idle) nodes are added when necessary in the flame graph data.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 var {PALLETTE_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 var {FrameNode} = require("devtools/client/performance/modules/logic/tree-model");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, {
     flattenRecursion: true,
     contentOnly: true,
-    showIdleBlocks: '\m/'
+    showIdleBlocks: "\m/"
   });
 
   ok(out, "Some data was outputted properly");
   is(out.length, PALLETTE_SIZE, "The outputted length is correct.");
 
   info("Got flame graph data:\n" + out.toSource() + "\n");
 
   for (let i = 0; i < out.length; i++) {
--- a/devtools/client/shared/test/browser_flame-graph-utils-05.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-05.js
@@ -1,25 +1,25 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that flame graph data is cached, and that the cache may be cleared.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out1 = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA);
   let out2 = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA);
-  is(out1, out2, "The outputted data is identical.")
+  is(out1, out2, "The outputted data is identical.");
 
   let out3 = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, { flattenRecursion: true });
   is(out2, out3, "The outputted data is still identical.");
 
   FlameGraphUtils.removeFromCache(TEST_DATA);
   let out4 = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, { flattenRecursion: true });
   isnot(out3, out4, "The outputted data is not identical anymore.");
 }
--- a/devtools/client/shared/test/browser_flame-graph-utils-06.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-06.js
@@ -4,17 +4,17 @@
 // Tests that the text displayed is the function name, file name and line number
 // if applicable and demangling.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 var {PALLETTE_SIZE} = require("devtools/client/shared/widgets/FlameGraph");
 var MANGLED_FN = "__Z3FooIiEvv";
 var UNMANGLED_FN = "void Foo<int>()";
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let out = FlameGraphUtils.createFlameGraphDataFromThread(TEST_DATA, {
     flattenRecursion: true
--- a/devtools/client/shared/test/browser_flame-graph-utils-hash.js
+++ b/devtools/client/shared/test/browser_flame-graph-utils-hash.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if (idle) nodes are added when necessary in the flame graph data.
 
 var {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   let hash1 = FlameGraphUtils._getStringHash("abc");
   let hash2 = FlameGraphUtils._getStringHash("acb");
   let hash3 = FlameGraphUtils._getStringHash(Array.from(Array(100000)).join("a"));
   let hash4 = FlameGraphUtils._getStringHash(Array.from(Array(100000)).join("b"));
 
   isnot(hash1, hash2, "The hashes should not be equal (1).");
   isnot(hash2, hash3, "The hashes should not be equal (2).");
   isnot(hash3, hash4, "The hashes should not be equal (3).");
--- a/devtools/client/shared/test/browser_graphs-01.js
+++ b/devtools/client/shared/test/browser_graphs-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets works properly.
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
   finish();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
--- a/devtools/client/shared/test/browser_graphs-02.js
+++ b/devtools/client/shared/test/browser_graphs-02.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets can properly add data, regions and highlights.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 const TEST_REGIONS = [{ start: 320, end: 460 }, { start: 780, end: 860 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-03.js
+++ b/devtools/client/shared/test/browser_graphs-03.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets can handle clients getting/setting the
 // selection or cursor.
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
@@ -43,17 +43,17 @@ function* testSelection(graph) {
   is(graph.getSelection().start, 100,
     "The graph's selection now has an updated start value.");
   is(graph.getSelection().end, 200,
     "The graph's selection now has an updated end value.");
 
   let thrown;
   try {
     graph.setSelection({ start: null, end: null });
-  } catch(e) {
+  } catch (e) {
     thrown = true;
   }
   ok(thrown, "Setting a null selection shouldn't work.");
 
   ok(graph.hasSelection(),
     "There should still be a selection.");
 
   let deselected = graph.once("deselecting");
@@ -85,17 +85,17 @@ function* testCursor(graph) {
   is(graph.getCursor().x, 100,
     "The graph's cursor now has an updated start value.");
   is(graph.getCursor().y, 50,
     "The graph's cursor now has an updated end value.");
 
   let thrown;
   try {
     graph.setCursor({ x: null, y: null });
-  } catch(e) {
+  } catch (e) {
     thrown = true;
   }
   ok(thrown, "Setting a null cursor shouldn't work.");
 
   ok(graph.hasCursor(),
     "There should still be a cursor.");
 
   graph.dropCursor();
--- a/devtools/client/shared/test/browser_graphs-04.js
+++ b/devtools/client/shared/test/browser_graphs-04.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets can correctly compare selections and cursors.
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-05.js
+++ b/devtools/client/shared/test/browser_graphs-05.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets can correctly determine which regions are hovered.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 const TEST_REGIONS = [{ start: 320, end: 460 }, { start: 780, end: 860 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-06.js
+++ b/devtools/client/shared/test/browser_graphs-06.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if clicking on regions adds a selection spanning that region.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 const TEST_REGIONS = [{ start: 320, end: 460 }, { start: 780, end: 860 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-07a.js
+++ b/devtools/client/shared/test/browser_graphs-07a.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if selecting, resizing, moving selections and zooming in/out works.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
@@ -201,17 +201,17 @@ function buggyDragStop(graph, x, y = 1) 
   y /= window.devicePixelRatio;
 
   graph._onMouseMove({ testX: x, testY: y });
 
   // Only fire a mousemove with no buttons instead of a mouseup.
   // This happens when the mouseup happens outside of the window.
   // Send different coordinates to make sure the selection is preserved,
   // see Bugs 1066504 and 1144779.
-  graph._onMouseMove({ testX: x+1, testY: y+1, buttons: 0 });
+  graph._onMouseMove({ testX: x + 1, testY: y + 1, buttons: 0 });
 }
 
 function scroll(graph, wheel, x, y = 1) {
   x /= window.devicePixelRatio;
   y /= window.devicePixelRatio;
   graph._onMouseMove({ testX: x, testY: y });
   graph._onMouseWheel({ testX: x, testY: y, detail: wheel });
 }
--- a/devtools/client/shared/test/browser_graphs-07b.js
+++ b/devtools/client/shared/test/browser_graphs-07b.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if selections can't be added via clicking, while not allowed.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-07c.js
+++ b/devtools/client/shared/test/browser_graphs-07c.js
@@ -3,17 +3,17 @@
 
 // Tests if movement via event dispatching using screenX / screenY
 // works.  All of the other tests directly use the graph's mouse event
 // callbacks with textX / testY for convenience.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-07d.js
+++ b/devtools/client/shared/test/browser_graphs-07d.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that selections are drawn onto the canvas.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 const TEST_REGIONS = [{ start: 320, end: 460 }, { start: 780, end: 860 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-07e.js
+++ b/devtools/client/shared/test/browser_graphs-07e.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that selections are drawn onto the canvas.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 var CURRENT_ZOOM = 1;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-08.js
+++ b/devtools/client/shared/test/browser_graphs-08.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests if a selection is dropped when clicking outside of it.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-09a.js
+++ b/devtools/client/shared/test/browser_graphs-09a.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that line graphs properly create the gutter and tooltips.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, { metric: "fps" });
--- a/devtools/client/shared/test/browser_graphs-09b.js
+++ b/devtools/client/shared/test/browser_graphs-09b.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that line graphs properly use the tooltips configuration properties.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-09c.js
+++ b/devtools/client/shared/test/browser_graphs-09c.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that line graphs hide the tooltips when there's no data available.
 
 const TEST_DATA = [];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-09d.js
+++ b/devtools/client/shared/test/browser_graphs-09d.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that line graphs hide the 'max' tooltip when the distance between
 // the 'min' and 'max' tooltip is too small.
 
 const TEST_DATA = [{ delta: 100, value: 60 }, { delta: 200, value: 59.9 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-09e.js
+++ b/devtools/client/shared/test/browser_graphs-09e.js
@@ -4,17 +4,17 @@
 // Tests that line graphs hide the gutter and tooltips when there's no data,
 // but show them when there is.
 
 const NO_DATA = [];
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-09f.js
+++ b/devtools/client/shared/test/browser_graphs-09f.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests the constructor options for `min`, `max` and `avg` on displaying the
 // gutter/tooltips and lines.
 
 const TEST_DATA = [{ delta: 100, value: 60 }, { delta: 200, value: 1 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
 
@@ -20,17 +20,17 @@ function* performTest() {
   yield testGraph(doc.body, { min: false });
   yield testGraph(doc.body, { max: false });
   yield testGraph(doc.body, { min: false, max: false, avg: false });
   yield testGraph(doc.body, {});
 
   host.destroy();
 }
 
-function* testGraph (parent, options) {
+function* testGraph(parent, options) {
   options.metric = "fps";
   let graph = new LineGraphWidget(parent, options);
   yield graph.setDataWhenReady(TEST_DATA);
   let shouldGutterShow = options.min === false && options.max === false;
 
   is(graph._gutter.hidden, shouldGutterShow,
     `The gutter should ${shouldGutterShow ? "" : "not "}be shown`);
 
--- a/devtools/client/shared/test/browser_graphs-10a.js
+++ b/devtools/client/shared/test/browser_graphs-10a.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graphs properly handle resizing.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost("window");
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_graphs-10b.js
+++ b/devtools/client/shared/test/browser_graphs-10b.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graphs aren't refreshed when the owner window resizes but
 // the graph dimensions stay the same.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost("window");
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_graphs-10c.js
+++ b/devtools/client/shared/test/browser_graphs-10c.js
@@ -1,15 +1,15 @@
 
 // Tests that graphs properly handle resizing.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost("window");
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
@@ -30,38 +30,38 @@ function* performTest() {
 
 function* testGraph(host, graph) {
   graph.setData(TEST_DATA);
 
   host._window.resizeTo(500, 500);
   yield graph.once("refresh");
   let oldBounds = host.frame.getBoundingClientRect();
 
-  is (graph._width, oldBounds.width * window.devicePixelRatio,
+  is(graph._width, oldBounds.width * window.devicePixelRatio,
     "The window was properly resized (1).");
-  is (graph._height, oldBounds.height * window.devicePixelRatio,
+  is(graph._height, oldBounds.height * window.devicePixelRatio,
     "The window was properly resized (1).");
 
   dragStart(graph, 100);
   dragStop(graph, 400);
 
   is(graph.getSelection().start, 100,
     "The current selection start value is correct (1).");
   is(graph.getSelection().end, 400,
     "The current selection end value is correct (1).");
 
   info("Making sure the selection updates when the window is resized");
 
   host._window.resizeTo(250, 250);
   yield graph.once("refresh");
   let newBounds = host.frame.getBoundingClientRect();
 
-  is (graph._width, newBounds.width * window.devicePixelRatio,
+  is(graph._width, newBounds.width * window.devicePixelRatio,
     "The window was properly resized (2).");
-  is (graph._height, newBounds.height * window.devicePixelRatio,
+  is(graph._height, newBounds.height * window.devicePixelRatio,
     "The window was properly resized (2).");
 
   let ratio = oldBounds.width / newBounds.width;
   info("The window resize ratio is: " + ratio);
 
   is(graph.getSelection().start, Math.round(100 / ratio),
     "The current selection start value is correct (2).");
   is(graph.getSelection().end, Math.round(400 / ratio),
--- a/devtools/client/shared/test/browser_graphs-11a.js
+++ b/devtools/client/shared/test/browser_graphs-11a.js
@@ -6,17 +6,17 @@
 var BarGraphWidget = require("devtools/client/shared/widgets/BarGraphWidget");
 
 const CATEGORIES = [
   { color: "#46afe3", label: "Foo" },
   { color: "#eb5368", label: "Bar" },
   { color: "#70bf53", label: "Baz" }
 ];
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new BarGraphWidget(doc.body);
--- a/devtools/client/shared/test/browser_graphs-11b.js
+++ b/devtools/client/shared/test/browser_graphs-11b.js
@@ -6,17 +6,17 @@
 var BarGraphWidget = require("devtools/client/shared/widgets/BarGraphWidget");
 
 const CATEGORIES = [
   { color: "#46afe3", label: "Foo" },
   { color: "#eb5368", label: "Bar" },
   { color: "#70bf53", label: "Baz" }
 ];
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_graphs-12.js
+++ b/devtools/client/shared/test/browser_graphs-12.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that canvas graphs can have their selection linked.
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 var BarGraphWidget = require("devtools/client/shared/widgets/BarGraphWidget");
 var {CanvasGraphUtils} = require("devtools/client/shared/widgets/Graphs");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_graphs-13.js
+++ b/devtools/client/shared/test/browser_graphs-13.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets may have a fixed width or height.
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   doc.body.setAttribute("style", "position: fixed; width: 100%; height: 100%; margin: 0;");
--- a/devtools/client/shared/test/browser_graphs-14.js
+++ b/devtools/client/shared/test/browser_graphs-14.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets correctly emit mouse input events.
 
 const TEST_DATA = [{ delta: 112, value: 48 }, { delta: 213, value: 59 }, { delta: 313, value: 60 }, { delta: 413, value: 59 }, { delta: 530, value: 59 }, { delta: 646, value: 58 }, { delta: 747, value: 60 }, { delta: 863, value: 48 }, { delta: 980, value: 37 }, { delta: 1097, value: 30 }, { delta: 1213, value: 29 }, { delta: 1330, value: 23 }, { delta: 1430, value: 10 }, { delta: 1534, value: 17 }, { delta: 1645, value: 20 }, { delta: 1746, value: 22 }, { delta: 1846, value: 39 }, { delta: 1963, value: 26 }, { delta: 2080, value: 27 }, { delta: 2197, value: 35 }, { delta: 2312, value: 47 }, { delta: 2412, value: 53 }, { delta: 2514, value: 60 }, { delta: 2630, value: 37 }, { delta: 2730, value: 36 }, { delta: 2830, value: 37 }, { delta: 2946, value: 36 }, { delta: 3046, value: 40 }, { delta: 3163, value: 47 }, { delta: 3280, value: 41 }, { delta: 3380, value: 35 }, { delta: 3480, value: 27 }, { delta: 3580, value: 39 }, { delta: 3680, value: 42 }, { delta: 3780, value: 49 }, { delta: 3880, value: 55 }, { delta: 3980, value: 60 }, { delta: 4080, value: 60 }, { delta: 4180, value: 60 }];
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-15.js
+++ b/devtools/client/shared/test/browser_graphs-15.js
@@ -2,32 +2,32 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that graph widgets correctly emit mouse input events.
 
 const FAST_FPS = 60;
 const SLOW_FPS = 10;
 
 // Each element represents a second
-const FRAMES= [FAST_FPS, FAST_FPS, FAST_FPS, SLOW_FPS, FAST_FPS];
+const FRAMES = [FAST_FPS, FAST_FPS, FAST_FPS, SLOW_FPS, FAST_FPS];
 const TEST_DATA = [];
 const INTERVAL = 100;
 const DURATION = 5000; // 5s
 var t = 0;
 for (let frameRate of FRAMES) {
   for (let i = 0; i < frameRate; i++) {
     let delta = Math.floor(1000 / frameRate); // Duration between frames at this rate
     t += delta;
     TEST_DATA.push(t);
   }
 }
 
 var LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new LineGraphWidget(doc.body, "fps");
--- a/devtools/client/shared/test/browser_graphs-16.js
+++ b/devtools/client/shared/test/browser_graphs-16.js
@@ -14,17 +14,17 @@ const TEST_DATA = [
 ];
 
 const SECTIONS = [
   { color: "red" },
   { color: "green" },
   { color: "blue" }
 ];
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost();
   let graph = new MountainGraphWidget(doc.body);
--- a/devtools/client/shared/test/browser_inplace-editor-01.js
+++ b/devtools/client/shared/test/browser_inplace-editor-01.js
@@ -3,17 +3,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 var {editableField, getInplaceEditorForSpan: inplaceEditor} = require("devtools/client/shared/inplace-editor");
 
 // Test the inplace-editor behavior.
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("data:text/html;charset=utf-8,inline editor tests");
   let [host, win, doc] = yield createHost();
 
   yield testMultipleInitialization(doc);
   yield testReturnCommit(doc);
   yield testBlurCommit(doc);
   yield testAdvanceCharCommit(doc);
   yield testAdvanceCharsFunction(doc);
@@ -29,62 +29,62 @@ function testMultipleInitialization(doc)
 
   info("Creating multiple inplace-editor fields");
   editableField(options);
   editableField(options);
 
   info("Clicking on the inplace-editor field to turn to edit mode");
   span.click();
 
-  is (span.style.display, "none", "The original <span> is hidden");
-  is (doc.querySelectorAll("input").length, 1, "Only one <input>");
-  is (doc.querySelectorAll("span").length, 2, "Correct number of <span> elements");
-  is (doc.querySelectorAll("span.autosizer").length, 1, "There is an autosizer element");
+  is(span.style.display, "none", "The original <span> is hidden");
+  is(doc.querySelectorAll("input").length, 1, "Only one <input>");
+  is(doc.querySelectorAll("span").length, 2, "Correct number of <span> elements");
+  is(doc.querySelectorAll("span.autosizer").length, 1, "There is an autosizer element");
 }
 
 function testReturnCommit(doc) {
   info("Testing that pressing return commits the new value");
   let def = promise.defer();
 
   createInplaceEditorAndClick({
     initial: "explicit initial",
-    start: function(editor) {
+    start: function (editor) {
       is(editor.input.value, "explicit initial", "Explicit initial value should be used.");
       editor.input.value = "Test Value";
       EventUtils.sendKey("return");
     },
     done: onDone("Test Value", true, def)
   }, doc);
 
   return def.promise;
 }
 
 function testBlurCommit(doc) {
   info("Testing that bluring the field commits the new value");
   let def = promise.defer();
 
   createInplaceEditorAndClick({
-    start: function(editor) {
+    start: function (editor) {
       is(editor.input.value, "Edit Me!", "textContent of the span used.");
       editor.input.value = "Test Value";
       editor.input.blur();
     },
     done: onDone("Test Value", true, def)
   }, doc);
 
   return def.promise;
 }
 
 function testAdvanceCharCommit(doc) {
   info("Testing that configured advanceChars commit the new value");
   let def = promise.defer();
 
   createInplaceEditorAndClick({
     advanceChars: ":",
-    start: function(editor) {
+    start: function (editor) {
       let input = editor.input;
       EventUtils.sendString("Test:");
     },
     done: onDone("Test", true, def)
   }, doc);
 
   return def.promise;
 }
@@ -92,62 +92,62 @@ function testAdvanceCharCommit(doc) {
 function testAdvanceCharsFunction(doc) {
   info("Testing advanceChars as a function");
   let def = promise.defer();
 
   let firstTime = true;
 
   createInplaceEditorAndClick({
     initial: "",
-    advanceChars: function(aCharCode, aText, aInsertionPoint) {
+    advanceChars: function (aCharCode, aText, aInsertionPoint) {
       if (aCharCode !== Components.interfaces.nsIDOMKeyEvent.DOM_VK_COLON) {
         return false;
       }
       if (firstTime) {
         firstTime = false;
         return false;
       }
 
       // Just to make sure we check it somehow.
       return aText.length > 0;
     },
-    start: function(editor) {
+    start: function (editor) {
       for (let ch of ":Test:") {
         EventUtils.sendChar(ch);
       }
     },
     done: onDone(":Test", true, def)
   }, doc);
 
   return def.promise;
 }
 
 function testEscapeCancel(doc) {
   info("Testing that escape cancels the new value");
   let def = promise.defer();
 
   createInplaceEditorAndClick({
     initial: "initial text",
-    start: function(editor) {
+    start: function (editor) {
       editor.input.value = "Test Value";
       EventUtils.sendKey("escape");
     },
     done: onDone("initial text", false, def)
   }, doc);
 
   return def.promise;
 }
 
 function onDone(value, isCommit, def) {
-  return function(actualValue, actualCommit) {
+  return function (actualValue, actualCommit) {
     info("Inplace-editor's done callback executed, checking its state");
     is(actualValue, value, "The value is correct");
     is(actualCommit, isCommit, "The commit boolean is correct");
     def.resolve();
-  }
+  };
 }
 
 function createInplaceEditorAndClick(options, doc) {
   doc.body.innerHTML = "";
   let span = options.element = createSpan(doc);
 
   info("Creating an inplace-editor field");
   editableField(options);
--- a/devtools/client/shared/test/browser_inplace-editor-02.js
+++ b/devtools/client/shared/test/browser_inplace-editor-02.js
@@ -3,17 +3,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 var {editableField, getInplaceEditorForSpan: inplaceEditor} = require("devtools/client/shared/inplace-editor");
 
 // Test that the trimOutput option for the inplace editor works correctly.
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("data:text/html;charset=utf-8,inline editor tests");
   let [host, win, doc] = yield createHost();
 
   yield testNonTrimmed(doc);
   yield testTrimmed(doc);
 
   host.destroy();
   gBrowser.removeCurrentTab();
@@ -24,17 +24,17 @@ function testNonTrimmed(doc) {
   let def = promise.defer();
 
   let initial = "\nMultiple\nLines\n";
   let changed = " \nMultiple\nLines\n with more whitespace ";
   createInplaceEditorAndClick({
     trimOutput: false,
     multiline: true,
     initial: initial,
-    start: function(editor) {
+    start: function (editor) {
       is(editor.input.value, initial, "Explicit initial value should be used.");
       editor.input.value = changed;
       EventUtils.sendKey("return");
     },
     done: onDone(changed, true, def)
   }, doc);
 
   return def.promise;
@@ -44,34 +44,34 @@ function testTrimmed(doc) {
   info("Testing the trimOutput=true option (default value)");
   let def = promise.defer();
 
   let initial = "\nMultiple\nLines\n";
   let changed = " \nMultiple\nLines\n with more whitespace ";
   createInplaceEditorAndClick({
     initial: initial,
     multiline: true,
-    start: function(editor) {
+    start: function (editor) {
       is(editor.input.value, initial, "Explicit initial value should be used.");
       editor.input.value = changed;
       EventUtils.sendKey("return");
     },
     done: onDone(changed.trim(), true, def)
   }, doc);
 
   return def.promise;
 }
 
 function onDone(value, isCommit, def) {
-  return function(actualValue, actualCommit) {
+  return function (actualValue, actualCommit) {
     info("Inplace-editor's done callback executed, checking its state");
     is(actualValue, value, "The value is correct");
     is(actualCommit, isCommit, "The commit boolean is correct");
     def.resolve();
-  }
+  };
 }
 
 function createInplaceEditorAndClick(options, doc) {
   doc.body.innerHTML = "";
   let span = options.element = createSpan(doc);
 
   info("Creating an inplace-editor field");
   editableField(options);
--- a/devtools/client/shared/test/browser_inplace-editor_maxwidth.js
+++ b/devtools/client/shared/test/browser_inplace-editor_maxwidth.js
@@ -9,17 +9,17 @@ var { editableField } = require("devtool
 const MAX_WIDTH = 300;
 const START_TEXT = "Start text";
 const LONG_TEXT = "I am a long text and I will not fit in a 300px container. " +
   "I expect the inplace editor to wrap.";
 
 // Test the inplace-editor behavior with a maxWidth configuration option
 // defined.
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("data:text/html;charset=utf-8,inplace editor max width tests");
   let [host, , doc] = yield createHost();
 
   info("Testing the maxWidth option in pixels, to precisely check the size");
   yield new Promise(resolve => {
     createInplaceEditorAndClick({
       multiline: true,
       maxWidth: MAX_WIDTH,
--- a/devtools/client/shared/test/browser_layoutHelpers-getBoxQuads.js
+++ b/devtools/client/shared/test/browser_layoutHelpers-getBoxQuads.js
@@ -132,17 +132,17 @@ function takesIframesOffsetsIntoAccount(
     "margins takes those offsets into account");
 
   let rootIframe = doc.querySelector("iframe");
   let subIframe = rootIframe.contentDocument.querySelector("iframe");
   let innerNode = subIframe.contentDocument.querySelector("#inner-node");
 
   let [quad] = getAdjustedQuads(doc.defaultView, innerNode, "content");
 
-  //rootIframe margin + subIframe margin + node margin + node border + node padding
+  // rootIframe margin + subIframe margin + node margin + node border + node padding
   let p1x = 10 + 10 + 10 + 10 + 10;
   is(quad.p1.x, p1x, "The inner node's p1 x position is correct");
 
   // Same as p1x + the inner node width
   let p2x = p1x + 100;
   is(quad.p2.x, p2x, "The inner node's p2 x position is correct");
 }
 
--- a/devtools/client/shared/test/browser_layoutHelpers.js
+++ b/devtools/client/shared/test/browser_layoutHelpers.js
@@ -1,83 +1,83 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that scrollIntoViewIfNeeded works properly.
 var {scrollIntoViewIfNeeded} = require("devtools/shared/layout/utils");
 
 const TEST_URI = TEST_URI_ROOT + "browser_layoutHelpers.html";
 
-add_task(function*() {
+add_task(function* () {
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
   runTest(win);
   host.destroy();
 });
 
 function runTest(win) {
-  let some = win.document.getElementById('some');
+  let some = win.document.getElementById("some");
 
-  some.style.top = win.innerHeight + 'px';
-  some.style.left = win.innerWidth + 'px';
+  some.style.top = win.innerHeight + "px";
+  some.style.left = win.innerWidth + "px";
   // The tests start with a black 2x2 pixels square below bottom right.
   // Do not resize the window during the tests.
 
   let xPos = Math.floor(win.innerWidth / 2);
   win.scroll(xPos, win.innerHeight + 2);  // Above the viewport.
   scrollIntoViewIfNeeded(some);
   is(win.scrollY, Math.floor(win.innerHeight / 2) + 1,
-     'Element completely hidden above should appear centered.');
+     "Element completely hidden above should appear centered.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, win.innerHeight + 1);  // On the top edge.
   scrollIntoViewIfNeeded(some);
   is(win.scrollY, win.innerHeight,
-     'Element partially visible above should appear above.');
+     "Element partially visible above should appear above.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, 0);  // Just below the viewport.
   scrollIntoViewIfNeeded(some);
   is(win.scrollY, Math.floor(win.innerHeight / 2) + 1,
-     'Element completely hidden below should appear centered.');
+     "Element completely hidden below should appear centered.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, 1);  // On the bottom edge.
   scrollIntoViewIfNeeded(some);
   is(win.scrollY, 2,
-     'Element partially visible below should appear below.');
+     "Element partially visible below should appear below.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, win.innerHeight + 2);  // Above the viewport.
   scrollIntoViewIfNeeded(some, false);
   is(win.scrollY, win.innerHeight,
-     'Element completely hidden above should appear above ' +
-     'if parameter is false.');
+     "Element completely hidden above should appear above " +
+     "if parameter is false.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, win.innerHeight + 1);  // On the top edge.
   scrollIntoViewIfNeeded(some, false);
   is(win.scrollY, win.innerHeight,
-     'Element partially visible above should appear above ' +
-     'if parameter is false.');
+     "Element partially visible above should appear above " +
+     "if parameter is false.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, 0);  // Below the viewport.
   scrollIntoViewIfNeeded(some, false);
   is(win.scrollY, 2,
-     'Element completely hidden below should appear below ' +
-     'if parameter is false.');
+     "Element completely hidden below should appear below " +
+     "if parameter is false.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 
   win.scroll(win.innerWidth / 2, 1);  // On the bottom edge.
   scrollIntoViewIfNeeded(some, false);
   is(win.scrollY, 2,
-     'Element partially visible below should appear below ' +
-     'if parameter is false.');
+     "Element partially visible below should appear below " +
+     "if parameter is false.");
   is(win.scrollX, xPos,
-     'scrollX position has not changed.');
+     "scrollX position has not changed.");
 }
--- a/devtools/client/shared/test/browser_mdn-docs-01.js
+++ b/devtools/client/shared/test/browser_mdn-docs-01.js
@@ -32,27 +32,27 @@ const MDN_DOCS_TOOLTIP_FRAME = "chrome:/
  * In the real tooltip, a CSS property name is used to look up an MDN page
  * for that property.
  * In the test code, the names defined here is used to look up a page
  * served by the test server.
  */
 const BASIC_TESTING_PROPERTY = "html-mdn-css-basic-testing.html";
 
 const BASIC_EXPECTED_SUMMARY = "A summary of the property.";
-const BASIC_EXPECTED_SYNTAX = [{type: "comment",        text: "/* The part we want   */"},
-                               {type: "text",           text: "\n"},
-                               {type: "property-name",  text: "this"},
-                               {type: "text",           text: ":"},
-                               {type: "text",           text: " "},
+const BASIC_EXPECTED_SYNTAX = [{type: "comment", text: "/* The part we want   */"},
+                               {type: "text", text: "\n"},
+                               {type: "property-name", text: "this"},
+                               {type: "text", text: ":"},
+                               {type: "text", text: " "},
                                {type: "property-value", text: "is-the-part-we-want"},
-                               {type: "text",           text: ";"}];
+                               {type: "text", text: ";"}];
 
 const URI_PARAMS = "?utm_source=mozilla&utm_medium=firefox-inspector&utm_campaign=default";
 
-add_task(function*() {
+add_task(function* () {
   setBaseCssDocsUrl(TEST_URI_ROOT);
 
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", MDN_DOCS_TOOLTIP_FRAME);
   let widget = new MdnDocsWidget(win.document);
 
   yield testTheBasics(widget);
 
@@ -164,10 +164,10 @@ function checkTooltipContents(doc, expec
   is(doc.heading.textContent,
      expected.propertyName,
      "Property name is correct");
 
   is(doc.summary.textContent,
      expected.summary,
      "Summary is correct");
 
-   checkCssSyntaxHighlighterOutput(expected.syntax, doc.syntax);
+  checkCssSyntaxHighlighterOutput(expected.syntax, doc.syntax);
 }
--- a/devtools/client/shared/test/browser_mdn-docs-02.js
+++ b/devtools/client/shared/test/browser_mdn-docs-02.js
@@ -23,23 +23,23 @@
 
 const {CssDocsTooltip} = require("devtools/client/shared/widgets/Tooltip");
 const {setBaseCssDocsUrl, MdnDocsWidget} = require("devtools/client/shared/widgets/MdnDocsWidget");
 
 // frame to load the tooltip into
 const MDN_DOCS_TOOLTIP_FRAME = "chrome://devtools/content/shared/widgets/mdn-docs-frame.xhtml";
 
 const BASIC_EXPECTED_SUMMARY = "A summary of the property.";
-const BASIC_EXPECTED_SYNTAX = [{type: "comment",        text: "/* The part we want   */"},
-                               {type: "text",           text: "\n"},
-                               {type: "property-name",  text: "this"},
-                               {type: "text",           text: ":"},
-                               {type: "text",           text: " "},
+const BASIC_EXPECTED_SYNTAX = [{type: "comment", text: "/* The part we want   */"},
+                               {type: "text", text: "\n"},
+                               {type: "property-name", text: "this"},
+                               {type: "text", text: ":"},
+                               {type: "text", text: " "},
                                {type: "property-value", text: "is-the-part-we-want"},
-                               {type: "text",           text: ";"}];
+                               {type: "text", text: ";"}];
 
 const ERROR_MESSAGE = "Could not load docs page.";
 
 /**
  * Test properties
  *
  * In the real tooltip, a CSS property name is used to look up an MDN page
  * for that property.
@@ -64,17 +64,17 @@ const TEST_DATA = [{
 }, {
   desc: "Test a property whose syntax section is specified using an old-style page",
   docsPageUrl: SYNTAX_OLD_STYLE,
   expectedContents: {
     propertyName: SYNTAX_OLD_STYLE,
     summary: BASIC_EXPECTED_SUMMARY,
     syntax: BASIC_EXPECTED_SYNTAX
   }
-},  {
+}, {
   desc: "Test a property whose page doesn't have a summary",
   docsPageUrl: NO_SUMMARY,
   expectedContents: {
     propertyName: NO_SUMMARY,
     summary: "",
     syntax: BASIC_EXPECTED_SYNTAX
   }
 }, {
@@ -91,17 +91,17 @@ const TEST_DATA = [{
   expectedContents: {
     propertyName: NO_SUMMARY_OR_SYNTAX,
     summary: ERROR_MESSAGE,
     syntax: []
   }
 }
 ];
 
-add_task(function*() {
+add_task(function* () {
   setBaseCssDocsUrl(TEST_URI_ROOT);
 
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", MDN_DOCS_TOOLTIP_FRAME);
   let widget = new MdnDocsWidget(win.document);
 
   for (let {desc, docsPageUrl, expectedContents} of TEST_DATA) {
     info(desc);
--- a/devtools/client/shared/test/browser_mdn-docs-03.js
+++ b/devtools/client/shared/test/browser_mdn-docs-03.js
@@ -36,238 +36,238 @@ const {appendSyntaxHighlightedCSS} = req
  * - description: string describing the salient features of this test case
  * - example: the string to test
  * - expected: an array of objects, one for each DOM node we expect, that
  * captures the information about the node that we expect to test.
  */
 const TEST_DATA = [{
   description: "Valid syntax, string value.",
   example: "name: stringValue;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+  expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, numeric value.",
-  example: "name: 1;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, numeric value.",
+    example: "name: 1;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "1"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, url value.",
-  example: "name: url(./name);",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, url value.",
+    example: "name: url(./name);",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "url(./name)"},
              {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, space before ':'.",
-  example: "name : stringValue;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: " "},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, space before ':'.",
+    example: "name : stringValue;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: " "},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, space before ';'.",
-  example: "name: stringValue ;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, space before ';'.",
+    example: "name: stringValue ;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: " "},
-             {type: "text",           text: ";"}
+             {type: "text", text: " "},
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, trailing space.",
-  example: "name: stringValue; ",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, trailing space.",
+    example: "name: stringValue; ",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"},
-             {type: "text",           text: " "}
+             {type: "text", text: ";"},
+             {type: "text", text: " "}
   ]}, {
-  description: "Valid syntax, leading space.",
-  example: " name: stringValue;",
-  expected: [{type: "text",           text: " "},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, leading space.",
+    example: " name: stringValue;",
+    expected: [{type: "text", text: " "},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, two spaces.",
-  example: "name:  stringValue;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: "  "},
+    description: "Valid syntax, two spaces.",
+    example: "name:  stringValue;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: "  "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, no spaces.",
-  example: "name:stringValue;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
+    description: "Valid syntax, no spaces.",
+    example: "name:stringValue;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, two-part value.",
-  example: "name: stringValue 1;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    description: "Valid syntax, two-part value.",
+    example: "name: stringValue 1;",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: " "},
+             {type: "text", text: " "},
              {type: "property-value", text: "1"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, two declarations.",
-  example: "name: stringValue;\n" +
+    description: "Valid syntax, two declarations.",
+    example: "name: stringValue;\n" +
            "name: 1;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+             {type: "text", text: ";"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "1"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, commented, numeric value.",
-  example: "/* comment */\n" +
+    description: "Valid syntax, commented, numeric value.",
+    example: "/* comment */\n" +
            "name: 1;",
-  expected: [{type: "comment",        text: "/* comment */"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "comment", text: "/* comment */"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "1"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, multiline commented, string value.",
-  example: "/* multiline \n" +
+    description: "Valid syntax, multiline commented, string value.",
+    example: "/* multiline \n" +
            "comment */\n" +
            "name: stringValue;",
-  expected: [{type: "comment",        text: "/* multiline \ncomment */"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "comment", text: "/* multiline \ncomment */"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, commented, two declarations.",
-  example: "/* comment 1 */\n" +
+    description: "Valid syntax, commented, two declarations.",
+    example: "/* comment 1 */\n" +
            "name: 1;\n" +
            "/* comment 2 */\n" +
            "name: stringValue;",
-  expected: [{type: "comment",        text: "/* comment 1 */"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "comment", text: "/* comment 1 */"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "1"},
-             {type: "text",           text: ";"},
-             {type: "text",           text: "\n"},
-             {type: "comment",        text: "/* comment 2 */"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+             {type: "text", text: ";"},
+             {type: "text", text: "\n"},
+             {type: "comment", text: "/* comment 2 */"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, multiline.",
-  example: "name: \n" +
+    description: "Valid syntax, multiline.",
+    example: "name: \n" +
            "stringValue;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " \n"},
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " \n"},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Valid syntax, multiline, two declarations.",
-  example: "name: \n" +
+    description: "Valid syntax, multiline, two declarations.",
+    example: "name: \n" +
            "stringValue \n" +
            "stringValue2;",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " \n"},
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " \n"},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: " \n"},
+             {type: "text", text: " \n"},
              {type: "property-value", text: "stringValue2"},
-             {type: "text",           text: ";"}
+             {type: "text", text: ";"}
   ]}, {
-  description: "Invalid: not CSS at all.",
-  example: "not CSS at all",
-  expected: [{type: "property-name",  text: "not"},
-             {type: "text",            text: " "},
-             {type: "property-name",   text: "CSS"},
-             {type: "text",            text: " "},
-             {type: "property-name",   text: "at"},
-             {type: "text",            text: " "},
-             {type: "property-name",   text: "all"}
+    description: "Invalid: not CSS at all.",
+    example: "not CSS at all",
+    expected: [{type: "property-name", text: "not"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "CSS"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "at"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "all"}
   ]}, {
-  description: "Invalid: switched ':' and ';'.",
-  example: "name; stringValue:",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ";"},
-             {type: "text",           text: " "},
-             {type: "property-name",  text: "stringValue"},
-             {type: "text",           text: ":"}
+    description: "Invalid: switched ':' and ';'.",
+    example: "name; stringValue:",
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ";"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "stringValue"},
+             {type: "text", text: ":"}
   ]}, {
-  description: "Invalid: unterminated comment.",
-  example: "/* unterminated comment\n" +
+    description: "Invalid: unterminated comment.",
+    example: "/* unterminated comment\n" +
            "name: stringValue;",
-  expected: [{type: "comment",        text: "/* unterminated comment\nname: stringValue;"}
+    expected: [{type: "comment", text: "/* unterminated comment\nname: stringValue;"}
   ]}, {
-  description: "Invalid: bad comment syntax.",
-  example: "// invalid comment\n" +
+    description: "Invalid: bad comment syntax.",
+    example: "// invalid comment\n" +
            "name: stringValue;",
-  expected: [{type: "text",           text: "/"},
-             {type: "text",           text: "/"},
-             {type: "text",           text: " "},
-             {type: "property-name",  text: "invalid"},
-             {type: "text",           text: " "},
-             {type: "property-name",  text: "comment"},
-             {type: "text",           text: "\n"},
-             {type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "text", text: "/"},
+             {type: "text", text: "/"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "invalid"},
+             {type: "text", text: " "},
+             {type: "property-name", text: "comment"},
+             {type: "text", text: "\n"},
+             {type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: ";"}
-  ]},  {
-  description: "Invalid: no trailing ';'.",
-  example: "name: stringValue\n" +
+             {type: "text", text: ";"}
+  ]}, {
+    description: "Invalid: no trailing ';'.",
+    example: "name: stringValue\n" +
            "name: stringValue2",
-  expected: [{type: "property-name",  text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+    expected: [{type: "property-name", text: "name"},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue"},
-             {type: "text",           text: "\n"},
+             {type: "text", text: "\n"},
              {type: "property-value", text: "name"},
-             {type: "text",           text: ":"},
-             {type: "text",           text: " "},
+             {type: "text", text: ":"},
+             {type: "text", text: " "},
              {type: "property-value", text: "stringValue2"},
   ]}
 ];
 
 /**
  * Iterate through every test case, calling the syntax highlighter,
  * then calling a helper function to check the output.
  */
-add_task(function*() {
+add_task(function* () {
   let doc = gBrowser.selectedTab.ownerDocument;
   let parent = doc.createElement("div");
   info("Testing all CSS syntax highlighter test cases");
   for (let {description, example, expected} of TEST_DATA) {
     info("Testing: " + description);
     appendSyntaxHighlightedCSS(example, parent);
     checkCssSyntaxHighlighterOutput(expected, parent);
     while (parent.firstChild) {
--- a/devtools/client/shared/test/browser_options-view-01.js
+++ b/devtools/client/shared/test/browser_options-view-01.js
@@ -7,17 +7,17 @@ const {OptionsView} = require("devtools/
 
 const BRANCH = "devtools.debugger.";
 const BLACK_BOX_PREF = "auto-black-box";
 const PRETTY_PRINT_PREF = "auto-pretty-print";
 
 var originalBlackBox = Services.prefs.getBoolPref(BRANCH + BLACK_BOX_PREF);
 var originalPrettyPrint = Services.prefs.getBoolPref(BRANCH + PRETTY_PRINT_PREF);
 
-add_task(function*() {
+add_task(function* () {
   info("Setting a couple of preferences");
   Services.prefs.setBoolPref(BRANCH + BLACK_BOX_PREF, false);
   Services.prefs.setBoolPref(BRANCH + PRETTY_PRINT_PREF, true);
 
   info("Opening a test tab and a toolbox host to create the options view in");
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", OPTIONS_VIEW_URL);
 
--- a/devtools/client/shared/test/browser_outputparser.js
+++ b/devtools/client/shared/test/browser_outputparser.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 var {Loader} = Cu.import("resource://gre/modules/commonjs/toolkit/loader.js",
                          {});
 var {OutputParser} = require("devtools/client/shared/output-parser");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, , doc] = yield createHost("bottom", "data:text/html," +
     "<h1>browser_outputParser.js</h1><div></div>");
--- a/devtools/client/shared/test/browser_poller.js
+++ b/devtools/client/shared/test/browser_poller.js
@@ -46,24 +46,24 @@ add_task(function* () {
 
   // This should still have not polled a second time
   is(count1, 1, "wait time works");
 
   ok(poller1.isPolling(), "isPolling() returns true for an on poller");
   ok(!poller2.isPolling(), "isPolling() returns false for an off poller");
 });
 
-add_task(function *() {
+add_task(function* () {
   let count = -1;
   // Create a poller that returns a promise.
   // The promise is resolved asynchronously after adding 9 to the count, ensuring
   // that on every poll, we have a multiple of 10.
   let asyncPoller = new Poller(function () {
     count++;
-    ok(!(count%10), `Async poller called with a multiple of 10: ${count}`);
+    ok(!(count % 10), `Async poller called with a multiple of 10: ${count}`);
     return new Promise(function (resolve, reject) {
       let add9 = 9;
       let interval = setInterval(() => {
         if (add9--) {
           count++;
         } else {
           clearInterval(interval);
           resolve();
@@ -72,17 +72,17 @@ add_task(function *() {
     });
   });
 
   asyncPoller.on(1);
   yield waitUntil(() => count > 50);
   yield asyncPoller.off();
 });
 
-add_task(function *() {
+add_task(function* () {
   // Create a poller that returns a promise. This poll call
   // is called immediately, and then subsequently turned off.
   // The call to `off` should not resolve until the inflight call
   // finishes.
   let inflightFinished = null;
   let pollCalls = 0;
   let asyncPoller = new Poller(function () {
     pollCalls++;
@@ -95,17 +95,17 @@ add_task(function *() {
   }, 1, true);
   asyncPoller.on();
 
   yield asyncPoller.off();
   ok(inflightFinished, "off() method does not resolve until remaining inflight poll calls finish");
   is(pollCalls, 1, "should only be one poll call to occur before turning off polling");
 });
 
-add_task(function *() {
+add_task(function* () {
   // Create a poller that returns a promise. This poll call
   // is called immediately, and then subsequently turned off.
   // The call to `off` should not resolve until the inflight call
   // finishes.
   let inflightFinished = null;
   let pollCalls = 0;
   let asyncPoller = new Poller(function () {
     pollCalls++;
@@ -116,16 +116,16 @@ add_task(function *() {
       }, 1000);
     });
   }, 1, true);
   asyncPoller.on();
 
   yield asyncPoller.destroy();
   ok(inflightFinished, "destroy() method does not resolve until remaining inflight poll calls finish");
   is(pollCalls, 1, "should only be one poll call to occur before destroying polling");
-  
+
   try {
     asyncPoller.on();
     ok(false, "Calling on() after destruction should throw");
   } catch (e) {
     ok(true, "Calling on() after destruction should throw");
   }
 });
--- a/devtools/client/shared/test/browser_spectrum.js
+++ b/devtools/client/shared/test/browser_spectrum.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the spectrum color picker works correctly
 
 const TEST_URI = "chrome://devtools/content/shared/widgets/spectrum-frame.xhtml";
 const {Spectrum} = require("devtools/client/shared/widgets/Spectrum");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   yield performTest();
   gBrowser.removeCurrentTab();
 });
 
 function* performTest() {
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
@@ -83,17 +83,17 @@ function testChangingColorShouldEmitEven
       is(rgba[3], 1, "New color is correct");
       is("rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ", " + rgba[3] + ")", color, "RGBA and css color correspond");
 
       s.destroy();
       resolve();
     });
 
     // Simulate a drag move event by calling the handler directly.
-    s.onDraggerMove(s.dragger.offsetWidth/2, s.dragger.offsetHeight/2);
+    s.onDraggerMove(s.dragger.offsetWidth / 2, s.dragger.offsetHeight / 2);
   });
 }
 
 function testSettingColorShoudUpdateTheUI(doc) {
   let s = new Spectrum(doc.querySelector("#spectrum"), [255, 255, 255, 1]);
   s.show();
   let dragHelperOriginalPos = [s.dragHelper.style.top, s.dragHelper.style.left];
   let alphaHelperOriginalPos = s.alphaSliderHelper.style.left;
@@ -102,13 +102,13 @@ function testSettingColorShoudUpdateTheU
   s.updateUI();
 
   ok(s.alphaSliderHelper.style.left != alphaHelperOriginalPos, "Alpha helper has moved");
   ok(s.dragHelper.style.top !== dragHelperOriginalPos[0], "Drag helper has moved");
   ok(s.dragHelper.style.left !== dragHelperOriginalPos[1], "Drag helper has moved");
 
   s.rgb = [240, 32, 124, 0];
   s.updateUI();
-  is(s.alphaSliderHelper.style.left, - (s.alphaSliderHelper.offsetWidth/2) + "px",
+  is(s.alphaSliderHelper.style.left, -(s.alphaSliderHelper.offsetWidth / 2) + "px",
     "Alpha range UI has been updated again");
 
   s.destroy();
 }
--- a/devtools/client/shared/test/browser_tableWidget_basic.js
+++ b/devtools/client/shared/test/browser_tableWidget_basic.js
@@ -15,17 +15,17 @@ const TEST_URI = "data:text/xml;charset=
   // "<?xml-stylesheet href='chrome://devtools/skin/widgets.css'?>" +
 
   "<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'" +
   " title='Table Widget' width='600' height='500'>" +
   "<box flex='1' class='theme-light'/></window>";
 
 const {TableWidget} = require("devtools/client/shared/widgets/TableWidget");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, , doc] = yield createHost("bottom", TEST_URI);
 
   let table = new TableWidget(doc.querySelector("box"), {
     initialColumns: {
       col1: "Column 1",
       col2: "Column 2",
       col3: "Column 3",
--- a/devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js
+++ b/devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js
@@ -25,17 +25,17 @@ var doc, table;
 
 function test() {
   waitForExplicitFinish();
   let win = Services.ww.openWindow(null, TEST_URI, "_blank", TEST_OPT, null);
 
   win.addEventListener("load", function onLoad() {
     win.removeEventListener("load", onLoad, false);
 
-    waitForFocus(function() {
+    waitForFocus(function () {
       doc = win.document;
       table = new TableWidget(doc.querySelector("box"), {
         initialColumns: {
           col1: "Column 1",
           col2: "Column 2",
           col3: "Column 3",
           col4: "Column 4"
         },
@@ -51,17 +51,17 @@ function test() {
 
 function endTests() {
   table.destroy();
   doc.defaultView.close();
   doc = table = null;
   finish();
 }
 
-var startTests = Task.async(function*() {
+var startTests = Task.async(function* () {
   populateTable();
   yield testKeyboardInteraction();
   endTests();
 });
 
 function populateTable() {
   table.push({
     col1: "id1",
@@ -138,17 +138,17 @@ function click(node, button = 0) {
 function getNodeByValue(value) {
   return table.tbody.querySelector("[value=" + value + "]");
 }
 
 /**
  * Tests if pressing navigation keys on the table items does the expected
  * behavior.
  */
-var testKeyboardInteraction = Task.async(function*() {
+var testKeyboardInteraction = Task.async(function* () {
   info("Testing keyboard interaction with the table");
   info("clicking on the row containing id2");
   let node = getNodeByValue("id2");
   let event = table.once(TableWidget.EVENTS.ROW_SELECTED);
   click(node);
   yield event;
 
   yield testRow("id3", "DOWN", "next row");
--- a/devtools/client/shared/test/browser_tableWidget_mouse_interaction.js
+++ b/devtools/client/shared/test/browser_tableWidget_mouse_interaction.js
@@ -25,17 +25,17 @@ var doc, table;
 
 function test() {
   waitForExplicitFinish();
   let win = Services.ww.openWindow(null, TEST_URI, "_blank", TEST_OPT, null);
 
   win.addEventListener("load", function onLoad() {
     win.removeEventListener("load", onLoad, false);
 
-    waitForFocus(function() {
+    waitForFocus(function () {
       doc = win.document;
       table = new TableWidget(doc.querySelector("box"), {
         initialColumns: {
           col1: "Column 1",
           col2: "Column 2",
           col3: "Column 3",
           col4: "Column 4"
         },
@@ -51,17 +51,17 @@ function test() {
 
 function endTests() {
   table.destroy();
   doc.defaultView.close();
   doc = table = null;
   finish();
 }
 
-var startTests = Task.async(function*() {
+var startTests = Task.async(function* () {
   populateTable();
   yield testMouseInteraction();
   endTests();
 });
 
 function populateTable() {
   table.push({
     col1: "id1",
@@ -133,17 +133,17 @@ function click(node, button = 0) {
       type: "contextmenu"
     }, doc.defaultView));
   }
 }
 
 /**
  * Tests if clicking the table items does the expected behavior
  */
-var testMouseInteraction = Task.async(function*() {
+var testMouseInteraction = Task.async(function* () {
   info("Testing mouse interaction with the table");
   ok(!table.selectedRow, "Nothing should be selected beforehand");
 
   let event = table.once(TableWidget.EVENTS.ROW_SELECTED);
   let node = table.tbody.firstChild.firstChild.children[1];
   info("clicking on the first row");
   ok(!node.classList.contains("theme-selected"),
      "Node should not have selected class before clicking");
--- a/devtools/client/shared/test/browser_telemetry_button_eyedropper.js
+++ b/devtools/client/shared/test/browser_telemetry_button_eyedropper.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_button_eyedropper.js</p><div>test</div>";
 
 var {EyedropperManager} = require("devtools/client/eyedropper/eyedropper");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "inspector");
   info("inspector opened");
 
   info("testing the eyedropper button");
--- a/devtools/client/shared/test/browser_telemetry_button_paintflashing.js
+++ b/devtools/client/shared/test/browser_telemetry_button_paintflashing.js
@@ -5,17 +5,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_button_paintflashing.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "inspector");
   info("inspector opened");
 
   info("testing the paintflashing button");
@@ -69,24 +69,24 @@ function checkResults(histIdFocus, Telem
     }
 
     if (histId.endsWith("OPENED_PER_USER_FLAG")) {
       ok(value.length === 1 && value[0] === true,
          "Per user value " + histId + " has a single value of true");
     } else if (histId.endsWith("OPENED_COUNT")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element === true;
       });
 
       ok(okay, "All " + histId + " entries are === true");
     } else if (histId.endsWith("TIME_ACTIVE_SECONDS")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element > 0;
       });
 
       ok(okay, "All " + histId + " entries have time > 0");
     }
   }
 }
--- a/devtools/client/shared/test/browser_telemetry_button_responsive.js
+++ b/devtools/client/shared/test/browser_telemetry_button_responsive.js
@@ -5,17 +5,17 @@ const TEST_URI = "data:text/html;charset
   "<p>browser_telemetry_button_responsive.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
 const { ResponsiveUIManager } = Cu.import("resource://devtools/client/responsivedesign/responsivedesign.jsm", {});
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "inspector");
   info("inspector opened");
 
   info("testing the responsivedesign button");
@@ -44,17 +44,17 @@ function waitForToggle() {
       ResponsiveUIManager.off("off", handler);
       resolve();
     };
     ResponsiveUIManager.on("on", handler);
     ResponsiveUIManager.on("off", handler);
   });
 }
 
-var delayedClicks = Task.async(function*(node, clicks) {
+var delayedClicks = Task.async(function* (node, clicks) {
   for (let i = 0; i < clicks; i++) {
     info("Clicking button " + node.id);
     let toggled = waitForToggle();
     node.click();
     yield toggled;
     // See TOOL_DELAY for why we need setTimeout here
     yield DevToolsUtils.waitForTime(TOOL_DELAY);
   }
@@ -73,24 +73,24 @@ function checkResults(histIdFocus, Telem
     }
 
     if (histId.endsWith("OPENED_PER_USER_FLAG")) {
       ok(value.length === 1 && value[0] === true,
          "Per user value " + histId + " has a single value of true");
     } else if (histId.endsWith("OPENED_COUNT")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element === true;
       });
 
       ok(okay, "All " + histId + " entries are === true");
     } else if (histId.endsWith("TIME_ACTIVE_SECONDS")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element > 0;
       });
 
       ok(okay, "All " + histId + " entries have time > 0");
     }
   }
 }
--- a/devtools/client/shared/test/browser_telemetry_button_scratchpad.js
+++ b/devtools/client/shared/test/browser_telemetry_button_scratchpad.js
@@ -3,17 +3,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_button_scratchpad.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "inspector");
   info("inspector opened");
 
   let onAllWindowsOpened = trackScratchpadWindows();
@@ -38,17 +38,17 @@ function trackScratchpadWindows() {
     Services.ww.registerNotification(function observer(subject, topic) {
       if (topic == "domwindowopened") {
         let win = subject.QueryInterface(Ci.nsIDOMWindow);
         win.addEventListener("load", function onLoad() {
           win.removeEventListener("load", onLoad, false);
 
           if (win.Scratchpad) {
             win.Scratchpad.addObserver({
-              onReady: function() {
+              onReady: function () {
                 win.Scratchpad.removeObserver(this);
                 numScratchpads++;
                 win.close();
 
                 info("another scratchpad was opened and closed, count is now " + numScratchpads);
 
                 if (numScratchpads === 4) {
                   Services.ww.unregisterNotification(observer);
@@ -104,24 +104,24 @@ function checkResults(histIdFocus, Telem
     }
 
     if (histId.endsWith("OPENED_PER_USER_FLAG")) {
       ok(value.length === 1 && value[0] === true,
          "Per user value " + histId + " has a single value of true");
     } else if (histId.endsWith("OPENED_COUNT")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element === true;
       });
 
       ok(okay, "All " + histId + " entries are === true");
     } else if (histId.endsWith("TIME_ACTIVE_SECONDS")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element > 0;
       });
 
       ok(okay, "All " + histId + " entries have time > 0");
     }
   }
 }
--- a/devtools/client/shared/test/browser_telemetry_sidebar.js
+++ b/devtools/client/shared/test/browser_telemetry_sidebar.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_sidebar.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target, "inspector");
   info("inspector opened");
 
   yield testSidebar(toolbox);
@@ -34,17 +34,17 @@ function* testSidebar(toolbox) {
   sidebarTools.push.apply(sidebarTools, sidebarTools);
 
   return new Promise(resolve => {
     // See TOOL_DELAY for why we need setTimeout here
     setTimeout(function selectSidebarTab() {
       let tool = sidebarTools.pop();
       if (tool) {
         inspector.sidebar.select(tool);
-        setTimeout(function() {
+        setTimeout(function () {
           setTimeout(selectSidebarTab, TOOL_DELAY);
         }, TOOL_DELAY);
       } else {
         resolve();
       }
     }, TOOL_DELAY);
   });
 }
@@ -62,24 +62,24 @@ function checkResults(Telemetry) {
     if (histId.endsWith("OPENED_PER_USER_FLAG")) {
       ok(value.length === 1 && value[0] === true,
          "Per user value " + histId + " has a single value of true");
     } else if (histId === "DEVTOOLS_TOOLBOX_OPENED_COUNT") {
       is(value.length, 1, histId + " has only one entry");
     } else if (histId.endsWith("OPENED_COUNT")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element === true;
       });
 
       ok(okay, "All " + histId + " entries are === true");
     } else if (histId.endsWith("TIME_ACTIVE_SECONDS")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element > 0;
       });
 
       ok(okay, "All " + histId + " entries have time > 0");
     }
   }
 }
--- a/devtools/client/shared/test/browser_telemetry_toolbox.js
+++ b/devtools/client/shared/test/browser_telemetry_toolbox.js
@@ -3,17 +3,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_toolbox.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(3, TOOL_DELAY, "inspector");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_canvasdebugger.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_canvasdebugger.js
@@ -3,17 +3,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_toolboxtabs_canvasdebugger.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   info("Activate the canvasdebugger");
   let originalPref = Services.prefs.getBoolPref("devtools.canvasdebugger.enabled");
   Services.prefs.setBoolPref("devtools.canvasdebugger.enabled", true);
 
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "canvasdebugger");
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_inspector.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_inspector.js
@@ -3,17 +3,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_toolboxtabs_inspector.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "inspector");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_jsdebugger.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_jsdebugger.js
@@ -3,17 +3,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8," +
   "<p>browser_telemetry_toolboxtabs_jsdebugger.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "jsdebugger");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_jsprofiler.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_jsprofiler.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_jsprofiler.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "performance");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_netmonitor.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_netmonitor.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_netmonitor.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "netmonitor");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_options.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_options.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_options.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "options");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_shadereditor.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_shadereditor.js
@@ -1,25 +1,25 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Error: Shader Editor is still waiting for a WebGL context to be created.");
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_shadereditor.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   info("Active the sharer editor");
   let originalPref = Services.prefs.getBoolPref("devtools.shadereditor.enabled");
   Services.prefs.setBoolPref("devtools.shadereditor.enabled", true);
 
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "shadereditor");
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_storage.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_storage.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_storage.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   info("Activating the storage inspector");
   Services.prefs.setBoolPref("devtools.storage.enabled", true);
 
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "storage");
   checkTelemetryResults(Telemetry);
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_styleeditor.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_styleeditor.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_styleeditor.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "styleeditor");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_webaudioeditor.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_webaudioeditor.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_webaudioeditor.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   info("Activating the webaudioeditor");
   let originalPref = Services.prefs.getBoolPref("devtools.webaudioeditor.enabled");
   Services.prefs.setBoolPref("devtools.webaudioeditor.enabled", true);
 
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "webaudioeditor");
--- a/devtools/client/shared/test/browser_telemetry_toolboxtabs_webconsole.js
+++ b/devtools/client/shared/test/browser_telemetry_toolboxtabs_webconsole.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>browser_telemetry_toolboxtabs_styleeditor_webconsole.js</p>";
 
 // Because we need to gather stats for the period of time that a tool has been
 // opened we make use of setTimeout() to create tool active times.
 const TOOL_DELAY = 200;
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
   let Telemetry = loadTelemetryAndRecordLogs();
 
   yield openAndCloseToolbox(2, TOOL_DELAY, "webconsole");
   checkTelemetryResults(Telemetry);
 
   stopRecordingTelemetryLogs(Telemetry);
   gBrowser.removeCurrentTab();
--- a/devtools/client/shared/test/browser_templater_basic.js
+++ b/devtools/client/shared/test/browser_templater_basic.js
@@ -8,41 +8,41 @@
  * domtemplate)
  * We should endevour to keep the source in sync.
  */
 
 const {template} = require("devtools/shared/gcli/templater");
 
 const TEST_URI = TEST_URI_ROOT + "browser_templater_basic.html";
 
-var test = Task.async(function*() {
+var test = Task.async(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   info("Starting DOM Templater Tests");
   runTest(0, host, doc);
 });
 
 function runTest(index, host, doc) {
   var options = tests[index] = tests[index]();
-  var holder = doc.createElement('div');
+  var holder = doc.createElement("div");
   holder.id = options.name;
   var body = doc.body;
   body.appendChild(holder);
   holder.innerHTML = options.template;
 
-  info('Running ' + options.name);
+  info("Running " + options.name);
   template(holder, options.data, options.options);
 
-  if (typeof options.result == 'string') {
+  if (typeof options.result == "string") {
     is(holder.innerHTML, options.result, options.name);
   }
   else {
     ok(holder.innerHTML.match(options.result) != null,
-       options.name + ' result=\'' + holder.innerHTML + '\'');
+       options.name + " result='" + holder.innerHTML + "'");
   }
 
   if (options.also) {
     options.also(options);
   }
 
   function runNextTest() {
     index++;
@@ -54,17 +54,17 @@ function runTest(index, host, doc) {
     }
   }
 
   if (options.later) {
     var ais = is.bind(this);
 
     function createTester(holder, options) {
       return () => {
-        ais(holder.innerHTML, options.later, options.name + ' later');
+        ais(holder.innerHTML, options.later, options.name + " later");
         runNextTest();
       };
     }
 
     executeSoon(createTester(holder, options));
   }
   else {
     runNextTest();
@@ -83,201 +83,201 @@ function finished(host) {
  * Why have an array of functions that return data rather than just an array
  * of the data itself? Some of these tests contain calls to delayReply() which
  * sets up async processing using executeSoon(). Since the execution of these
  * tests is asynchronous, the delayed reply will probably arrive before the
  * test is executed, making the test be synchronous. So we wrap the data in a
  * function so we only set it up just before we use it.
  */
 var tests = [
-  function() { return {
-    name: 'simpleNesting',
+  function () { return {
+    name: "simpleNesting",
     template: '<div id="ex1">${nested.value}</div>',
-    data: { nested:{ value:'pass 1' } },
+    data: { nested:{ value:"pass 1" } },
     result: '<div id="ex1">pass 1</div>'
   };},
 
-  function() { return {
-    name: 'returnDom',
+  function () { return {
+    name: "returnDom",
     template: '<div id="ex2">${__element.ownerDocument.createTextNode(\'pass 2\')}</div>',
     options: { allowEval: true },
     data: {},
     result: '<div id="ex2">pass 2</div>'
   };},
 
-  function() { return {
-    name: 'srcChange',
+  function () { return {
+    name: "srcChange",
     template: '<img _src="${fred}" id="ex3">',
-    data: { fred:'green.png' },
+    data: { fred:"green.png" },
     result: /<img( id="ex3")? src="green.png"( id="ex3")?>/
   };},
 
-  function() { return {
-    name: 'ifTrue',
+  function () { return {
+    name: "ifTrue",
     template: '<p if="${name !== \'jim\'}">hello ${name}</p>',
     options: { allowEval: true },
-    data: { name: 'fred' },
-    result: '<p>hello fred</p>'
+    data: { name: "fred" },
+    result: "<p>hello fred</p>"
   };},
 
-  function() { return {
-    name: 'ifFalse',
+  function () { return {
+    name: "ifFalse",
     template: '<p if="${name !== \'jim\'}">hello ${name}</p>',
     options: { allowEval: true },
-    data: { name: 'jim' },
-    result: ''
+    data: { name: "jim" },
+    result: ""
   };},
 
-  function() { return {
-    name: 'simpleLoop',
+  function () { return {
+    name: "simpleLoop",
     template: '<p foreach="index in ${[ 1, 2, 3 ]}">${index}</p>',
     options: { allowEval: true },
     data: {},
-    result: '<p>1</p><p>2</p><p>3</p>'
+    result: "<p>1</p><p>2</p><p>3</p>"
   };},
 
-  function() { return {
-    name: 'loopElement',
+  function () { return {
+    name: "loopElement",
     template: '<loop foreach="i in ${array}">${i}</loop>',
     data: { array: [ 1, 2, 3 ] },
-    result: '123'
+    result: "123"
   };},
 
   // Bug 692028: DOMTemplate memory leak with asynchronous arrays
   // Bug 692031: DOMTemplate async loops do not drop the loop element
-  function() { return {
-    name: 'asyncLoopElement',
+  function () { return {
+    name: "asyncLoopElement",
     template: '<loop foreach="i in ${array}">${i}</loop>',
     data: { array: delayReply([1, 2, 3]) },
-    result: '<span></span>',
-    later: '123'
+    result: "<span></span>",
+    later: "123"
   };},
 
-  function() { return {
-    name: 'saveElement',
+  function () { return {
+    name: "saveElement",
     template: '<p save="${element}">${name}</p>',
-    data: { name: 'pass 8' },
-    result: '<p>pass 8</p>',
-    also: function(options) {
-      ok(options.data.element.innerHTML, 'pass 9', 'saveElement saved');
+    data: { name: "pass 8" },
+    result: "<p>pass 8</p>",
+    also: function (options) {
+      ok(options.data.element.innerHTML, "pass 9", "saveElement saved");
       delete options.data.element;
     }
   };},
 
-  function() { return {
-    name: 'useElement',
+  function () { return {
+    name: "useElement",
     template: '<p id="pass9">${adjust(__element)}</p>',
     options: { allowEval: true },
     data: {
-      adjust: function(element) {
-        is('pass9', element.id, 'useElement adjust');
-        return 'pass 9b'
+      adjust: function (element) {
+        is("pass9", element.id, "useElement adjust");
+        return "pass 9b";
       }
     },
     result: '<p id="pass9">pass 9b</p>'
   };},
 
-  function() { return {
-    name: 'asyncInline',
-    template: '${delayed}',
-    data: { delayed: delayReply('inline') },
-    result: '<span></span>',
-    later: 'inline'
+  function () { return {
+    name: "asyncInline",
+    template: "${delayed}",
+    data: { delayed: delayReply("inline") },
+    result: "<span></span>",
+    later: "inline"
   };},
 
   // Bug 692028: DOMTemplate memory leak with asynchronous arrays
-  function() { return {
-    name: 'asyncArray',
+  function () { return {
+    name: "asyncArray",
     template: '<p foreach="i in ${delayed}">${i}</p>',
     data: { delayed: delayReply([1, 2, 3]) },
-    result: '<span></span>',
-    later: '<p>1</p><p>2</p><p>3</p>'
+    result: "<span></span>",
+    later: "<p>1</p><p>2</p><p>3</p>"
   };},
 
-  function() { return {
-    name: 'asyncMember',
+  function () { return {
+    name: "asyncMember",
     template: '<p foreach="i in ${delayed}">${i}</p>',
     data: { delayed: [delayReply(4), delayReply(5), delayReply(6)] },
-    result: '<span></span><span></span><span></span>',
-    later: '<p>4</p><p>5</p><p>6</p>'
+    result: "<span></span><span></span><span></span>",
+    later: "<p>4</p><p>5</p><p>6</p>"
   };},
 
   // Bug 692028: DOMTemplate memory leak with asynchronous arrays
-  function() { return {
-    name: 'asyncBoth',
+  function () { return {
+    name: "asyncBoth",
     template: '<p foreach="i in ${delayed}">${i}</p>',
     data: {
       delayed: delayReply([
         delayReply(4),
         delayReply(5),
         delayReply(6)
       ])
     },
-    result: '<span></span>',
-    later: '<p>4</p><p>5</p><p>6</p>'
+    result: "<span></span>",
+    later: "<p>4</p><p>5</p><p>6</p>"
   };},
 
   // Bug 701762: DOMTemplate fails when ${foo()} returns undefined
-  function() { return {
-    name: 'functionReturningUndefiend',
-    template: '<p>${foo()}</p>',
+  function () { return {
+    name: "functionReturningUndefiend",
+    template: "<p>${foo()}</p>",
     options: { allowEval: true },
     data: {
-      foo: function() {}
+      foo: function () {}
     },
-    result: '<p>undefined</p>'
+    result: "<p>undefined</p>"
   };},
 
   // Bug 702642: DOMTemplate is relatively slow when evaluating JS ${}
-  function() { return {
-    name: 'propertySimple',
-    template: '<p>${a.b.c}</p>',
-    data: { a: { b: { c: 'hello' } } },
-    result: '<p>hello</p>'
+  function () { return {
+    name: "propertySimple",
+    template: "<p>${a.b.c}</p>",
+    data: { a: { b: { c: "hello" } } },
+    result: "<p>hello</p>"
   };},
 
-  function() { return {
-    name: 'propertyPass',
-    template: '<p>${Math.max(1, 2)}</p>',
+  function () { return {
+    name: "propertyPass",
+    template: "<p>${Math.max(1, 2)}</p>",
     options: { allowEval: true },
-    result: '<p>2</p>'
+    result: "<p>2</p>"
   };},
 
-  function() { return {
-    name: 'propertyFail',
-    template: '<p>${Math.max(1, 2)}</p>',
-    result: '<p>${Math.max(1, 2)}</p>'
+  function () { return {
+    name: "propertyFail",
+    template: "<p>${Math.max(1, 2)}</p>",
+    result: "<p>${Math.max(1, 2)}</p>"
   };},
 
   // Bug 723431: DOMTemplate should allow customisation of display of
   // null/undefined values
-  function() { return {
-    name: 'propertyUndefAttrFull',
-    template: '<p>${nullvar}|${undefinedvar1}|${undefinedvar2}</p>',
+  function () { return {
+    name: "propertyUndefAttrFull",
+    template: "<p>${nullvar}|${undefinedvar1}|${undefinedvar2}</p>",
     data: { nullvar: null, undefinedvar1: undefined },
-    result: '<p>null|undefined|undefined</p>'
+    result: "<p>null|undefined|undefined</p>"
   };},
 
-  function() { return {
-    name: 'propertyUndefAttrBlank',
-    template: '<p>${nullvar}|${undefinedvar1}|${undefinedvar2}</p>',
+  function () { return {
+    name: "propertyUndefAttrBlank",
+    template: "<p>${nullvar}|${undefinedvar1}|${undefinedvar2}</p>",
     data: { nullvar: null, undefinedvar1: undefined },
     options: { blankNullUndefined: true },
-    result: '<p>||</p>'
+    result: "<p>||</p>"
   };},
 
-  function() { return {
-    name: 'propertyUndefAttrFull',
+  function () { return {
+    name: "propertyUndefAttrFull",
     template: '<div><p value="${nullvar}"></p><p value="${undefinedvar1}"></p><p value="${undefinedvar2}"></p></div>',
     data: { nullvar: null, undefinedvar1: undefined },
     result: '<div><p value="null"></p><p value="undefined"></p><p value="undefined"></p></div>'
   };},
 
-  function() { return {
-    name: 'propertyUndefAttrBlank',
+  function () { return {
+    name: "propertyUndefAttrBlank",
     template: '<div><p value="${nullvar}"></p><p value="${undefinedvar1}"></p><p value="${undefinedvar2}"></p></div>',
     data: { nullvar: null, undefinedvar1: undefined },
     options: { blankNullUndefined: true },
     result: '<div><p value=""></p><p value=""></p><p value=""></p></div>'
   };}
 ];
 
 function delayReply(data) {
--- a/devtools/client/shared/test/browser_theme.js
+++ b/devtools/client/shared/test/browser_theme.js
@@ -8,29 +8,29 @@ var {getColor, getTheme, setTheme} = req
 
 add_task(function* () {
   testGetTheme();
   testSetTheme();
   testGetColor();
   testColorExistence();
 });
 
-function testGetTheme () {
+function testGetTheme() {
   let originalTheme = getTheme();
   ok(originalTheme, "has some theme to start with.");
   Services.prefs.setCharPref("devtools.theme", "light");
   is(getTheme(), "light", "getTheme() correctly returns light theme");
   Services.prefs.setCharPref("devtools.theme", "dark");
   is(getTheme(), "dark", "getTheme() correctly returns dark theme");
   Services.prefs.setCharPref("devtools.theme", "unknown");
   is(getTheme(), "unknown", "getTheme() correctly returns an unknown theme");
   Services.prefs.setCharPref("devtools.theme", originalTheme);
 }
 
-function testSetTheme () {
+function testSetTheme() {
   let originalTheme = getTheme();
   gDevTools.once("pref-changed", (_, { pref, oldValue, newValue }) => {
     is(pref, "devtools.theme",
       "The 'pref-changed' event triggered by setTheme has correct pref.");
     is(oldValue, originalTheme,
       "The 'pref-changed' event triggered by setTheme has correct oldValue.");
     is(newValue, "dark",
       "The 'pref-changed' event triggered by setTheme has correct newValue.");
@@ -39,17 +39,17 @@ function testSetTheme () {
   is(Services.prefs.getCharPref("devtools.theme"), "dark", "setTheme() correctly sets dark theme.");
   setTheme("light");
   is(Services.prefs.getCharPref("devtools.theme"), "light", "setTheme() correctly sets light theme.");
   setTheme("unknown");
   is(Services.prefs.getCharPref("devtools.theme"), "unknown", "setTheme() correctly sets an unknown theme.");
   Services.prefs.setCharPref("devtools.theme", originalTheme);
 }
 
-function testGetColor () {
+function testGetColor() {
   let BLUE_DARK = "#46afe3";
   let BLUE_LIGHT = "#0088cc";
   let originalTheme = getTheme();
 
   setTheme("dark");
   is(getColor("highlight-blue"), BLUE_DARK, "correctly gets color for enabled theme.");
   setTheme("light");
   is(getColor("highlight-blue"), BLUE_LIGHT, "correctly gets color for enabled theme.");
@@ -58,32 +58,32 @@ function testGetColor () {
 
   is(getColor("highlight-blue", "dark"), BLUE_DARK, "if provided and found, uses the provided theme.");
   is(getColor("highlight-blue", "metal"), BLUE_LIGHT, "if provided and not found, defaults to light theme.");
   is(getColor("somecomponents"), null, "if a type cannot be found, should return null.");
 
   setTheme(originalTheme);
 }
 
-function testColorExistence () {
+function testColorExistence() {
   var vars = ["body-background", "sidebar-background", "contrast-background", "tab-toolbar-background",
    "toolbar-background", "selection-background", "selection-color",
    "selection-background-semitransparent", "splitter-color", "comment", "body-color",
    "body-color-alt", "content-color1", "content-color2", "content-color3",
    "highlight-green", "highlight-blue", "highlight-bluegrey", "highlight-purple",
    "highlight-lightorange", "highlight-orange", "highlight-red", "highlight-pink"
   ];
 
   for (let type of vars) {
     ok(getColor(type, "light"), `${type} is a valid color in light theme`);
     ok(getColor(type, "dark"), `${type} is a valid color in light theme`);
   }
 }
 
-function isColor (s) {
+function isColor(s) {
   // Regexes from Heather Arthur's `color-string`
   // https://github.com/harthur/color-string
   // MIT License
   return /^#([a-fA-F0-9]{3})$/.test(s) ||
          /^#([a-fA-F0-9]{6})$/.test(s) ||
          /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d\.]+)\s*)?\)$/.test(s) ||
          /^rgba?\(\s*([\d\.]+)\%\s*,\s*([\d\.]+)\%\s*,\s*([\d\.]+)\%\s*(?:,\s*([\d\.]+)\s*)?\)$/.test(s);
 }
--- a/devtools/client/shared/test/browser_theme_switching.js
+++ b/devtools/client/shared/test/browser_theme_switching.js
@@ -1,15 +1,15 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 var toolbox;
 
-add_task(function*() {
+add_task(function* () {
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   let toolbox = yield gDevTools.showToolbox(target);
   let doc = toolbox.frame.contentDocument;
   let root = doc.documentElement;
 
   let platform = root.getAttribute("platform");
   let expectedPlatform = getPlatform();
   is(platform, expectedPlatform, ":root[platform] is correct");
@@ -25,17 +25,17 @@ add_task(function*() {
                        doc, null, XPathResult.ANY_TYPE, null);
   let sheetsInDOM = [];
   let sheet;
   while (sheet = sheetsIterator.iterateNext()) {
     sheetsInDOM.push(sheet.data);
   }
 
   let sheetsFromTheme = gDevTools.getThemeDefinition(theme).stylesheets;
-  info ("Checking for existence of " + sheetsInDOM.length + " sheets");
+  info("Checking for existence of " + sheetsInDOM.length + " sheets");
   for (let sheet of sheetsFromTheme) {
     ok(sheetsInDOM.some(s=>s.includes(sheet)), "There is a stylesheet for " + sheet);
   }
 
   yield toolbox.destroy();
 });
 
 function getPlatform() {
--- a/devtools/client/shared/test/browser_toolbar_basic.js
+++ b/devtools/client/shared/test/browser_toolbar_basic.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the developer toolbar works properly
 
 const TEST_URI = TEST_URI_ROOT + "browser_toolbar_basic.html";
 
-add_task(function*() {
+add_task(function* () {
   info("Starting browser_toolbar_basic.js");
   yield addTab(TEST_URI);
 
   ok(!DeveloperToolbar.visible, "DeveloperToolbar is not visible in to start");
 
   let shown = oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.SHOW);
   document.getElementById("menu_devToolbar").doCommand();
   yield shown;
--- a/devtools/client/shared/test/browser_toolbar_tooltip.js
+++ b/devtools/client/shared/test/browser_toolbar_tooltip.js
@@ -1,14 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the developer toolbar works properly
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Protocol error (unknownError): Error: Got an invalid root window in DocumentWalker");
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>Tooltip Tests</p>";
 const PREF_DEVTOOLS_THEME = "devtools.theme";
@@ -29,37 +29,37 @@ add_task(function* showToolbar() {
   document.getElementById("menu_devToolbar").doCommand();
   yield showPromise;
 });
 
 add_task(function* testDimensions() {
   let tooltipPanel = DeveloperToolbar.tooltipPanel;
 
   DeveloperToolbar.focusManager.helpRequest();
-  yield DeveloperToolbar.inputter.setInput('help help');
+  yield DeveloperToolbar.inputter.setInput("help help");
 
-  DeveloperToolbar.inputter.setCursor({ start: 'help help'.length });
-  is(tooltipPanel._dimensions.start, 'help '.length,
-          'search param start, when cursor at end');
-  ok(getLeftMargin() > 30, 'tooltip offset, when cursor at end')
+  DeveloperToolbar.inputter.setCursor({ start: "help help".length });
+  is(tooltipPanel._dimensions.start, "help ".length,
+          "search param start, when cursor at end");
+  ok(getLeftMargin() > 30, "tooltip offset, when cursor at end");
 
-  DeveloperToolbar.inputter.setCursor({ start: 'help'.length });
+  DeveloperToolbar.inputter.setCursor({ start: "help".length });
   is(tooltipPanel._dimensions.start, 0,
-          'search param start, when cursor at end of command');
-  ok(getLeftMargin() > 9, 'tooltip offset, when cursor at end of command')
+          "search param start, when cursor at end of command");
+  ok(getLeftMargin() > 9, "tooltip offset, when cursor at end of command");
 
-  DeveloperToolbar.inputter.setCursor({ start: 'help help'.length - 1 });
-  is(tooltipPanel._dimensions.start, 'help '.length,
-          'search param start, when cursor at penultimate position');
-  ok(getLeftMargin() > 30, 'tooltip offset, when cursor at penultimate position')
+  DeveloperToolbar.inputter.setCursor({ start: "help help".length - 1 });
+  is(tooltipPanel._dimensions.start, "help ".length,
+          "search param start, when cursor at penultimate position");
+  ok(getLeftMargin() > 30, "tooltip offset, when cursor at penultimate position");
 
   DeveloperToolbar.inputter.setCursor({ start: 0 });
   is(tooltipPanel._dimensions.start, 0,
-          'search param start, when cursor at start');
-  ok(getLeftMargin() > 9, 'tooltip offset, when cursor at start')
+          "search param start, when cursor at start");
+  ok(getLeftMargin() > 9, "tooltip offset, when cursor at start");
 });
 
 add_task(function* testThemes() {
   let tooltipPanel = DeveloperToolbar.tooltipPanel;
   ok(tooltipPanel.document, "Tooltip panel is initialized");
 
   Services.prefs.setCharPref(PREF_DEVTOOLS_THEME, "dark");
 
@@ -74,17 +74,17 @@ add_task(function* testThemes() {
   yield DeveloperToolbar.inputter.setInput("help help");
   is(tooltipPanel.document.documentElement.getAttribute("devtoolstheme"),
      "light", "Tooltip panel has correct theme");
 });
 
 
 add_task(function* hideToolbar() {
   info("Ending browser_toolbar_tooltip.js");
-  yield DeveloperToolbar.inputter.setInput('');
+  yield DeveloperToolbar.inputter.setInput("");
 
   ok(DeveloperToolbar.visible, "DeveloperToolbar is visible in hideToolbar");
 
   info("Hide toolbar");
   let hidePromise = observeOnce(DeveloperToolbar.NOTIFICATIONS.HIDE);
   document.getElementById("menu_devToolbar").doCommand();
   yield hidePromise;
 
@@ -93,17 +93,17 @@ add_task(function* hideToolbar() {
   info("Done test");
 });
 
 function getLeftMargin() {
   let style = DeveloperToolbar.tooltipPanel._panel.style.marginLeft;
   return parseInt(style.slice(0, -2), 10);
 }
 
-function observeOnce(topic, ownsWeak=false) {
-  return new Promise(function(resolve, reject) {
-    let resolver = function(subject) {
+function observeOnce(topic, ownsWeak = false) {
+  return new Promise(function (resolve, reject) {
+    let resolver = function (subject) {
       Services.obs.removeObserver(resolver, topic);
       resolve(subject);
     };
     Services.obs.addObserver(resolver, topic, ownsWeak);
   }.bind(this));
 }
--- a/devtools/client/shared/test/browser_toolbar_webconsole_errors_count.js
+++ b/devtools/client/shared/test/browser_toolbar_webconsole_errors_count.js
@@ -42,19 +42,19 @@ function test() {
       warnings: 0,
       callback: addErrors,
     });
   }
 
   function addErrors() {
     expectUncaughtException();
 
-    waitForFocus(function() {
+    waitForFocus(function () {
       let button = content.document.querySelector("button");
-      executeSoon(function() {
+      executeSoon(function () {
         EventUtils.synthesizeMouse(button, 3, 2, {}, content);
       });
     }, content);
 
     waitForButtonUpdate({
       name: "button shows one more error after click in page",
       errors: 4,
       warnings: 1,
@@ -88,32 +88,32 @@ function test() {
       callback: openWebConsole.bind(null, tab1, onWebConsoleOpen),
     });
   }
 
   function onWebConsoleOpen(hud) {
     dump("lolz!!\n");
     waitForValue({
       name: "web console shows the page errors",
-      validator: function() {
+      validator: function () {
         return hud.outputNode.querySelectorAll(".message[category=exception][severity=error]").length;
       },
       value: 4,
       success: checkConsoleOutput.bind(null, hud),
       failure: () => {
         finish();
       },
     });
   }
 
   function checkConsoleOutput(hud) {
     let msgs = ["foobarBug762996a", "foobarBug762996b", "foobarBug762996load",
                 "foobarBug762996click", "foobarBug762996consoleLog",
                 "foobarBug762996css", "fooBug788445"];
-    msgs.forEach(function(msg) {
+    msgs.forEach(function (msg) {
       isnot(hud.outputNode.textContent.indexOf(msg), -1,
             msg + " found in the Web Console output");
     });
 
     hud.jsterm.clearOutput();
 
     is(hud.outputNode.textContent.indexOf("foobarBug762996color"), -1,
        "clearOutput() worked");
@@ -126,17 +126,17 @@ function test() {
       name: "button shows one more error after another click in page",
       errors: 5,
       warnings: 1, // warnings are not repeated by the js engine
       callback: () => waitForValue(waitForNewError),
     });
 
     let waitForNewError = {
       name: "the Web Console displays the new error",
-      validator: function() {
+      validator: function () {
         return hud.outputNode.textContent.indexOf("foobarBug762996click") > -1;
       },
       success: doClearConsoleButton.bind(null, hud),
       failure: finish,
     };
   }
 
   function doClearConsoleButton(hud) {
@@ -169,21 +169,21 @@ function test() {
         errors: 3,
         warnings: 0,
         callback: waitForValue.bind(null, waitForConsoleOutputAfterReload),
       });
     }
 
     let waitForConsoleOutputAfterReload = {
       name: "the Web Console displays the correct number of errors after reload",
-      validator: function() {
+      validator: function () {
         return hud.outputNode.querySelectorAll(".message[category=exception][severity=error]").length;
       },
       value: 3,
-      success: function() {
+      success: function () {
         isnot(hud.outputNode.textContent.indexOf("foobarBug762996load"), -1,
               "foobarBug762996load found in console output after page reload");
         testEnd();
       },
       failure: testEnd,
     };
   }
 
--- a/devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js
+++ b/devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js
@@ -5,17 +5,17 @@
 // Tests that keyboard interaction works fine with the tree widget
 
 const TEST_URI = "data:text/html;charset=utf-8,<head>" +
   "<link rel='stylesheet' type='text/css' href='chrome://devtools/skin/widg" +
   "ets.css'></head><body><div></div><span></span></body>";
 const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
 const Promise = require("promise");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let tree = new TreeWidget(doc.querySelector("div"), {
     defaultType: "store"
   });
 
   populateTree(tree, doc);
--- a/devtools/client/shared/test/browser_treeWidget_mouse_interaction.js
+++ b/devtools/client/shared/test/browser_treeWidget_mouse_interaction.js
@@ -5,17 +5,17 @@
 // Tests that mouse interaction works fine with tree widget
 
 const TEST_URI = "data:text/html;charset=utf-8,<head>" +
   "<link rel='stylesheet' type='text/css' href='chrome://devtools/skin/widg" +
   "ets.css'></head><body><div></div><span></span></body>";
 const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
 const Promise = require("promise");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab("about:blank");
   let [host, win, doc] = yield createHost("bottom", TEST_URI);
 
   let tree = new TreeWidget(doc.querySelector("div"), {
     defaultType: "store"
   });
 
   populateTree(tree, doc);
@@ -94,34 +94,34 @@ function* testMouseInteraction(tree) {
   info("clicking on first top level item");
   event = Promise.defer();
   ok(!node.classList.contains("theme-selected"),
      "Node should not have selected class before clicking");
   click(node);
   let [name, data, attachment] = yield event.promise;
   ok(node.classList.contains("theme-selected"),
      "Node has selected class after click");
-  is(data[0], "level1.2", "Correct tree path is emitted")
-  ok(attachment && attachment.foo, "Correct attachment is emitted")
+  is(data[0], "level1.2", "Correct tree path is emitted");
+  ok(attachment && attachment.foo, "Correct attachment is emitted");
   is(attachment.foo, "bar", "Correct attachment value is emitted");
 
   info("clicking second top level item with children to check if it expands");
   let node2 = tree.root.children.firstChild.nextSibling.firstChild;
   event = Promise.defer();
   // node should not have selected class
   ok(!node2.classList.contains("theme-selected"),
      "New node should not have selected class before clicking");
   ok(!node2.hasAttribute("expanded"), "New node is not expanded before clicking");
   tree.once("select", pass);
   click(node2);
   [name, data, attachment] = yield event.promise;
   ok(node2.classList.contains("theme-selected"),
      "New node has selected class after clicking");
-  is(data[0], "level1", "Correct tree path is emitted for new node")
-  ok(!attachment, "null attachment should be emitted for new node")
+  is(data[0], "level1", "Correct tree path is emitted for new node");
+  ok(!attachment, "null attachment should be emitted for new node");
   ok(node2.hasAttribute("expanded"), "New node expanded after click");
 
   ok(!node.classList.contains("theme-selected"),
      "Old node should not have selected class after the click on new node");
 
 
   // clicking again should just collapse
   // this will not emit "select" event
--- a/devtools/client/shared/test/head.js
+++ b/devtools/client/shared/test/head.js
@@ -12,17 +12,17 @@ Services.scriptloader.loadSubScript("chr
 const {DOMHelpers} = Cu.import("resource://devtools/client/shared/DOMHelpers.jsm", {});
 const {Hosts} = require("devtools/client/framework/toolbox-hosts");
 const {defer} = require("promise");
 
 const TEST_URI_ROOT = "http://example.com/browser/devtools/client/shared/test/";
 const OPTIONS_VIEW_URL = TEST_URI_ROOT + "doc_options-view.xul";
 
 function catchFail(func) {
-  return function() {
+  return function () {
     try {
       return func.apply(null, arguments);
     } catch (ex) {
       ok(false, ex);
       console.error(ex);
       finish();
       throw ex;
     }
@@ -89,29 +89,29 @@ function waitForValue(options) {
     }
   }
 
   wait(options.validator, options.success, options.failure);
 }
 
 function oneTimeObserve(name, callback) {
   return new Promise((resolve) => {
-    let func = function() {
+    let func = function () {
       Services.obs.removeObserver(func, name);
       if (callback) {
         callback();
       }
       resolve();
     };
     Services.obs.addObserver(func, name, false);
   });
 }
 
 let createHost =
-Task.async(function*(type = "bottom", src = "data:text/html;charset=utf-8,") {
+Task.async(function* (type = "bottom", src = "data:text/html;charset=utf-8,") {
   let host = new Hosts[type](gBrowser.selectedTab);
   let iframe = yield host.create();
 
   yield new Promise(resolve => {
     let domHelper = new DOMHelpers(iframe.contentWindow);
     iframe.setAttribute("src", src);
     domHelper.onceDOMReady(resolve);
   });
@@ -126,17 +126,17 @@ Task.async(function*(type = "bottom", sr
  * @return {Telemetry}
  */
 function loadTelemetryAndRecordLogs() {
   info("Mock the Telemetry log function to record logged information");
 
   let Telemetry = require("devtools/client/shared/telemetry");
   Telemetry.prototype.telemetryInfo = {};
   Telemetry.prototype._oldlog = Telemetry.prototype.log;
-  Telemetry.prototype.log = function(histogramId, value) {
+  Telemetry.prototype.log = function (histogramId, value) {
     if (!this.telemetryInfo) {
       // Can be removed when Bug 992911 lands (see Bug 1011652 Comment 10)
       return;
     }
     if (histogramId) {
       if (!this.telemetryInfo[histogramId]) {
         this.telemetryInfo[histogramId] = [];
       }
@@ -168,25 +168,25 @@ function checkTelemetryResults(Telemetry
     let value = result[histId];
 
     if (histId.endsWith("OPENED_PER_USER_FLAG")) {
       ok(value.length === 1 && value[0] === true,
          "Per user value " + histId + " has a single value of true");
     } else if (histId.endsWith("OPENED_COUNT")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element === true;
       });
 
       ok(okay, "All " + histId + " entries are === true");
     } else if (histId.endsWith("TIME_ACTIVE_SECONDS")) {
       ok(value.length > 1, histId + " has more than one entry");
 
-      let okay = value.every(function(element) {
+      let okay = value.every(function (element) {
         return element > 0;
       });
 
       ok(okay, "All " + histId + " entries have time > 0");
     }
   }
 }
 
@@ -237,17 +237,17 @@ function synthesizeProfileForTest(sample
  * @param number interval [optional]
  *        How often the predicate is invoked, in milliseconds.
  */
 function waitUntil(predicate, interval = 10) {
   if (predicate()) {
     return Promise.resolve(true);
   }
   return new Promise(resolve => {
-    setTimeout(function() {
+    setTimeout(function () {
       waitUntil(predicate).then(() => resolve(true));
     }, interval);
   });
 }
 
 /**
  * Show the presets list sidebar in the cssfilter widget popup
  * @param {CSSFilterWidget} widget
@@ -262,17 +262,17 @@ function showFilterPopupPresets(widget) 
 /**
  * Show presets list and create a sample preset with the name and value provided
  * @param  {CSSFilterWidget} widget
  * @param  {string} name
  * @param  {string} value
  * @return {Promise}
  */
 let showFilterPopupPresetsAndCreatePreset =
-Task.async(function*(widget, name, value) {
+Task.async(function* (widget, name, value) {
   yield showFilterPopupPresets(widget);
 
   let onRender = widget.once("render");
   widget.setCssValue(value);
   yield onRender;
 
   let footer = widget.el.querySelector(".presets-list .footer");
   footer.querySelector("input").value = name;
--- a/devtools/client/shared/test/leakhunt.js
+++ b/devtools/client/shared/test/leakhunt.js
@@ -11,160 +11,160 @@
  * });
  */
 function leakHunt(root) {
   var path = [];
   var seen = [];
 
   try {
     var output = leakHunt.inner(root, path, seen);
-    output.forEach(function(line) {
-      dump(line + '\n');
+    output.forEach(function (line) {
+      dump(line + "\n");
     });
   }
   catch (ex) {
-    dump(ex + '\n');
+    dump(ex + "\n");
   }
 }
 
 leakHunt.inner = function LH_inner(root, path, seen) {
-  var prefix = new Array(path.length).join('  ');
+  var prefix = new Array(path.length).join("  ");
 
   var reply = [];
   function log(msg) {
     reply.push(msg);
   }
 
-  var direct
+  var direct;
   try {
     direct = Object.keys(root);
   }
   catch (ex) {
-    log(prefix + '  Error enumerating: ' + ex);
+    log(prefix + "  Error enumerating: " + ex);
     return reply;
   }
 
   try {
     var index = 0;
     for (var data of root) {
-      var prop = '' + index;
+      var prop = "" + index;
       leakHunt.digProperty(prop, data, path, seen, direct, log);
       index++;
     }
   }
   catch (ex) { /* Ignore things that are not enumerable */ }
 
   for (var prop in root) {
     var data;
     try {
       data = root[prop];
     }
     catch (ex) {
-      log(prefix + '  ' + prop + ' = Error: ' + ex.toString().substring(0, 30));
+      log(prefix + "  " + prop + " = Error: " + ex.toString().substring(0, 30));
       continue;
     }
 
     leakHunt.digProperty(prop, data, path, seen, direct, log);
   }
 
   return reply;
-}
+};
 
 leakHunt.hide = [ /^string$/, /^number$/, /^boolean$/, /^null/, /^undefined/ ];
 
 leakHunt.noRecurse = [
   /^string$/, /^number$/, /^boolean$/, /^null/, /^undefined/,
   /^Window$/, /^Document$/,
   /^XULDocument$/, /^XULElement$/,
   /^DOMWindow$/, /^HTMLDocument$/, /^HTML.*Element$/, /^ChromeWindow$/
 ];
 
 leakHunt.digProperty = function LH_digProperty(prop, data, path, seen, direct, log) {
   var newPath = path.slice();
   newPath.push(prop);
-  var prefix = new Array(newPath.length).join('  ');
+  var prefix = new Array(newPath.length).join("  ");
 
   var recurse = true;
   var message = leakHunt.getType(data);
 
   if (leakHunt.matchesAnyPattern(message, leakHunt.hide)) {
     return;
   }
 
-  if (message === 'function' && direct.indexOf(prop) == -1) {
+  if (message === "function" && direct.indexOf(prop) == -1) {
     return;
   }
 
-  if (message === 'string') {
-    var extra = data.length > 10 ? data.substring(0, 9) + '_' : data;
+  if (message === "string") {
+    var extra = data.length > 10 ? data.substring(0, 9) + "_" : data;
     message += ' "' + extra.replace(/\n/g, "|") + '"';
     recurse = false;
   }
   else if (leakHunt.matchesAnyPattern(message, leakHunt.noRecurse)) {
-    message += ' (no recurse)'
+    message += " (no recurse)";
     recurse = false;
   }
   else if (seen.indexOf(data) !== -1) {
-    message += ' (already seen)';
+    message += " (already seen)";
     recurse = false;
   }
 
   if (recurse) {
     seen.push(data);
     var lines = leakHunt.inner(data, newPath, seen);
     if (lines.length == 0) {
-      if (message !== 'function') {
-        log(prefix + prop + ' = ' + message + ' { }');
+      if (message !== "function") {
+        log(prefix + prop + " = " + message + " { }");
       }
     }
     else {
-      log(prefix + prop + ' = ' + message + ' {');
-      lines.forEach(function(line) {
+      log(prefix + prop + " = " + message + " {");
+      lines.forEach(function (line) {
         log(line);
       });
-      log(prefix + '}');
+      log(prefix + "}");
     }
   }
   else {
-    log(prefix + prop + ' = ' + message);
+    log(prefix + prop + " = " + message);
   }
 };
 
 leakHunt.matchesAnyPattern = function LH_matchesAnyPattern(str, patterns) {
   var match = false;
-  patterns.forEach(function(pattern) {
+  patterns.forEach(function (pattern) {
     if (str.match(pattern)) {
       match = true;
     }
   });
   return match;
 };
 
 leakHunt.getType = function LH_getType(data) {
   if (data === null) {
-    return 'null';
+    return "null";
   }
   if (data === undefined) {
-    return 'undefined';
+    return "undefined";
   }
 
   var type = typeof data;
-  if (type === 'object' || type === 'Object') {
+  if (type === "object" || type === "Object") {
     type = leakHunt.getCtorName(data);
   }
 
   return type;
 };
 
 leakHunt.getCtorName = function LH_getCtorName(aObj) {
   try {
     if (aObj.constructor && aObj.constructor.name) {
       return aObj.constructor.name;
     }
   }
   catch (ex) {
-    return 'UnknownObject';
+    return "UnknownObject";
   }
 
   // If that fails, use Objects toString which sometimes gives something
   // better than 'Object', and at least defaults to Object if nothing better
   return Object.prototype.toString.call(aObj).slice(8, -1);
 };
--- a/devtools/client/shared/test/test-actor-registry.js
+++ b/devtools/client/shared/test/test-actor-registry.js
@@ -1,104 +1,104 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 (function (exports) {
 
-var Cu = Components.utils;
-var Ci = Components.interfaces;
-var Cc = Components.classes;
-var CC = Components.Constructor;
+  var Cu = Components.utils;
+  var Ci = Components.interfaces;
+  var Cc = Components.classes;
+  var CC = Components.Constructor;
 
-var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
-var { fetch } = require("devtools/shared/DevToolsUtils");
-var promise = require("promise");
+  var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
+  var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
+  var { fetch } = require("devtools/shared/DevToolsUtils");
+  var promise = require("promise");
 
-var TEST_URL_ROOT = "http://example.com/browser/devtools/client/shared/test/";
-var ACTOR_URL = TEST_URL_ROOT + "test-actor.js";
+  var TEST_URL_ROOT = "http://example.com/browser/devtools/client/shared/test/";
+  var ACTOR_URL = TEST_URL_ROOT + "test-actor.js";
 
 // Register a test actor that can operate on the remote document
-exports.registerTestActor = Task.async(function* (client) {
+  exports.registerTestActor = Task.async(function* (client) {
   // First, instanciate ActorRegistryFront to be able to dynamically
   // register an actor
-  let deferred = promise.defer();
-  client.listTabs(deferred.resolve);
-  let response = yield deferred.promise;
-  let { ActorRegistryFront } = require("devtools/server/actors/actor-registry");
-  let registryFront = ActorRegistryFront(client, response);
+    let deferred = promise.defer();
+    client.listTabs(deferred.resolve);
+    let response = yield deferred.promise;
+    let { ActorRegistryFront } = require("devtools/server/actors/actor-registry");
+    let registryFront = ActorRegistryFront(client, response);
 
   // Then ask to register our test-actor to retrieve its front
-  let options = {
-    type: { tab: true },
-    constructor: "TestActor",
-    prefix: "testActor"
-  };
-  let testActorFront = yield registryFront.registerActor(ACTOR_URL, options);
-  return testActorFront;
-});
+    let options = {
+      type: { tab: true },
+      constructor: "TestActor",
+      prefix: "testActor"
+    };
+    let testActorFront = yield registryFront.registerActor(ACTOR_URL, options);
+    return testActorFront;
+  });
 
 // Load the test actor in a custom sandbox
 // as we can't use SDK module loader with URIs
-var loadFront = Task.async(function* () {
-  let sourceText = yield request(ACTOR_URL);
-  const principal = CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")();
-  const sandbox = Cu.Sandbox(principal);
-  const exports = sandbox.exports = {};
-  sandbox.require = require;
-  Cu.evalInSandbox(sourceText, sandbox, "1.8", ACTOR_URL, 1);
-  return sandbox.exports;
-});
+  var loadFront = Task.async(function* () {
+    let sourceText = yield request(ACTOR_URL);
+    const principal = CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")();
+    const sandbox = Cu.Sandbox(principal);
+    const exports = sandbox.exports = {};
+    sandbox.require = require;
+    Cu.evalInSandbox(sourceText, sandbox, "1.8", ACTOR_URL, 1);
+    return sandbox.exports;
+  });
 
 // Ensure fetching a live TabActor form for the targeted app
 // (helps fetching the test actor registered dynamically)
-var getUpdatedForm = function (client, tab) {
-  return client.getTab({tab: tab})
+  var getUpdatedForm = function (client, tab) {
+    return client.getTab({tab: tab})
                .then(response => response.tab);
-};
+  };
 
 // Spawn an instance of the test actor for the given toolbox
-exports.getTestActor = Task.async(function* (toolbox) {
-  let client = toolbox.target.client;
-  return getTestActor(client, toolbox.target.tab, toolbox);
-});
+  exports.getTestActor = Task.async(function* (toolbox) {
+    let client = toolbox.target.client;
+    return getTestActor(client, toolbox.target.tab, toolbox);
+  });
 
 
 // Sometimes, we need the test actor before opening or without a toolbox
 // then just create a front for the given `tab`
-exports.getTestActorWithoutToolbox = Task.async(function* (tab) {
-  let { DebuggerServer } = require("devtools/server/main");
-  let { DebuggerClient } = require("devtools/shared/client/main");
+  exports.getTestActorWithoutToolbox = Task.async(function* (tab) {
+    let { DebuggerServer } = require("devtools/server/main");
+    let { DebuggerClient } = require("devtools/shared/client/main");
 
   // We need to spawn a client instance,
   // but for that we have to first ensure a server is running
-  if (!DebuggerServer.initialized) {
-    DebuggerServer.init();
-    DebuggerServer.addBrowserActors();
-  }
-  let client = new DebuggerClient(DebuggerServer.connectPipe());
+    if (!DebuggerServer.initialized) {
+      DebuggerServer.init();
+      DebuggerServer.addBrowserActors();
+    }
+    let client = new DebuggerClient(DebuggerServer.connectPipe());
 
-  yield client.connect();
+    yield client.connect();
 
   // We also need to make sure the test actor is registered on the server.
-  yield registerTestActor(client);
+    yield registerTestActor(client);
 
-  return getTestActor(client, tab);
-});
+    return getTestActor(client, tab);
+  });
 
 // Fetch the content of a URI
-var request = function (uri) {
-  return fetch(uri).then(({ content }) => content);
-}
+  var request = function (uri) {
+    return fetch(uri).then(({ content }) => content);
+  };
 
-var getTestActor = Task.async(function* (client, tab, toolbox) {
+  var getTestActor = Task.async(function* (client, tab, toolbox) {
   // We may have to update the form in order to get the dynamically registered
   // test actor.
-  let form = yield getUpdatedForm(client, tab);
+    let form = yield getUpdatedForm(client, tab);
 
-  let { TestActorFront } = yield loadFront();
+    let { TestActorFront } = yield loadFront();
 
-  return new TestActorFront(client, form, toolbox);
-});
+    return new TestActorFront(client, form, toolbox);
+  });
 
 })(this);
--- a/devtools/client/shared/test/test-actor.js
+++ b/devtools/client/shared/test/test-actor.js
@@ -24,17 +24,17 @@ EventUtils._EU_Ci = Components.interface
 EventUtils._EU_Cc = Components.classes;
 loader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/EventUtils.js", EventUtils);
 
 const protocol = require("devtools/shared/protocol");
 const {Arg, Option, method, RetVal, types} = protocol;
 
 var dumpn = msg => {
   dump(msg + "\n");
-}
+};
 
 /**
  * Get the instance of CanvasFrameAnonymousContentHelper used by a given
  * highlighter actor.
  * The instance provides methods to get/set attributes/text/style on nodes of
  * the highlighter, inserted into the nsCanvasFrame.
  * @see /devtools/server/actors/highlighters.js
  * @param {String} actorID
@@ -44,17 +44,17 @@ function getHighlighterCanvasFrameHelper
   if (actor && actor._highlighter) {
     return actor._highlighter.markup;
   }
 }
 
 var TestActor = exports.TestActor = protocol.ActorClass({
   typeName: "testActor",
 
-  initialize: function(conn, tabActor, options) {
+  initialize: function (conn, tabActor, options) {
     this.conn = conn;
     this.tabActor = tabActor;
   },
 
   get content() {
     return this.tabActor.window;
   },
 
@@ -64,17 +64,17 @@ var TestActor = exports.TestActor = prot
    *   or a selector array. If an array, each item, except the last one
    *   are considered matching an iframe, so that we can query element
    *   within deep iframes.
    */
   _querySelector: function (selector) {
     let document = this.content.document;
     if (Array.isArray(selector)) {
       let fullSelector = selector.join(" >> ");
-      while(selector.length > 1) {
+      while (selector.length > 1) {
         let str = selector.shift();
         let iframe = document.querySelector(str);
         if (!iframe) {
           throw new Error("Unable to find element with selector \"" + str + "\"" +
                           " (full selector:" + fullSelector + ")");
         }
         if (!iframe.contentWindow) {
           throw new Error("Iframe selector doesn't target an iframe \"" + str + "\"" +
@@ -90,17 +90,17 @@ var TestActor = exports.TestActor = prot
     }
     return node;
   },
   /**
    * Helper to get the number of elements matching a selector
    * @param {string} CSS selector.
    */
   getNumberOfElementMatches: protocol.method(function (selector,
-                                                       root=this.content.document) {
+                                                       root = this.content.document) {
     return root.querySelectorAll(selector).length;
   }, {
     request: {
       selector: Arg(0, "string"),
     },
     response: {
       value: RetVal("number")
     }
@@ -303,17 +303,17 @@ var TestActor = exports.TestActor = prot
 
 
   /**
    * Get all box-model regions' adjusted boxquads for the given element
    * @param {String} selector The node selector to target a given element
    * @return {Object} An object with each property being a box-model region, each
    * of them being an object with the p1/p2/p3/p4 properties
    */
-  getAllAdjustedQuads: protocol.method(function(selector) {
+  getAllAdjustedQuads: protocol.method(function (selector) {
     let regions = {};
     let node = this._querySelector(selector);
     for (let boxType of ["content", "padding", "border", "margin"]) {
       regions[boxType] = getAdjustedQuads(this.content, node, boxType);
     }
 
     return regions;
   }, {
@@ -331,17 +331,17 @@ var TestActor = exports.TestActor = prot
    * to know when the event got synthesized.
    * @param {String} selector The node selector to get the node target for the event
    * @param {Number} x
    * @param {Number} y
    * @param {Boolean} center If set to true, x/y will be ignored and
    *                  synthesizeMouseAtCenter will be used instead
    * @param {Object} options Other event options
    */
-  synthesizeMouse: protocol.method(function({ selector, x, y, center, options }) {
+  synthesizeMouse: protocol.method(function ({ selector, x, y, center, options }) {
     let node = this._querySelector(selector);
 
     if (center) {
       EventUtils.synthesizeMouseAtCenter(node, options, node.ownerDocument.defaultView);
     } else {
       EventUtils.synthesizeMouse(node, x, y, options, node.ownerDocument.defaultView);
     }
   }, {
@@ -406,17 +406,17 @@ var TestActor = exports.TestActor = prot
     response: {}
   }),
 
   hasNode: protocol.method(function (selector) {
     try {
       // _querySelector throws if the node doesn't exists
       this._querySelector(selector);
       return true;
-    } catch(e) {
+    } catch (e) {
       return false;
     }
   }, {
     request: {
       selector: Arg(0, "string")
     },
     response: {
       value: RetVal("boolean")
@@ -651,17 +651,17 @@ var TestActor = exports.TestActor = prot
    * - {String} tagName.
    * - {String} namespaceURI.
    * - {Number} numChildren The number of children in the element.
    * - {Array} attributes An array of {name, value, namespaceURI} objects.
    * - {String} outerHTML.
    * - {String} innerHTML.
    * - {String} textContent.
    */
-  getNodeInfo: protocol.method(function(selector) {
+  getNodeInfo: protocol.method(function (selector) {
     let node = this._querySelector(selector);
     let info = null;
 
     if (node) {
       info = {
         tagName: node.tagName,
         namespaceURI: node.namespaceURI,
         numChildren: node.children.length,
@@ -681,72 +681,72 @@ var TestActor = exports.TestActor = prot
     },
     response: {
       value: RetVal("json")
     }
   })
 });
 
 var TestActorFront = exports.TestActorFront = protocol.FrontClass(TestActor, {
-  initialize: function(client, { testActor }, toolbox) {
+  initialize: function (client, { testActor }, toolbox) {
     protocol.Front.prototype.initialize.call(this, client, { actor: testActor });
     this.manage(this);
     this.toolbox = toolbox;
   },
 
   /**
    * Zoom the current page to a given level.
    * @param {Number} level The new zoom level.
    * @return {Promise} The returned promise will only resolve when the
    * highlighter has updated to the new zoom level.
    */
-  zoomPageTo: function(level) {
+  zoomPageTo: function (level) {
     return this.changeZoomLevel(level, this.toolbox.highlighter.actorID);
   },
 
-  changeHighlightedNodeWaitForUpdate: protocol.custom(function(name, value, highlighter) {
+  changeHighlightedNodeWaitForUpdate: protocol.custom(function (name, value, highlighter) {
     return this._changeHighlightedNodeWaitForUpdate(name, value, (highlighter || this.toolbox.highlighter).actorID);
   }, {
     impl: "_changeHighlightedNodeWaitForUpdate"
   }),
 
   /**
    * Get the value of an attribute on one of the highlighter's node.
    * @param {String} nodeID The Id of the node in the highlighter.
    * @param {String} name The name of the attribute.
    * @param {Object} highlighter Optional custom highlither to target
    * @return {String} value
    */
-  getHighlighterNodeAttribute: function(nodeID, name, highlighter) {
+  getHighlighterNodeAttribute: function (nodeID, name, highlighter) {
     return this.getHighlighterAttribute(nodeID, name, (highlighter || this.toolbox.highlighter).actorID);
   },
 
-  getHighlighterNodeTextContent: protocol.custom(function(nodeID, highlighter) {
+  getHighlighterNodeTextContent: protocol.custom(function (nodeID, highlighter) {
     return this._getHighlighterNodeTextContent(nodeID, (highlighter || this.toolbox.highlighter).actorID);
   }, {
     impl: "_getHighlighterNodeTextContent"
   }),
 
   /**
    * Is the highlighter currently visible on the page?
    */
-  isHighlighting: function() {
+  isHighlighting: function () {
     return this.getHighlighterNodeAttribute("box-model-elements", "hidden")
       .then(value => value === null);
   },
 
   /**
    * Assert that the box-model highlighter's current position corresponds to the
    * given node boxquads.
    * @param {String} selector The node selector to get the boxQuads from
    * @param {Function} is assertion function to call for equality checks
    * @param {String} prefix An optional prefix for logging information to the
    * console.
    */
-  isNodeCorrectlyHighlighted: Task.async(function*(selector, is, prefix="") {
+  isNodeCorrectlyHighlighted: Task.async(function* (selector, is, prefix = "") {
     prefix += (prefix ? " " : "") + selector + " ";
 
     let boxModel = yield this._getBoxModelStatus();
     let regions = yield this.getAllAdjustedQuads(selector);
 
     for (let boxType of ["content", "padding", "border", "margin"]) {
       let [quad] = regions[boxType];
       for (let point in boxModel[boxType].points) {
@@ -756,33 +756,33 @@ var TestActorFront = exports.TestActorFr
           prefix + boxType + " point " + point + " y coordinate is correct");
       }
     }
   }),
 
   /**
    * Get the current rect of the border region of the box-model highlighter
    */
-  getSimpleBorderRect: Task.async(function*(toolbox) {
+  getSimpleBorderRect: Task.async(function* (toolbox) {
     let {border} = yield this._getBoxModelStatus(toolbox);
     let {p1, p2, p3, p4} = border.points;
 
     return {
       top: p1.y,
       left: p1.x,
       width: p2.x - p1.x,
       height: p4.y - p1.y
     };
   }),
 
   /**
    * Get the current positions and visibility of the various box-model highlighter
    * elements.
    */
-  _getBoxModelStatus: Task.async(function*() {
+  _getBoxModelStatus: Task.async(function* () {
     let isVisible = yield this.isHighlighting();
 
     let ret = {
       visible: isVisible
     };
 
     for (let region of ["margin", "border", "padding", "content"]) {
       let points = yield this._getPointsForRegion(region);
@@ -797,18 +797,18 @@ var TestActorFront = exports.TestActorFr
 
     return ret;
   }),
 
   assertHighlightedNode: Task.async(function* (selector) {
     // Taken and tweaked from:
     // https://github.com/iominh/point-in-polygon-extended/blob/master/src/index.js#L30-L85
     function isLeft(p0, p1, p2) {
-      let l = ( (p1[0] - p0[0]) * (p2[1] - p0[1]) ) -
-              ( (p2[0] - p0[0]) * (p1[1] - p0[1]) );
+      let l = ((p1[0] - p0[0]) * (p2[1] - p0[1])) -
+              ((p2[0] - p0[0]) * (p1[1] - p0[1]));
       return l;
     }
     function isInside(point, polygon) {
       if (polygon.length === 0) {
         return false;
       }
 
       var n = polygon.length;
@@ -845,17 +845,17 @@ var TestActorFront = exports.TestActorFr
     if (visible) {
       // Check that the node is within the box model
       let { left, top, width, height } = yield this.getNodeRect(selector);
       let right = left + width;
       let bottom = top + height;
 
       // Converts points dictionnary into an array
       let list = [];
-      for(var i = 1; i <= 4; i++) {
+      for (var i = 1; i <= 4; i++) {
         let p = points["p" + i];
         list.push([p.x, p.y]);
       }
       points = list;
 
       // Check that each point of the node is within the box model
       if (!isInside([left, top], points) ||
           !isInside([right, top], points) ||
@@ -868,26 +868,26 @@ var TestActorFront = exports.TestActorFr
       return false;
     }
   }),
 
   /**
    * Get the coordinate (points attribute) from one of the polygon elements in the
    * box model highlighter.
    */
-  _getPointsForRegion: Task.async(function*(region) {
+  _getPointsForRegion: Task.async(function* (region) {
     let d = yield this.getHighlighterNodeAttribute("box-model-" + region, "d");
 
     let polygons = d.match(/M[^M]+/g);
     if (!polygons) {
       return null;
     }
 
     let points = polygons[0].trim().split(" ").map(i => {
-      return i.replace(/M|L/, "").split(",")
+      return i.replace(/M|L/, "").split(",");
     });
 
     return {
       p1: {
         x: parseFloat(points[0][0]),
         y: parseFloat(points[0][1])
       },
       p2: {
@@ -904,22 +904,22 @@ var TestActorFront = exports.TestActorFr
       }
     };
   }),
 
   /**
    * Is a given region polygon element of the box-model highlighter currently
    * hidden?
    */
-  _isRegionHidden: Task.async(function*(region) {
+  _isRegionHidden: Task.async(function* (region) {
     let value = yield this.getHighlighterNodeAttribute("box-model-" + region, "hidden");
     return value !== null;
   }),
 
-  _getGuideStatus: Task.async(function*(location) {
+  _getGuideStatus: Task.async(function* (location) {
     let id = "box-model-guide-" + location;
 
     let hidden = yield this.getHighlighterNodeAttribute(id, "hidden");
     let x1 = yield this.getHighlighterNodeAttribute(id, "x1");
     let y1 = yield this.getHighlighterNodeAttribute(id, "y1");
     let x2 = yield this.getHighlighterNodeAttribute(id, "x2");
     let y2 = yield this.getHighlighterNodeAttribute(id, "y2");
 
@@ -933,17 +933,17 @@ var TestActorFront = exports.TestActorFr
   }),
 
   /**
    * Get the coordinates of the rectangle that is defined by the 4 guides displayed
    * in the toolbox box-model highlighter.
    * @return {Object} Null if at least one guide is hidden. Otherwise an object
    * with p1, p2, p3, p4 properties being {x, y} objects.
    */
-  getGuidesRectangle: Task.async(function*() {
+  getGuidesRectangle: Task.async(function* () {
     let tGuide = yield this._getGuideStatus("top");
     let rGuide = yield this._getGuideStatus("right");
     let bGuide = yield this._getGuideStatus("bottom");
     let lGuide = yield this._getGuideStatus("left");
 
     if (!tGuide.visible || !rGuide.visible || !bGuide.visible || !lGuide.visible) {
       return null;
     }
@@ -951,45 +951,45 @@ var TestActorFront = exports.TestActorFr
     return {
       p1: {x: lGuide.x1, y: tGuide.y1},
       p2: {x: rGuide.x1, y: tGuide. y1},
       p3: {x: rGuide.x1, y: bGuide.y1},
       p4: {x: lGuide.x1, y: bGuide.y1}
     };
   }),
 
-  waitForHighlighterEvent: protocol.custom(function(event) {
+  waitForHighlighterEvent: protocol.custom(function (event) {
     return this._waitForHighlighterEvent(event, this.toolbox.highlighter.actorID);
   }, {
     impl: "_waitForHighlighterEvent"
   }),
 
   /**
    * Get the "d" attribute value for one of the box-model highlighter's region
    * <path> elements, and parse it to a list of points.
    * @param {String} region The box model region name.
    * @param {Front} highlighter The front of the highlighter.
    * @return {Object} The object returned has the following form:
    * - d {String} the d attribute value
    * - points {Array} an array of all the polygons defined by the path. Each box
    *   is itself an Array of points, themselves being [x,y] coordinates arrays.
    */
-  getHighlighterRegionPath: Task.async(function*(region, highlighter) {
+  getHighlighterRegionPath: Task.async(function* (region, highlighter) {
     let d = yield this.getHighlighterNodeAttribute("box-model-" + region, "d", highlighter);
     if (!d) {
       return {d: null};
     }
 
     let polygons = d.match(/M[^M]+/g);
     if (!polygons) {
       return {d};
     }
 
     let points = [];
     for (let polygon of polygons) {
       points.push(polygon.trim().split(" ").map(i => {
-        return i.replace(/M|L/, "").split(",")
+        return i.replace(/M|L/, "").split(",");
       }));
     }
 
     return {d, points};
   })
 });
--- a/devtools/client/shared/test/unit/test_VariablesView_getString_promise.js
+++ b/devtools/client/shared/test/unit/test_VariablesView_getString_promise.js
@@ -59,16 +59,16 @@ const REJECTED = {
     "ownProperties": {},
     "ownPropertiesLength": 0,
     "safeGetterValues": {}
   }
 };
 
 function run_test() {
   equal(VariablesView.getString(PENDING, { concise: true }), "Promise");
-  equal(VariablesView.getString(PENDING),                    'Promise {<state>: "pending"}');
+  equal(VariablesView.getString(PENDING), 'Promise {<state>: "pending"}');
 
   equal(VariablesView.getString(FULFILLED, { concise: true }), "Promise");
-  equal(VariablesView.getString(FULFILLED),                    'Promise {<state>: "fulfilled", <value>: 10}');
+  equal(VariablesView.getString(FULFILLED), 'Promise {<state>: "fulfilled", <value>: 10}');
 
   equal(VariablesView.getString(REJECTED, { concise: true }), "Promise");
-  equal(VariablesView.getString(REJECTED),                    'Promise {<state>: "rejected", <reason>: 10}');
+  equal(VariablesView.getString(REJECTED), 'Promise {<state>: "rejected", <reason>: 10}');
 }
--- a/devtools/client/shared/test/unit/test_attribute-parsing-01.js
+++ b/devtools/client/shared/test/unit/test_attribute-parsing-01.js
@@ -56,17 +56,17 @@ const TEST_DATA = [{
 function run_test() {
   for (let {value, splitChar, expected} of TEST_DATA) {
     do_print("Splitting string: " + value);
     let tokens = splitBy(value, splitChar);
 
     do_print("Checking that the number of parsed tokens is correct");
     do_check_eq(tokens.length, expected.length);
 
-    for (let i = 0; i < tokens.length; i ++) {
+    for (let i = 0; i < tokens.length; i++) {
       do_print("Checking the data in token " + i);
       do_check_eq(tokens[i].value, expected[i].value);
       if (expected[i].type) {
         do_check_eq(tokens[i].type, expected[i].type);
       }
     }
   }
 }
--- a/devtools/client/shared/test/unit/test_attribute-parsing-02.js
+++ b/devtools/client/shared/test/unit/test_attribute-parsing-02.js
@@ -106,25 +106,25 @@ const TEST_DATA = [{
   ]
 }];
 
 function run_test() {
   for (let {tagName, namespaceURI, attributeName,
             otherAttributes, attributeValue, expected} of TEST_DATA) {
     do_print("Testing <" + tagName + " " + attributeName + "='" + attributeValue + "'>");
 
-    let attributes = [...otherAttributes||[], {name: attributeName, value: attributeValue}];
+    let attributes = [...otherAttributes || [], {name: attributeName, value: attributeValue}];
     let tokens = parseAttribute(namespaceURI, tagName, attributes, attributeName);
     if (!expected) {
       do_check_true(!tokens);
       continue;
     }
 
     do_print("Checking that the number of parsed tokens is correct");
     do_check_eq(tokens.length, expected.length);
 
-    for (let i = 0; i < tokens.length; i ++) {
+    for (let i = 0; i < tokens.length; i++) {
       do_print("Checking the data in token " + i);
       do_check_eq(tokens[i].value, expected[i].value);
       do_check_eq(tokens[i].type, expected[i].type);
     }
   }
 }
--- a/devtools/client/shared/test/unit/test_bezierCanvas.js
+++ b/devtools/client/shared/test/unit/test_bezierCanvas.js
@@ -81,22 +81,22 @@ function plotsCanvas() {
   let b = new BezierCanvas(getCanvasMock(), getCubicBezier(), [.25, 0]);
   b.ctx.bezierCurveTo = () => hasDrawnCurve = true;
   b.plot();
 
   do_check_true(hasDrawnCurve);
 }
 
 function getCubicBezier() {
-  return new CubicBezier([0,0,1,1]);
+  return new CubicBezier([0, 0, 1, 1]);
 }
 
-function getCanvasMock(w=200, h=400) {
+function getCanvasMock(w = 200, h = 400) {
   return {
-    getContext: function() {
+    getContext: function () {
       return {
         scale: () => {},
         translate: () => {},
         clearRect: () => {},
         beginPath: () => {},
         closePath: () => {},
         moveTo: () => {},
         lineTo: () => {},
--- a/devtools/client/shared/test/unit/test_cubicBezier.js
+++ b/devtools/client/shared/test/unit/test_cubicBezier.js
@@ -29,17 +29,17 @@ function throwsWhenMissingCoordinates() 
 }
 
 function throwsWhenIncorrectCoordinates() {
   do_check_throws(() => {
     new CubicBezier([]);
   }, "Throws an exception when coordinates are incorrect (empty array)");
 
   do_check_throws(() => {
-    new CubicBezier([0,0]);
+    new CubicBezier([0, 0]);
   }, "Throws an exception when coordinates are incorrect (incomplete array)");
 
   do_check_throws(() => {
     new CubicBezier(["a", "b", "c", "d"]);
   }, "Throws an exception when coordinates are incorrect (invalid type)");
 
   do_check_throws(() => {
     new CubicBezier([1.5, 0, 1.5, 0]);
@@ -120,20 +120,20 @@ function testParseTimingFunction() {
   ok(!_parseTimingFunction("cubic-bezier(something)",
                            "cubic-bezier with non-numeric argument"));
   ok(!_parseTimingFunction("cubic-bezier(1,2,3:7)",
                            "did not see comma"));
   ok(!_parseTimingFunction("cubic-bezier(1,2,3,7:",
                            "did not see close paren"));
   ok(!_parseTimingFunction("cubic-bezier(1,2", "early EOF after number"));
   ok(!_parseTimingFunction("cubic-bezier(1,2,", "early EOF after comma"));
-  deepEqual(_parseTimingFunction("cubic-bezier(1,2,3,7)"), [1,2,3,7],
+  deepEqual(_parseTimingFunction("cubic-bezier(1,2,3,7)"), [1, 2, 3, 7],
             "correct invocation");
   deepEqual(_parseTimingFunction("cubic-bezier(1,  /* */ 2,3,   7  )"),
-            [1,2,3,7],
+            [1, 2, 3, 7],
             "correct with comments and whitespace");
 }
 
 function do_check_throws(cb, info) {
   do_print(info);
 
   let hasThrown = false;
   try {
--- a/devtools/client/shared/test/unit/test_undoStack.js
+++ b/devtools/client/shared/test/unit/test_undoStack.js
@@ -8,31 +8,31 @@ var {Loader} = Cu.import("resource://gre
 
 var loader = new Loader.Loader({
   paths: {
     "": "resource://gre/modules/commonjs/",
     "devtools": "resource://devtools",
   },
   globals: {},
 });
-var require = Loader.Require(loader, { id: "undo-test" })
+var require = Loader.Require(loader, { id: "undo-test" });
 
 var {UndoStack} = require("devtools/client/shared/undo");
 
 const MAX_SIZE = 5;
 
 function run_test()
 {
   let str = "";
   let stack = new UndoStack(MAX_SIZE);
 
   function add(ch) {
-    stack.do(function() {
+    stack.do(function () {
       str += ch;
-    }, function() {
+    }, function () {
       str = str.slice(0, -1);
     });
   }
 
   do_check_false(stack.canUndo());
   do_check_false(stack.canRedo());
 
   // Check adding up to the limit of the size
@@ -49,17 +49,17 @@ function run_test()
 
   // Check a simple undo+redo
   stack.undo();
 
   do_check_eq(str, "abcd");
   do_check_true(stack.canRedo());
 
   stack.redo();
-  do_check_eq(str, "abcde")
+  do_check_eq(str, "abcde");
   do_check_false(stack.canRedo());
 
   // Check an undo followed by a new action
   stack.undo();
   do_check_eq(str, "abcd");
 
   add("q");
   do_check_eq(str, "abcdq");
--- a/devtools/client/shared/theme-switching.js
+++ b/devtools/client/shared/theme-switching.js
@@ -1,13 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-(function() {
+(function () {
   const SCROLLBARS_URL = "chrome://devtools/skin/floating-scrollbars-dark-theme.css";
   let documentElement = document.documentElement;
 
   let os;
   let platform = navigator.platform;
   if (platform.startsWith("Win")) {
     os = "win";
   } else if (platform.startsWith("Mac")) {
@@ -95,17 +95,17 @@
     // Store the sheets in a WeakMap for access later when the theme gets
     // unapplied.  It's hard to query for processing instructions so this
     // is an easy way to access them later without storing a property on
     // the window
     devtoolsStyleSheets.set(newThemeDef, []);
 
     let loadEvents = [];
     for (let url of newThemeDef.stylesheets) {
-      let {styleSheet,loadPromise} = appendStyleSheet(url);
+      let {styleSheet, loadPromise} = appendStyleSheet(url);
       devtoolsStyleSheets.get(newThemeDef).push(styleSheet);
       loadEvents.push(loadPromise);
     }
 
     // Floating scroll-bars like in OSX
     let hiddenDOMWindow = Cc["@mozilla.org/appshell/appShellService;1"]
                  .getService(Ci.nsIAppShellService)
                  .hiddenDOMWindow;
@@ -165,15 +165,15 @@
   const { watchCSS } = require("devtools/client/shared/css-reload");
 
   if (documentElement.hasAttribute("force-theme")) {
     switchTheme(documentElement.getAttribute("force-theme"));
   } else {
     switchTheme(Services.prefs.getCharPref("devtools.theme"));
 
     gDevTools.on("pref-changed", handlePrefChange);
-    window.addEventListener("unload", function() {
+    window.addEventListener("unload", function () {
       gDevTools.off("pref-changed", handlePrefChange);
     });
   }
 
   watchCSS(window);
 })();
--- a/devtools/client/shared/theme.js
+++ b/devtools/client/shared/theme.js
@@ -13,40 +13,40 @@ const { Ci, Cu } = require("chrome");
 const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 const Services = require("Services");
 const { gDevTools } = require("devtools/client/framework/devtools");
 
 const VARIABLES_URI = "chrome://devtools/skin/variables.css";
 const THEME_SELECTOR_STRINGS = {
   light: ":root.theme-light {",
   dark: ":root.theme-dark {"
-}
+};
 
 let variableFileContents;
 
 /**
  * Returns a string of the file found at URI
  */
-function readURI (uri) {
+function readURI(uri) {
   let stream = NetUtil.newChannel({
     uri: NetUtil.newURI(uri, "UTF-8"),
     loadUsingSystemPrincipal: true}
   ).open();
 
   let count = stream.available();
   let data = NetUtil.readInputStreamToString(stream, count, { charset: "UTF-8" });
   stream.close();
   return data;
 }
 
 /**
  * Takes a theme name and returns the contents of its variable rule block.
  * The first time this runs fetches the variables CSS file and caches it.
  */
-function getThemeFile (name) {
+function getThemeFile(name) {
   if (!variableFileContents) {
     variableFileContents = readURI(VARIABLES_URI);
   }
 
   // If there's no theme expected for this name, use `light` as default.
   let selector = THEME_SELECTOR_STRINGS[name] ||
                  THEME_SELECTOR_STRINGS["light"];
 
--- a/devtools/client/shared/undo.js
+++ b/devtools/client/shared/undo.js
@@ -67,22 +67,22 @@ UndoStack.prototype = {
     // Cut off the end of the undo stack at the current index,
     // and the beginning to prevent a stack larger than maxUndo.
     let start = Math.max((this._index + 1) - this.maxUndo, 0);
     this._stack = this._stack.slice(start, this._index);
 
     let batch = this._batch;
     delete this._batch;
     let entry = {
-      do: function() {
+      do: function () {
         for (let item of batch) {
           item.do();
         }
       },
-      undo: function() {
+      undo: function () {
         for (let i = batch.length - 1; i >= 0; i--) {
           batch[i].undo();
         }
       }
     };
     this._stack.push(entry);
     this._index = this._stack.length;
     entry.do();
@@ -182,25 +182,25 @@ UndoStack.prototype = {
   supportsCommand: function Undo_supportsCommand(aCommand)
   {
     return (aCommand == "cmd_undo" ||
             aCommand == "cmd_redo");
   },
 
   isCommandEnabled: function Undo_isCommandEnabled(aCommand)
   {
-    switch(aCommand) {
+    switch (aCommand) {
       case "cmd_undo": return this.canUndo();
       case "cmd_redo": return this.canRedo();
-    };
+    }
     return false;
   },
 
   doCommand: function Undo_doCommand(aCommand)
   {
-    switch(aCommand) {
+    switch (aCommand) {
       case "cmd_undo": return this.undo();
       case "cmd_redo": return this.redo();
     }
   },
 
   onEvent: function Undo_onEvent(aEvent) {},
-}
+};
--- a/devtools/client/shared/view-source.js
+++ b/devtools/client/shared/view-source.js
@@ -18,17 +18,17 @@ var DevToolsUtils = require("devtools/sh
  * View Source is the fallback.
  *
  * @param {Toolbox} toolbox
  * @param {string} sourceURL
  * @param {number} sourceLine
  *
  * @return {Promise<boolean>}
  */
-exports.viewSourceInStyleEditor = Task.async(function *(toolbox, sourceURL, sourceLine) {
+exports.viewSourceInStyleEditor = Task.async(function* (toolbox, sourceURL, sourceLine) {
   let panel = yield toolbox.loadTool("styleeditor");
 
   try {
     yield panel.selectStyleSheet(sourceURL, sourceLine);
     yield toolbox.selectTool("styleeditor");
     return true;
   } catch (e) {
     exports.viewSource(toolbox, sourceURL, sourceLine);
@@ -44,17 +44,17 @@ exports.viewSourceInStyleEditor = Task.a
  * View Source is the fallback.
  *
  * @param {Toolbox} toolbox
  * @param {string} sourceURL
  * @param {number} sourceLine
  *
  * @return {Promise<boolean>}
  */
-exports.viewSourceInDebugger = Task.async(function *(toolbox, sourceURL, sourceLine) {
+exports.viewSourceInDebugger = Task.async(function* (toolbox, sourceURL, sourceLine) {
   // If the Debugger was already open, switch to it and try to show the
   // source immediately. Otherwise, initialize it and wait for the sources
   // to be added first.
   let debuggerAlreadyOpen = toolbox.getPanel("jsdebugger");
   let { panelWin: dbg } = yield toolbox.loadTool("jsdebugger");
 
   if (!debuggerAlreadyOpen) {
     yield dbg.DebuggerController.waitForSourcesLoaded();
@@ -82,17 +82,17 @@ exports.viewSourceInDebugger = Task.asyn
 /**
  * Tries to open a JavaScript file in the corresponding Scratchpad.
  *
  * @param {string} sourceURL
  * @param {number} sourceLine
  *
  * @return {Promise}
  */
-exports.viewSourceInScratchpad = Task.async(function *(sourceURL, sourceLine) {
+exports.viewSourceInScratchpad = Task.async(function* (sourceURL, sourceLine) {
   // Check for matching top level scratchpad window.
   let wins = Services.wm.getEnumerator("devtools:scratchpad");
 
   while (wins.hasMoreElements()) {
     let win = wins.getNext();
 
     if (!win.closed && win.Scratchpad.uniqueName === sourceURL) {
       win.focus();
@@ -121,17 +121,17 @@ exports.viewSourceInScratchpad = Task.as
  * Open a link in Firefox's View Source.
  *
  * @param {Toolbox} toolbox
  * @param {string} sourceURL
  * @param {number} sourceLine
  *
  * @return {Promise}
  */
-exports.viewSource = Task.async(function *(toolbox, sourceURL, sourceLine) {
+exports.viewSource = Task.async(function* (toolbox, sourceURL, sourceLine) {
   // Attempt to access view source via a browser first, which may display it in
   // a tab, if enabled.
   let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
   if (browserWin) {
     return browserWin.BrowserViewSourceOfDocument({
       URL: sourceURL,
       lineNumber: sourceLine
     });
--- a/devtools/client/shared/webgl-utils.js
+++ b/devtools/client/shared/webgl-utils.js
@@ -20,29 +20,29 @@ function isWebGLSupportedByGFX()
   try {
     let gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo);
     let angle = gfxInfo.FEATURE_WEBGL_ANGLE;
     let opengl = gfxInfo.FEATURE_WEBGL_OPENGL;
 
     // if either the Angle or OpenGL renderers are available, WebGL should work
     supported = gfxInfo.getFeatureStatus(angle) === gfxInfo.FEATURE_STATUS_OK ||
                 gfxInfo.getFeatureStatus(opengl) === gfxInfo.FEATURE_STATUS_OK;
-  } catch(e) {
+  } catch (e) {
     return false;
   }
   return supported;
 }
 
 function create3DContext(aCanvas)
 {
   // try to get a valid context from an existing canvas
   let context = null;
   try {
     context = aCanvas.getContext(WEBGL_CONTEXT_NAME, aFlags);
-  } catch(e) {
+  } catch (e) {
     return null;
   }
   return context;
 }
 
 function createCanvas(doc) {
   return doc.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
 }
--- a/devtools/client/shared/widgets/AbstractTreeItem.jsm
+++ b/devtools/client/shared/widgets/AbstractTreeItem.jsm
@@ -149,30 +149,30 @@ AbstractTreeItem.prototype = {
    * Creates the view for this tree item. Implement this method in the
    * inheriting classes to create the child node displayed in the tree.
    * Use `this.level` and the provided `arrowNode` as you see fit.
    *
    * @param nsIDOMNode document
    * @param nsIDOMNode arrowNode
    * @return nsIDOMNode
    */
-  _displaySelf: function(document, arrowNode) {
+  _displaySelf: function (document, arrowNode) {
     throw new Error(
       "The `_displaySelf` method needs to be implemented by inheriting classes.");
   },
 
   /**
    * Populates this tree item with child items, whenever it's expanded.
    * Implement this method in the inheriting classes to fill the provided
    * `children` array with AbstractTreeItem instances, which will then be
    * magically handled by this tree item.
    *
    * @param array:AbstractTreeItem children
    */
-  _populateSelf: function(children) {
+  _populateSelf: function (children) {
     throw new Error(
       "The `_populateSelf` method needs to be implemented by inheriting classes.");
   },
 
   /**
    * Gets the this tree's owner document.
    * @return Document
    */
@@ -252,17 +252,17 @@ AbstractTreeItem.prototype = {
    * @param nsIDOMNode containerNode
    *        The parent element for this tree item (and every other tree item).
    * @param nsIDOMNode fragmentNode [optional]
    *        An optional document fragment temporarily holding this tree item in
    *        the current batch. Defaults to the `containerNode`.
    * @param nsIDOMNode beforeNode [optional]
    *        An optional child element which should succeed this tree item.
    */
-  attachTo: function(containerNode, fragmentNode = containerNode, beforeNode = null) {
+  attachTo: function (containerNode, fragmentNode = containerNode, beforeNode = null) {
     this._containerNode = containerNode;
     this._constructTargetNode();
 
     if (beforeNode) {
       fragmentNode.insertBefore(this._targetNode, beforeNode);
     } else {
       fragmentNode.appendChild(this._targetNode);
     }
@@ -271,178 +271,178 @@ AbstractTreeItem.prototype = {
       this.expand();
     }
   },
 
   /**
    * Permanently removes this tree item (and all subsequent children) from the
    * parent container.
    */
-  remove: function() {
+  remove: function () {
     this._targetNode.remove();
     this._hideChildren();
     this._childTreeItems.length = 0;
   },
 
   /**
    * Focuses this item in the tree.
    */
-  focus: function() {
+  focus: function () {
     this._targetNode.focus();
   },
 
   /**
    * Expands this item in the tree.
    */
-  expand: function() {
+  expand: function () {
     if (this._expanded) {
       return;
     }
     this._expanded = true;
     this._arrowNode.setAttribute("open", "");
     this._targetNode.setAttribute("expanded", "");
     this._toggleChildren(true);
     this._rootItem.emit("expand", this);
   },
 
   /**
    * Collapses this item in the tree.
    */
-  collapse: function() {
+  collapse: function () {
     if (!this._expanded) {
       return;
     }
     this._expanded = false;
     this._arrowNode.removeAttribute("open");
     this._targetNode.removeAttribute("expanded", "");
     this._toggleChildren(false);
     this._rootItem.emit("collapse", this);
   },
 
   /**
    * Returns the child item at the specified index.
    *
    * @param number index
    * @return AbstractTreeItem
    */
-  getChild: function(index = 0) {
+  getChild: function (index = 0) {
     return this._childTreeItems[index];
   },
 
   /**
    * Calls the provided function on all the descendants of this item.
    * If this item was never expanded, then no descendents exist yet.
    * @param function cb
    */
-  traverse: function(cb) {
+  traverse: function (cb) {
     for (let child of this._childTreeItems) {
       cb(child);
       child.bfs();
     }
   },
 
   /**
    * Calls the provided function on all descendants of this item until
    * a truthy value is returned by the predicate.
    * @param function predicate
    * @return AbstractTreeItem
    */
-  find: function(predicate) {
+  find: function (predicate) {
     for (let child of this._childTreeItems) {
       if (predicate(child) || child.find(predicate)) {
         return child;
       }
     }
     return null;
   },
 
   /**
    * Shows or hides all the children of this item in the tree. If neessary,
    * populates this item with children.
    *
    * @param boolean visible
    *        True if the children should be visible, false otherwise.
    */
-  _toggleChildren: function(visible) {
+  _toggleChildren: function (visible) {
     if (visible) {
       if (!this._populated) {
         this._populateSelf(this._childTreeItems);
         this._populated = this._childTreeItems.length > 0;
       }
       this._showChildren();
     } else {
       this._hideChildren();
     }
   },
 
   /**
    * Shows all children of this item in the tree.
    */
-  _showChildren: function() {
+  _showChildren: function () {
     // If this is the root item and we're not expanding any child nodes,
     // it is safe to append everything at once.
     if (this == this._rootItem && this.autoExpandDepth == 0) {
       this._appendChildrenBatch();
     }
     // Otherwise, append the child items and their descendants successively;
     // if not, the tree will become garbled and nodes will intertwine,
     // since all the tree items are sharing a single container node.
     else {
       this._appendChildrenSuccessive();
     }
   },
 
   /**
    * Hides all children of this item in the tree.
    */
-  _hideChildren: function() {
+  _hideChildren: function () {
     for (let item of this._childTreeItems) {
       item._targetNode.remove();
       item._hideChildren();
     }
   },
 
   /**
    * Appends all children in a single batch.
    * This only works properly for root nodes when no child nodes will expand.
    */
-  _appendChildrenBatch: function() {
+  _appendChildrenBatch: function () {
     if (this._fragment === undefined) {
       this._fragment = this.document.createDocumentFragment();
     }
 
     let childTreeItems = this._childTreeItems;
 
     for (let i = 0, len = childTreeItems.length; i < len; i++) {
       childTreeItems[i].attachTo(this._containerNode, this._fragment);
     }
 
     this._containerNode.appendChild(this._fragment);
   },
 
   /**
    * Appends all children successively.
    */
-  _appendChildrenSuccessive: function() {
+  _appendChildrenSuccessive: function () {
     let childTreeItems = this._childTreeItems;
     let expandedChildTreeItems = childTreeItems.filter(e => e._expanded);
     let nextNode = this._getSiblingAtDelta(1);
 
     for (let i = 0, len = childTreeItems.length; i < len; i++) {
       childTreeItems[i].attachTo(this._containerNode, undefined, nextNode);
     }
     for (let i = 0, len = expandedChildTreeItems.length; i < len; i++) {
       expandedChildTreeItems[i]._showChildren();
     }
   },
 
   /**
    * Constructs and stores the target node displaying this tree item.
    */
-  _constructTargetNode: function() {
+  _constructTargetNode: function () {
     if (this._constructed) {
       return;
     }
     this._onArrowClick = this._onArrowClick.bind(this);
     this._onClick = this._onClick.bind(this);
     this._onDoubleClick = this._onDoubleClick.bind(this);
     this._onKeyPress = this._onKeyPress.bind(this);
     this._onFocus = this._onFocus.bind(this);
@@ -470,84 +470,84 @@ AbstractTreeItem.prototype = {
    * Gets the element displaying an item in the tree at the specified offset
    * relative to this item.
    *
    * @param number delta
    *        The offset from this item to the target item.
    * @return nsIDOMNode
    *         The element displaying the target item at the specified offset.
    */
-  _getSiblingAtDelta: function(delta) {
+  _getSiblingAtDelta: function (delta) {
     let childNodes = this._containerNode.childNodes;
     let indexOfSelf = Array.indexOf(childNodes, this._targetNode);
     return childNodes[indexOfSelf + delta];
   },
 
   /**
    * Focuses the next item in this tree.
    */
-  _focusNextNode: function() {
+  _focusNextNode: function () {
     let nextElement = this._getSiblingAtDelta(1);
     if (nextElement) nextElement.focus(); // nsIDOMNode
   },
 
   /**
    * Focuses the previous item in this tree.
    */
-  _focusPrevNode: function() {
+  _focusPrevNode: function () {
     let prevElement = this._getSiblingAtDelta(-1);
     if (prevElement) prevElement.focus(); // nsIDOMNode
   },
 
   /**
    * Focuses the parent item in this tree.
    *
    * The parent item is not always the previous item, because any tree item
    * may have multiple children.
    */
-  _focusParentNode: function() {
+  _focusParentNode: function () {
     let parentItem = this._parentItem;
     if (parentItem) parentItem.focus(); // AbstractTreeItem
   },
 
   /**
    * Handler for the "click" event on the arrow node of this tree item.
    */
-  _onArrowClick: function(e) {
+  _onArrowClick: function (e) {
     if (!this._expanded) {
       this.expand();
     } else {
       this.collapse();
     }
   },
 
   /**
    * Handler for the "click" event on the element displaying this tree item.
    */
-  _onClick: function(e) {
+  _onClick: function (e) {
     e.stopPropagation();
     this.focus();
   },
 
   /**
    * Handler for the "dblclick" event on the element displaying this tree item.
    */
-  _onDoubleClick: function(e) {
+  _onDoubleClick: function (e) {
     // Ignore dblclick on the arrow as it has already recived and handled two
     // click events.
     if (!e.target.classList.contains("arrow")) {
       this._onArrowClick(e);
     }
     this.focus();
   },
 
   /**
    * Handler for the "keypress" event on the element displaying this tree item.
    */
-  _onKeyPress: function(e) {
+  _onKeyPress: function (e) {
     // Prevent scrolling when pressing navigation keys.
     ViewHelpers.preventScrolling(e);
 
     switch (e.keyCode) {
       case e.DOM_VK_UP:
         this._focusPrevNode();
         return;
 
@@ -571,19 +571,19 @@ AbstractTreeItem.prototype = {
         }
         return;
     }
   },
 
   /**
    * Handler for the "focus" event on the element displaying this tree item.
    */
-  _onFocus: function(e) {
+  _onFocus: function (e) {
     this._rootItem.emit("focus", this);
   },
 
   /**
    * Handler for the "blur" event on the element displaying this tree item.
    */
-  _onBlur: function(e) {
+  _onBlur: function (e) {
     this._rootItem.emit("blur", this);
   }
 };
--- a/devtools/client/shared/widgets/BarGraphWidget.js
+++ b/devtools/client/shared/widgets/BarGraphWidget.js
@@ -59,17 +59,17 @@ const GRAPH_LEGEND_MOUSEOVER_DEBOUNCE = 
  *     { delta: xm, values: [ym1, ym2, ... ymn] }
  *   ]
  * where each item in the array represents a "bar", for which every value
  * represents a "block" inside that "bar", plotted at the "delta" position.
  *
  * @param nsIDOMNode parent
  *        The parent node holding the graph.
  */
-this.BarGraphWidget = function(parent, ...args) {
+this.BarGraphWidget = function (parent, ...args) {
   AbstractCanvasGraph.apply(this, [parent, "bar-graph", ...args]);
 
   this.once("ready", () => {
     this._onLegendMouseOver = this._onLegendMouseOver.bind(this);
     this._onLegendMouseOut = this._onLegendMouseOut.bind(this);
     this._onLegendMouseDown = this._onLegendMouseDown.bind(this);
     this._onLegendMouseUp = this._onLegendMouseUp.bind(this);
     this._createLegend();
@@ -119,17 +119,17 @@ BarGraphWidget.prototype = Heritage.exte
    * This scalar specifies the required minimum height of each block.
    */
   minBlocksHeight: GRAPH_MIN_BLOCKS_HEIGHT,
 
   /**
    * Renders the graph's background.
    * @see AbstractCanvasGraph.prototype.buildBackgroundImage
    */
-  buildBackgroundImage: function() {
+  buildBackgroundImage: function () {
     let { canvas, ctx } = this._getNamedCanvas("bar-graph-background");
     let width = this._width;
     let height = this._height;
 
     let gradient = ctx.createLinearGradient(0, 0, 0, height);
     gradient.addColorStop(0, GRAPH_BACKGROUND_GRADIENT_START);
     gradient.addColorStop(1, GRAPH_BACKGROUND_GRADIENT_END);
     ctx.fillStyle = gradient;
@@ -137,17 +137,17 @@ BarGraphWidget.prototype = Heritage.exte
 
     return canvas;
   },
 
   /**
    * Renders the graph's data source.
    * @see AbstractCanvasGraph.prototype.buildGraphImage
    */
-  buildGraphImage: function() {
+  buildGraphImage: function () {
     if (!this.format || !this.format.length) {
       throw "The graph format traits are mandatory to style the data source.";
     }
     let { canvas, ctx } = this._getNamedCanvas("bar-graph-data");
     let width = this._width;
     let height = this._height;
 
     let totalTypes = this.format.length;
@@ -255,17 +255,17 @@ BarGraphWidget.prototype = Heritage.exte
    *        in the list may also specify { top, bottom } pixel values if the
    *        highlighting shouldn't span across the full height of the graph.
    * @param boolean inPixels
    *        Set this to true if the { start, end } values in the highlights
    *        list are pixel values, and not values from the data source.
    * @param function unpack [optional]
    *        @see AbstractCanvasGraph.prototype.getMappedSelection
    */
-  buildMaskImage: function(highlights, inPixels = false, unpack = e => e.delta) {
+  buildMaskImage: function (highlights, inPixels = false, unpack = e => e.delta) {
     // A null `highlights` array is used to clear the mask. An empty array
     // will mask the entire graph.
     if (!highlights) {
       return null;
     }
 
     // Get a render target for the highlights. It will be overlaid on top of
     // the existing graph, masking the areas that aren't highlighted.
@@ -319,17 +319,17 @@ BarGraphWidget.prototype = Heritage.exte
    * in this graph.
    *
    * Bars that are too close too each other in the graph will be combined.
    * @see `minBarsWidth`
    *
    * @return number
    *         The tallest bar height in this graph.
    */
-  _calcMaxHeight: function({ data, dataScaleX, minBarsWidth }) {
+  _calcMaxHeight: function ({ data, dataScaleX, minBarsWidth }) {
     let maxHeight = 0;
     let prevRight = 0;
     let skippedCount = 0;
     let skippedHeight = 0;
     let scaledMarginEnd = GRAPH_BARS_MARGIN_END * this._pixelRatio;
 
     for (let { delta, values } of data) {
       let barRight = (delta - this.dataOffsetX) * dataScaleX;
@@ -351,26 +351,26 @@ BarGraphWidget.prototype = Heritage.exte
     }
 
     return maxHeight;
   },
 
   /**
    * Creates the legend container when constructing this graph.
    */
-  _createLegend: function() {
+  _createLegend: function () {
     let legendNode = this._legendNode = this._document.createElementNS(HTML_NS, "div");
     legendNode.className = "bar-graph-widget-legend";
     this._container.appendChild(legendNode);
   },
 
   /**
    * Creates a legend item when constructing this graph.
    */
-  _createLegendItem: function(color, label) {
+  _createLegendItem: function (color, label) {
     let itemNode = this._document.createElementNS(HTML_NS, "div");
     itemNode.className = "bar-graph-widget-legend-item";
 
     let colorNode = this._document.createElementNS(HTML_NS, "span");
     colorNode.setAttribute("view", "color");
     colorNode.setAttribute("data-index", this._legendNode.childNodes.length);
     colorNode.style.backgroundColor = color;
     colorNode.addEventListener("mouseover", this._onLegendMouseOver);
@@ -385,48 +385,48 @@ BarGraphWidget.prototype = Heritage.exte
     itemNode.appendChild(colorNode);
     itemNode.appendChild(labelNode);
     this._legendNode.appendChild(itemNode);
   },
 
   /**
    * Invoked whenever a color node in the legend is hovered.
    */
-  _onLegendMouseOver: function(e) {
+  _onLegendMouseOver: function (e) {
     setNamedTimeout("bar-graph-debounce", GRAPH_LEGEND_MOUSEOVER_DEBOUNCE, () => {
       let type = e.target.dataset.index;
       let rects = this._blocksBoundingRects.filter(e => e.type == type);
 
       this._originalHighlights = this._mask;
       this._hasCustomHighlights = true;
       this.setMask(rects, true);
 
       this.emit("legend-hover", [type, rects]);
     });
   },
 
   /**
    * Invoked whenever a color node in the legend is unhovered.
    */
-  _onLegendMouseOut: function() {
+  _onLegendMouseOut: function () {
     clearNamedTimeout("bar-graph-debounce");
 
     if (this._hasCustomHighlights) {
       this.setMask(this._originalHighlights);
       this._hasCustomHighlights = false;
       this._originalHighlights = null;
     }
 
     this.emit("legend-unhover");
   },
 
   /**
    * Invoked whenever a color node in the legend is pressed.
    */
-  _onLegendMouseDown: function(e) {
+  _onLegendMouseDown: function (e) {
     e.preventDefault();
     e.stopPropagation();
 
     let type = e.target.dataset.index;
     let rects = this._blocksBoundingRects.filter(e => e.type == type);
     let leftmost = rects[0];
     let rightmost = rects[rects.length - 1];
     if (!leftmost || !rightmost) {
@@ -436,17 +436,17 @@ BarGraphWidget.prototype = Heritage.exte
     }
 
     this.emit("legend-selection", [leftmost, rightmost]);
   },
 
   /**
    * Invoked whenever a color node in the legend is released.
    */
-  _onLegendMouseUp: function(e) {
+  _onLegendMouseUp: function (e) {
     e.preventDefault();
     e.stopPropagation();
   }
 });
 
 /**
  * Finds the first element in an array that validates a predicate.
  * @param array
--- a/devtools/client/shared/widgets/BreadcrumbsWidget.jsm
+++ b/devtools/client/shared/widgets/BreadcrumbsWidget.jsm
@@ -22,17 +22,17 @@ this.EXPORTED_SYMBOLS = ["BreadcrumbsWid
  * Note: this widget should be used in tandem with the WidgetMethods in
  * view-helpers.js.
  *
  * @param nsIDOMNode aNode
  *        The element associated with the widget.
  * @param Object aOptions
  *        - smoothScroll: specifies if smooth scrolling on selection is enabled.
  */
-this.BreadcrumbsWidget = function BreadcrumbsWidget(aNode, aOptions={}) {
+this.BreadcrumbsWidget = function BreadcrumbsWidget(aNode, aOptions = {}) {
   this.document = aNode.ownerDocument;
   this.window = this.document.defaultView;
   this._parent = aNode;
 
   // Create an internal arrowscrollbox container.
   this._list = this.document.createElement("arrowscrollbox");
   this._list.className = "breadcrumbs-widget-container";
   this._list.setAttribute("flex", "1");
@@ -75,52 +75,52 @@ BreadcrumbsWidget.prototype = {
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @param nsIDOMNode aContents
    *        The node displayed in the container.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  insertItemAt: function(aIndex, aContents) {
+  insertItemAt: function (aIndex, aContents) {
     let list = this._list;
     let breadcrumb = new Breadcrumb(this, aContents);
     return list.insertBefore(breadcrumb._target, list.childNodes[aIndex]);
   },
 
   /**
    * Returns the child node in this container situated at the specified index.
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  getItemAtIndex: function(aIndex) {
+  getItemAtIndex: function (aIndex) {
     return this._list.childNodes[aIndex];
   },
 
   /**
    * Removes the specified child node from this container.
    *
    * @param nsIDOMNode aChild
    *        The element associated with the displayed item.
    */
-  removeChild: function(aChild) {
+  removeChild: function (aChild) {
     this._list.removeChild(aChild);
 
     if (this._selectedItem == aChild) {
       this._selectedItem = null;
     }
   },
 
   /**
    * Removes all of the child nodes from this container.
    */
-  removeAllItems: function() {
+  removeAllItems: function () {
     let list = this._list;
 
     while (list.hasChildNodes()) {
       list.firstChild.remove();
     }
 
     this._selectedItem = null;
   },
@@ -156,58 +156,58 @@ BreadcrumbsWidget.prototype = {
   /**
    * Returns the value of the named attribute on this container.
    *
    * @param string aName
    *        The name of the attribute.
    * @return string
    *         The current attribute value.
    */
-  getAttribute: function(aName) {
+  getAttribute: function (aName) {
     if (aName == "scrollPosition") return this._list.scrollPosition;
     if (aName == "scrollWidth") return this._list.scrollWidth;
     return this._parent.getAttribute(aName);
   },
 
   /**
    * Ensures the specified element is visible.
    *
    * @param nsIDOMNode aElement
    *        The element to make visible.
    */
-  ensureElementIsVisible: function(aElement) {
+  ensureElementIsVisible: function (aElement) {
     if (!aElement) {
       return;
     }
 
     // Repeated calls to ensureElementIsVisible would interfere with each other
     // and may sometimes result in incorrect scroll positions.
     setNamedTimeout("breadcrumb-select", ENSURE_SELECTION_VISIBLE_DELAY, () => {
       if (this._list.ensureElementIsVisible) {
         this._list.ensureElementIsVisible(aElement);
       }
     });
   },
 
   /**
    * The underflow and overflow listener for the arrowscrollbox container.
    */
-  _onUnderflow: function({ target }) {
+  _onUnderflow: function ({ target }) {
     if (target != this._list) {
       return;
     }
     target._scrollButtonUp.collapsed = true;
     target._scrollButtonDown.collapsed = true;
     target.removeAttribute("overflows");
   },
 
   /**
    * The underflow and overflow listener for the arrowscrollbox container.
    */
-  _onOverflow: function({ target }) {
+  _onOverflow: function ({ target }) {
     if (target != this._list) {
       return;
     }
     target._scrollButtonUp.collapsed = false;
     target._scrollButtonDown.collapsed = false;
     target.setAttribute("overflows", "");
   },
 
--- a/devtools/client/shared/widgets/Chart.jsm
+++ b/devtools/client/shared/widgets/Chart.jsm
@@ -128,21 +128,21 @@ function createPieTableChart(document, {
   let container = document.createElement("hbox");
   container.className = "pie-table-chart-container";
   container.appendChild(pie.node);
   container.appendChild(table.node);
 
   let proxy = new PieTableChart(container, pie, table);
 
   pie.on("click", (event, item) => {
-    proxy.emit(event, item)
+    proxy.emit(event, item);
   });
 
   table.on("click", (event, item) => {
-    proxy.emit(event, item)
+    proxy.emit(event, item);
   });
 
   pie.on("mouseover", (event, item) => {
     proxy.emit(event, item);
     if (table.rows.has(item)) {
       table.rows.get(item).setAttribute("focused", "");
     }
   });
--- a/devtools/client/shared/widgets/CubicBezierWidget.js
+++ b/devtools/client/shared/widgets/CubicBezierWidget.js
@@ -27,17 +27,17 @@
 
 const EventEmitter = require("devtools/shared/event-emitter");
 const {
   PREDEFINED,
   PRESETS,
   DEFAULT_PRESET_CATEGORY
 } = require("devtools/client/shared/widgets/CubicBezierPresets");
 const {getCSSLexer} = require("devtools/shared/css-lexer");
-const {Cc, Ci} = require('chrome');
+const {Cc, Ci} = require("chrome");
 
 /**
  * CubicBezier data structure helper
  * Accepts an array of coordinates and exposes a few useful getters
  * @param {Array} coordinates i.e. [.42, 0, .58, 1]
  */
 function CubicBezier(coordinates) {
   if (!coordinates) {
@@ -48,17 +48,17 @@ function CubicBezier(coordinates) {
 
   for (let i = 4; i--;) {
     let xy = this.coordinates[i];
     if (isNaN(xy) || (!(i % 2) && (xy < 0 || xy > 1))) {
       throw new Error(`Wrong coordinate at ${i}(${xy})`);
     }
   }
 
-  this.coordinates.toString = function() {
+  this.coordinates.toString = function () {
     return this.map(n => {
       return (Math.round(n * 100) / 100 + "").replace(/^0\./, ".");
     }) + "";
   };
 }
 
 exports.CubicBezier = CubicBezier;
 
@@ -66,17 +66,17 @@ CubicBezier.prototype = {
   get P1() {
     return this.coordinates.slice(0, 2);
   },
 
   get P2() {
     return this.coordinates.slice(2);
   },
 
-  toString: function() {
+  toString: function () {
     // Check first if current coords are one of css predefined functions
     let predefName = Object.keys(PREDEFINED)
                            .find(key => coordsAreEqual(PREDEFINED[key],
                                                        this.coordinates));
 
     return predefName || "cubic-bezier(" + this.coordinates + ")";
   }
 };
@@ -119,32 +119,32 @@ BezierCanvas.prototype = {
       left: w * (this.bezier.coordinates[2] * (1 - p[3] - p[1]) - p[3]) + "px",
       top: h * (1 - this.bezier.coordinates[3] * (1 - p[0] - p[2]) - p[0]) + "px"
     }];
   },
 
   /**
    * Convert an element's left/top offsets into coordinates
    */
-  offsetsToCoordinates: function(element) {
+  offsetsToCoordinates: function (element) {
     let p = this.padding, w = this.canvas.width, h = this.canvas.height;
 
     // Convert padding percentage to actual padding
     p = p.map((a, i) => a * (i % 2 ? w : h));
 
     return [
       (parseFloat(element.style.left) - p[3]) / (w + p[1] + p[3]),
       (h - parseFloat(element.style.top) - p[2]) / (h - p[0] - p[2])
     ];
   },
 
   /**
    * Draw the cubic bezier curve for the current coordinates
    */
-  plot: function(settings = {}) {
+  plot: function (settings = {}) {
     let xy = this.bezier.coordinates;
 
     let defaultSettings = {
       handleColor: "#666",
       handleThickness: .008,
       bezierColor: "#4C9ED9",
       bezierThickness: .015,
       drawHandles: true
@@ -244,17 +244,17 @@ function CubicBezierWidget(parent,
   this.timingPreview = new TimingFunctionPreviewWidget(parent);
 
   this._initEvents();
 }
 
 exports.CubicBezierWidget = CubicBezierWidget;
 
 CubicBezierWidget.prototype = {
-  _initMarkup: function() {
+  _initMarkup: function () {
     let doc = this.parent.ownerDocument;
 
     let wrap = doc.createElement("div");
     wrap.className = "display-wrap";
 
     let plane = doc.createElement("div");
     plane.className = "coordinate-plane";
 
@@ -280,45 +280,45 @@ CubicBezierWidget.prototype = {
 
     return {
       p1: p1,
       p2: p2,
       curve: curve
     };
   },
 
-  _removeMarkup: function() {
+  _removeMarkup: function () {
     this.parent.ownerDocument.querySelector(".display-wrap").remove();
   },
 
-  _initEvents: function() {
+  _initEvents: function () {
     this.p1.addEventListener("mousedown", this._onPointMouseDown);
     this.p2.addEventListener("mousedown", this._onPointMouseDown);
 
     this.p1.addEventListener("keydown", this._onPointKeyDown);
     this.p2.addEventListener("keydown", this._onPointKeyDown);
 
     this.curve.addEventListener("click", this._onCurveClick);
 
     this.presets.on("new-coordinates", this._onNewCoordinates);
   },
 
-  _removeEvents: function() {
+  _removeEvents: function () {
     this.p1.removeEventListener("mousedown", this._onPointMouseDown);
     this.p2.removeEventListener("mousedown", this._onPointMouseDown);
 
     this.p1.removeEventListener("keydown", this._onPointKeyDown);
     this.p2.removeEventListener("keydown", this._onPointKeyDown);
 
     this.curve.removeEventListener("click", this._onCurveClick);
 
     this.presets.off("new-coordinates", this._onNewCoordinates);
   },
 
-  _onPointMouseDown: function(event) {
+  _onPointMouseDown: function (event) {
     // Updating the boundingbox in case it has changed
     this.curveBoundingBox = this.curve.getBoundingClientRect();
 
     let point = event.target;
     let doc = point.ownerDocument;
     let self = this;
 
     doc.onmousemove = function drag(e) {
@@ -335,23 +335,23 @@ CubicBezierWidget.prototype = {
       x = Math.min(Math.max(left, x), left + self.curveBoundingBox.width);
 
       point.style.left = x - left + "px";
       point.style.top = y - top + "px";
 
       self._updateFromPoints();
     };
 
-    doc.onmouseup = function() {
+    doc.onmouseup = function () {
       point.focus();
       doc.onmousemove = doc.onmouseup = null;
     };
   },
 
-  _onPointKeyDown: function(event) {
+  _onPointKeyDown: function (event) {
     let point = event.target;
     let code = event.keyCode;
 
     if (code >= 37 && code <= 40) {
       event.preventDefault();
 
       // Arrow keys pressed
       let left = parseInt(point.style.left, 10);
@@ -364,17 +364,17 @@ CubicBezierWidget.prototype = {
         case 39: point.style.left = left + offset + "px"; break;
         case 40: point.style.top = top + offset + "px"; break;
       }
 
       this._updateFromPoints();
     }
   },
 
-  _onCurveClick: function(event) {
+  _onCurveClick: function (event) {
     this.curveBoundingBox = this.curve.getBoundingClientRect();
 
     let left = this.curveBoundingBox.left;
     let top = this.curveBoundingBox.top;
     let x = event.pageX - left;
     let y = event.pageY - top;
 
     // Find which point is closer
@@ -385,37 +385,37 @@ CubicBezierWidget.prototype = {
 
     let point = distP1 < distP2 ? this.p1 : this.p2;
     point.style.left = x + "px";
     point.style.top = y + "px";
 
     this._updateFromPoints();
   },
 
-  _onNewCoordinates: function(event, coordinates) {
+  _onNewCoordinates: function (event, coordinates) {
     this.coordinates = coordinates;
   },
 
   /**
    * Get the current point coordinates and redraw the curve to match
    */
-  _updateFromPoints: function() {
+  _updateFromPoints: function () {
     // Get the new coordinates from the point's offsets
     let coordinates = this.bezierCanvas.offsetsToCoordinates(this.p1);
     coordinates = coordinates.concat(this.bezierCanvas.offsetsToCoordinates(this.p2));
 
     this.presets.refreshMenu(coordinates);
     this._redraw(coordinates);
   },
 
   /**
    * Redraw the curve
    * @param {Array} coordinates The array of control point coordinates
    */
-  _redraw: function(coordinates) {
+  _redraw: function (coordinates) {
     // Provide a new CubicBezier to the canvas and plot the curve
     this.bezierCanvas.bezier = new CubicBezier(coordinates);
     this.bezierCanvas.plot();
     this.emit("updated", this.bezierCanvas.bezier);
 
     this.timingPreview.preview(this.bezierCanvas.bezier + "");
   },
 
@@ -448,17 +448,17 @@ CubicBezierWidget.prototype = {
 
     // Try with one of the predefined values
     let coordinates = parseTimingFunction(value);
 
     this.presets.refreshMenu(coordinates);
     this.coordinates = coordinates;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._removeEvents();
     this._removeMarkup();
 
     this.timingPreview.destroy();
     this.presets.destroy();
 
     this.curve = this.p1 = this.p2 = null;
   }
@@ -508,17 +508,17 @@ CubicBezierPresetWidget.prototype = {
    *    div .preset-container
    *      div .presetList
    *        div .preset
    *        ...
    *      div .presetList
    *        div .preset
    *        ...
    */
-  _initMarkup: function() {
+  _initMarkup: function () {
     let doc = this.parent.ownerDocument;
 
     let presetPane = doc.createElement("div");
     presetPane.className = "preset-pane";
 
     let categoryList = doc.createElement("div");
     categoryList.id = "preset-categories";
 
@@ -543,50 +543,50 @@ CubicBezierPresetWidget.prototype = {
 
     return {
       presetPane: presetPane,
       presets: allPresets,
       categories: allCategories
     };
   },
 
-  _createCategory: function(categoryLabel) {
+  _createCategory: function (categoryLabel) {
     let doc = this.parent.ownerDocument;
 
     let category = doc.createElement("div");
     category.id = categoryLabel;
     category.classList.add("category");
 
     let categoryDisplayLabel = this._normalizeCategoryLabel(categoryLabel);
     category.textContent = categoryDisplayLabel;
     category.setAttribute("title", categoryDisplayLabel);
 
     return category;
   },
 
-  _normalizeCategoryLabel: function(categoryLabel) {
+  _normalizeCategoryLabel: function (categoryLabel) {
     return categoryLabel.replace("/-/g", " ");
   },
 
-  _createPresetList: function(categoryLabel) {
+  _createPresetList: function (categoryLabel) {
     let doc = this.parent.ownerDocument;
 
     let presetList = doc.createElement("div");
     presetList.id = "preset-category-" + categoryLabel;
     presetList.classList.add("preset-list");
 
     Object.keys(PRESETS[categoryLabel]).forEach(presetLabel => {
       let preset = this._createPreset(categoryLabel, presetLabel);
       presetList.appendChild(preset);
     });
 
     return presetList;
   },
 
-  _createPreset: function(categoryLabel, presetLabel) {
+  _createPreset: function (categoryLabel, presetLabel) {
     let doc = this.parent.ownerDocument;
 
     let preset = doc.createElement("div");
     preset.classList.add("preset");
     preset.id = presetLabel;
     preset.coordinates = PRESETS[categoryLabel][presetLabel];
     // Create preset preview
     let curve = doc.createElement("canvas");
@@ -605,50 +605,50 @@ CubicBezierPresetWidget.prototype = {
     let presetDisplayLabel = this._normalizePresetLabel(categoryLabel, presetLabel);
     presetLabelElem.textContent = presetDisplayLabel;
     preset.appendChild(presetLabelElem);
     preset.setAttribute("title", presetDisplayLabel);
 
     return preset;
   },
 
-  _normalizePresetLabel: function(categoryLabel, presetLabel) {
+  _normalizePresetLabel: function (categoryLabel, presetLabel) {
     return presetLabel.replace(categoryLabel + "-", "").replace("/-/g", " ");
   },
 
-  _initEvents: function() {
+  _initEvents: function () {
     for (let category of this.categories) {
       category.addEventListener("click", this._onCategoryClick);
     }
 
     for (let preset of this.presets) {
       preset.addEventListener("click", this._onPresetClick);
     }
   },
 
-  _removeEvents: function() {
+  _removeEvents: function () {
     for (let category of this.categories) {
       category.removeEventListener("click", this._onCategoryClick);
     }
 
     for (let preset of this.presets) {
       preset.removeEventListener("click", this._onPresetClick);
     }
   },
 
-  _onPresetClick: function(event) {
+  _onPresetClick: function (event) {
     this.emit("new-coordinates", event.currentTarget.coordinates);
     this.activePreset = event.currentTarget;
   },
 
-  _onCategoryClick: function(event) {
+  _onCategoryClick: function (event) {
     this.activeCategory = event.target;
   },
 
-  _setActivePresetList: function(presetListId) {
+  _setActivePresetList: function (presetListId) {
     let presetList = this.presetPane.querySelector("#" + presetListId);
     swapClassName("active-preset-list", this._activePresetList, presetList);
     this._activePresetList = presetList;
   },
 
   set activeCategory(category) {
     swapClassName("active-category", this._activeCategory, category);
     this._activeCategory = category;
@@ -670,17 +670,17 @@ CubicBezierPresetWidget.prototype = {
 
   /**
    * Called by CubicBezierWidget onload and when
    * the curve is modified via the canvas.
    * Attempts to match the new user setting with an
    * existing preset.
    * @param {Array} coordinates new coords [i, j, k, l]
    */
-  refreshMenu: function(coordinates) {
+  refreshMenu: function (coordinates) {
     // If we cannot find a matching preset, keep
     // menu on last known preset category.
     let category = this._activeCategory;
 
     // If we cannot find a matching preset
     // deselect any selected preset.
     let preset = null;
 
@@ -700,17 +700,17 @@ CubicBezierPresetWidget.prototype = {
         }
       });
     });
 
     this.activeCategory = category;
     this.activePreset = preset;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._removeEvents();
     this.parent.querySelector(".preset-pane").remove();
   }
 };
 
 /**
  * The TimingFunctionPreviewWidget animates a dot on a scale with a given
  * timing-function
@@ -722,46 +722,46 @@ function TimingFunctionPreviewWidget(par
 
   this.parent = parent;
   this._initMarkup();
 }
 
 TimingFunctionPreviewWidget.prototype = {
   PREVIEW_DURATION: 1000,
 
-  _initMarkup: function() {
+  _initMarkup: function () {
     let doc = this.parent.ownerDocument;
 
     let container = doc.createElement("div");
     container.className = "timing-function-preview";
 
     this.dot = doc.createElement("div");
     this.dot.className = "dot";
     container.appendChild(this.dot);
 
     let scale = doc.createElement("div");
     scale.className = "scale";
     container.appendChild(scale);
 
     this.parent.appendChild(container);
   },
 
-  destroy: function() {
+  destroy: function () {
     clearTimeout(this.autoRestartAnimation);
     this.parent.querySelector(".timing-function-preview").remove();
     this.parent = this.dot = null;
   },
 
   /**
    * Preview a new timing function. The current preview will only be stopped if
    * the supplied function value is different from the previous one. If the
    * supplied function is invalid, the preview will stop.
    * @param {String} value
    */
-  preview: function(value) {
+  preview: function (value) {
     // Don't restart the preview animation if the value is the same
     if (value === this.previousValue) {
       return false;
     }
 
     clearTimeout(this.autoRestartAnimation);
 
     if (parseTimingFunction(value)) {
@@ -770,17 +770,17 @@ TimingFunctionPreviewWidget.prototype = 
     }
 
     this.previousValue = value;
   },
 
   /**
    * Re-start the preview animation from the beginning
    */
-  restartAnimation: function() {
+  restartAnimation: function () {
     // Reset the animation duration in case it was changed
     this.dot.style.animationDuration = (this.PREVIEW_DURATION * 2) + "ms";
 
     // Just toggling the class won't do it unless there's a sync reflow
     this.dot.classList.remove("animate");
     let w = this.dot.offsetWidth;
     this.dot.classList.add("animate");
 
--- a/devtools/client/shared/widgets/FastListWidget.js
+++ b/devtools/client/shared/widgets/FastListWidget.js
@@ -42,33 +42,33 @@ const FastListWidget = module.exports = 
 
   // This widget emits events that can be handled in a MenuContainer.
   EventEmitter.decorate(this);
 
   // Delegate some of the associated node's methods to satisfy the interface
   // required by MenuContainer instances.
   ViewHelpers.delegateWidgetAttributeMethods(this, aNode);
   ViewHelpers.delegateWidgetEventMethods(this, aNode);
-}
+};
 
 FastListWidget.prototype = {
   /**
    * Inserts an item in this container at the specified index, optionally
    * grouping by name.
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @param nsIDOMNode aContents
    *        The node to be displayed in the container.
    * @param Object aAttachment [optional]
    *        Extra data for the user.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  insertItemAt: function(aIndex, aContents, aAttachment={}) {
+  insertItemAt: function (aIndex, aContents, aAttachment = {}) {
     let element = this._templateElement.cloneNode();
     element.appendChild(aContents);
 
     if (aIndex >= 0) {
       throw new Error("FastListWidget only supports appending items.");
     }
 
     this._fragment.appendChild(element);
@@ -78,41 +78,41 @@ FastListWidget.prototype = {
     return element;
   },
 
   /**
    * This is a non-standard widget implementation method. When appending items,
    * they are queued in a document fragment. This method appends the document
    * fragment to the dom.
    */
-  flush: function() {
+  flush: function () {
     this._list.appendChild(this._fragment);
   },
 
   /**
    * Removes all of the child nodes from this container.
    */
-  removeAllItems: function() {
+  removeAllItems: function () {
     let parent = this._parent;
     let list = this._list;
 
     while (list.hasChildNodes()) {
       list.firstChild.remove();
     }
 
     this._selectedItem = null;
 
     this._orderedMenuElementsArray.length = 0;
     this._itemsByElement.clear();
   },
 
   /**
    * Remove the given item.
    */
-  removeChild: function(child) {
+  removeChild: function (child) {
     throw new Error("Not yet implemented");
   },
 
   /**
    * Gets the currently selected child node in this container.
    * @return nsIDOMNode
    */
   get selectedItem() {
@@ -144,57 +144,57 @@ FastListWidget.prototype = {
   /**
    * Returns the child node in this container situated at the specified index.
    *
    * @param number index
    *        The position in the container intended for this item.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  getItemAtIndex: function(index) {
+  getItemAtIndex: function (index) {
     return this._orderedMenuElementsArray[index];
   },
 
   /**
    * Adds a new attribute or changes an existing attribute on this container.
    *
    * @param string name
    *        The name of the attribute.
    * @param string value
    *        The desired attribute value.
    */
-  setAttribute: function(name, value) {
+  setAttribute: function (name, value) {
     this._parent.setAttribute(name, value);
 
     if (name == "emptyText") {
       this._textWhenEmpty = value;
     }
   },
 
   /**
    * Removes an attribute on this container.
    *
    * @param string name
    *        The name of the attribute.
    */
-  removeAttribute: function(name) {
+  removeAttribute: function (name) {
     this._parent.removeAttribute(name);
 
     if (name == "emptyText") {
       this._removeEmptyText();
     }
   },
 
   /**
    * Ensures the specified element is visible.
    *
    * @param nsIDOMNode element
    *        The element to make visible.
    */
-  ensureElementIsVisible: function(element) {
+  ensureElementIsVisible: function (element) {
     if (!element) {
       return;
     }
 
     // Ensure the element is visible but not scrolled horizontally.
     let boxObject = this._list.boxObject;
     boxObject.ensureElementIsVisible(element);
     boxObject.scrollBy(-this._list.clientWidth, 0);
@@ -210,32 +210,32 @@ FastListWidget.prototype = {
     }
     this._emptyTextValue = aValue;
     this._showEmptyText();
   },
 
   /**
    * Creates and appends a label signaling that this container is empty.
    */
-  _showEmptyText: function() {
+  _showEmptyText: function () {
     if (this._emptyTextNode || !this._emptyTextValue) {
       return;
     }
     let label = this.document.createElement("label");
     label.className = "plain fast-list-widget-empty-text";
     label.setAttribute("value", this._emptyTextValue);
 
     this._parent.insertBefore(label, this._list);
     this._emptyTextNode = label;
   },
 
   /**
    * Removes the label signaling that this container is empty.
    */
-  _removeEmptyText: function() {
+  _removeEmptyText: function () {
     if (!this._emptyTextNode) {
       return;
     }
     this._parent.removeChild(this._emptyTextNode);
     this._emptyTextNode = null;
   },
 
   window: null,
--- a/devtools/client/shared/widgets/FilterWidget.js
+++ b/devtools/client/shared/widgets/FilterWidget.js
@@ -146,59 +146,59 @@ function CSSFilterEditorWidget(el, value
   this.filters = [];
   this.setCssValue(value);
   this.renderPresets();
 }
 
 exports.CSSFilterEditorWidget = CSSFilterEditorWidget;
 
 CSSFilterEditorWidget.prototype = {
-  _initMarkup: function() {
+  _initMarkup: function () {
     this.filtersList = this.el.querySelector("#filters");
     this.presetsList = this.el.querySelector("#presets");
     this.togglePresets = this.el.querySelector("#toggle-presets");
     this.filterSelect = this.el.querySelector("select");
     this.addPresetButton = this.el.querySelector(".presets-list .add");
     this.addPresetInput = this.el.querySelector(".presets-list .footer input");
 
     this.el.querySelector(".presets-list input").value = "";
 
     this._populateFilterSelect();
   },
 
-  _destroyMarkup: function() {
+  _destroyMarkup: function () {
     this._filterItemMarkup.remove();
     this.el.remove();
     this.el = this.filtersList = this._filterItemMarkup = null;
     this.presetsList = this.togglePresets = this.filterSelect = null;
     this.addPresetButton = null;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._removeEventListeners();
     this._destroyMarkup();
   },
 
   /**
     * Creates <option> elements for each filter definition
     * in filterList
     */
-  _populateFilterSelect: function() {
+  _populateFilterSelect: function () {
     let select = this.filterSelect;
     filterList.forEach(filter => {
       let option = this.doc.createElement("option");
       option.innerHTML = option.value = filter.name;
       select.appendChild(option);
     });
   },
 
   /**
     * Creates a template for filter elements which is cloned and used in render
     */
-  _buildFilterItemMarkup: function() {
+  _buildFilterItemMarkup: function () {
     let base = this.doc.createElement("div");
     base.className = "filter";
 
     let name = this.doc.createElement("div");
     name.className = "filter-name";
 
     let value = this.doc.createElement("div");
     value.className = "filter-value";
@@ -223,17 +223,17 @@ CSSFilterEditorWidget.prototype = {
 
     base.appendChild(name);
     base.appendChild(value);
     base.appendChild(removeButton);
 
     this._filterItemMarkup = base;
   },
 
-  _buildPresetItemMarkup: function() {
+  _buildPresetItemMarkup: function () {
     let base = this.doc.createElement("div");
     base.classList.add("preset");
 
     let name = this.doc.createElement("label");
     base.appendChild(name);
 
     let value = this.doc.createElement("span");
     base.appendChild(value);
@@ -241,17 +241,17 @@ CSSFilterEditorWidget.prototype = {
     let removeButton = this.doc.createElement("button");
     removeButton.classList.add("remove-button");
 
     base.appendChild(removeButton);
 
     this._presetItemMarkup = base;
   },
 
-  _addEventListeners: function() {
+  _addEventListeners: function () {
     this.addButton = this.el.querySelector("#add-filter");
     this.addButton.addEventListener("click", this._addButtonClick);
     this.filtersList.addEventListener("click", this._removeButtonClick);
     this.filtersList.addEventListener("mousedown", this._mouseDown);
     this.filtersList.addEventListener("keydown", this._keyDown);
 
     this.presetsList.addEventListener("click", this._presetClick);
     this.togglePresets.addEventListener("click", this._togglePresets);
@@ -261,17 +261,17 @@ CSSFilterEditorWidget.prototype = {
     // drag-drop re-ordering and label-dragging
     this.win.addEventListener("mousemove", this._mouseMove);
     this.win.addEventListener("mouseup", this._mouseUp);
 
     // Used to workaround float-precision problems
     this.filtersList.addEventListener("input", this._input);
   },
 
-  _removeEventListeners: function() {
+  _removeEventListeners: function () {
     this.addButton.removeEventListener("click", this._addButtonClick);
     this.filtersList.removeEventListener("click", this._removeButtonClick);
     this.filtersList.removeEventListener("mousedown", this._mouseDown);
     this.filtersList.removeEventListener("keydown", this._keyDown);
 
     this.presetsList.removeEventListener("click", this._presetClick);
     this.togglePresets.removeEventListener("click", this._togglePresets);
     this.addPresetButton.removeEventListener("click", this._savePreset);
@@ -279,21 +279,21 @@ CSSFilterEditorWidget.prototype = {
     // These events are used for drag drop re-ordering
     this.win.removeEventListener("mousemove", this._mouseMove);
     this.win.removeEventListener("mouseup", this._mouseUp);
 
     // Used to workaround float-precision problems
     this.filtersList.removeEventListener("input", this._input);
   },
 
-  _getFilterElementIndex: function(el) {
+  _getFilterElementIndex: function (el) {
     return [...this.filtersList.children].indexOf(el);
   },
 
-  _keyDown: function(e) {
+  _keyDown: function (e) {
     if (e.target.tagName.toLowerCase() !== "input" ||
        (e.keyCode !== 40 && e.keyCode !== 38)) {
       return;
     }
     let input = e.target;
 
     const direction = e.keyCode === 40 ? -1 : 1;
 
@@ -350,29 +350,29 @@ CSSFilterEditorWidget.prototype = {
       value = split.join("");
       input.value = value;
       this.updateValueAt(index, value);
       input.setSelectionRange(selectionStart, selectionStart);
     }
     e.preventDefault();
   },
 
-  _input: function(e) {
+  _input: function (e) {
     let filterEl = e.target.closest(".filter");
     let index = this._getFilterElementIndex(filterEl);
     let filter = this.filters[index];
     let def = this._definition(filter.name);
 
     if (def.type !== "string") {
       e.target.value = fixFloat(e.target.value);
     }
     this.updateValueAt(index, e.target.value);
   },
 
-  _mouseDown: function(e) {
+  _mouseDown: function (e) {
     let filterEl = e.target.closest(".filter");
 
     // re-ordering drag handle
     if (e.target.tagName.toLowerCase() === "i") {
       this.isReorderingFilter = true;
       filterEl.startingY = e.pageY;
       filterEl.classList.add("dragging");
 
@@ -387,48 +387,48 @@ CSSFilterEditorWidget.prototype = {
         index, label, input,
         startX: e.pageX
       };
 
       this.isDraggingLabel = true;
     }
   },
 
-  _addButtonClick: function() {
+  _addButtonClick: function () {
     const select = this.filterSelect;
     if (!select.value) {
       return;
     }
 
     const key = select.value;
     this.add(key, null);
 
     this.render();
   },
 
-  _removeButtonClick: function(e) {
+  _removeButtonClick: function (e) {
     const isRemoveButton = e.target.classList.contains("remove-button");
     if (!isRemoveButton) {
       return;
     }
 
     let filterEl = e.target.closest(".filter");
     let index = this._getFilterElementIndex(filterEl);
     this.removeAt(index);
   },
 
-  _mouseMove: function(e) {
+  _mouseMove: function (e) {
     if (this.isReorderingFilter) {
       this._dragFilterElement(e);
     } else if (this.isDraggingLabel) {
       this._dragLabel(e);
     }
   },
 
-  _dragFilterElement: function(e) {
+  _dragFilterElement: function (e) {
     const rect = this.filtersList.getBoundingClientRect();
     let top = e.pageY - LIST_PADDING;
     let bottom = e.pageY + LIST_PADDING;
     // don't allow dragging over top/bottom of list
     if (top < rect.top || bottom > rect.bottom) {
       return;
     }
 
@@ -468,17 +468,17 @@ CSSFilterEditorWidget.prototype = {
     }
 
     filterEl.removeAttribute("style");
 
     const currentPosition = change * LIST_ITEM_HEIGHT;
     filterEl.startingY = e.pageY + currentPosition - delta;
   },
 
-  _dragLabel: function(e) {
+  _dragLabel: function (e) {
     let dragging = this._dragging;
 
     let input = dragging.input;
 
     let multiplier = DEFAULT_VALUE_MULTIPLIER;
 
     if (e.altKey) {
       multiplier = SLOW_VALUE_MULTIPLIER;
@@ -501,17 +501,17 @@ CSSFilterEditorWidget.prototype = {
 
     input.value = fixFloat(value);
 
     dragging.startX = e.pageX;
 
     this.updateValueAt(dragging.index, value);
   },
 
-  _mouseUp: function() {
+  _mouseUp: function () {
     // Label-dragging is disabled on mouseup
     this._dragging = null;
     this.isDraggingLabel = false;
 
     // Filter drag/drop needs more cleaning
     if (!this.isReorderingFilter) {
       return;
     }
@@ -521,17 +521,17 @@ CSSFilterEditorWidget.prototype = {
     filterEl.classList.remove("dragging");
     this.el.classList.remove("dragging");
     filterEl.removeAttribute("style");
 
     this.emit("updated", this.getCssValue());
     this.render();
   },
 
-  _presetClick: function(e) {
+  _presetClick: function (e) {
     let el = e.target;
     let preset = el.closest(".preset");
     if (!preset) {
       return;
     }
 
     let id = +preset.dataset.id;
 
@@ -545,22 +545,22 @@ CSSFilterEditorWidget.prototype = {
         let p = presets[id];
 
         this.setCssValue(p.value);
         this.addPresetInput.value = p.name;
       }
     }, e => console.error(e));
   },
 
-  _togglePresets: function() {
+  _togglePresets: function () {
     this.el.classList.toggle("show-presets");
     this.emit("render");
   },
 
-  _savePreset: function(e) {
+  _savePreset: function (e) {
     e.preventDefault();
 
     let name = this.addPresetInput.value;
     let value = this.getCssValue();
 
     if (!name || !value || SPECIAL_VALUES.has(value)) {
       this.emit("preset-save-error");
       return;
@@ -578,17 +578,17 @@ CSSFilterEditorWidget.prototype = {
       this.setPresets(presets).then(this.renderPresets, e => console.error(e));
     }, e => console.error(e));
   },
 
   /**
    * Clears the list and renders filters, binding required events.
    * There are some delegated events bound in _addEventListeners method
    */
-  render: function() {
+  render: function () {
     if (!this.filters.length) {
       this.filtersList.innerHTML = `<p> ${L10N.getStr("emptyFilterList")} <br />
                                  ${L10N.getStr("addUsingList")} </p>`;
       this.emit("render");
       return;
     }
 
     this.filtersList.innerHTML = "";
@@ -640,28 +640,28 @@ CSSFilterEditorWidget.prototype = {
         // string-type filters have no unit
         unitPreview.remove();
       }
 
       this.filtersList.appendChild(el);
     }
 
     let lastInput =
-        this.filtersList.querySelector(`.filter:last-of-type input`);
+        this.filtersList.querySelector(".filter:last-of-type input");
     if (lastInput) {
       lastInput.focus();
       // move cursor to end of input
       const end = lastInput.value.length;
       lastInput.setSelectionRange(end, end);
     }
 
     this.emit("render");
   },
 
-  renderPresets: function() {
+  renderPresets: function () {
     this.getPresets().then(presets => {
       if (!presets || !presets.length) {
         this.presetsList.innerHTML = `<p>${L10N.getStr("emptyPresetList")}</p>`;
         this.emit("render");
         return;
       }
       let base = this._presetItemMarkup;
 
@@ -687,28 +687,28 @@ CSSFilterEditorWidget.prototype = {
   /**
     * returns definition of a filter as defined in filterList
     *
     * @param {String} name
     *        filter name (e.g. blur)
     * @return {Object}
     *        filter's definition
     */
-  _definition: function(name) {
+  _definition: function (name) {
     name = name.toLowerCase();
     return filterList.find(a => a.name === name);
   },
 
   /**
     * Parses the CSS value specified, updating widget's filters
     *
     * @param {String} cssValue
     *        css value to be parsed
     */
-  setCssValue: function(cssValue) {
+  setCssValue: function (cssValue) {
     if (!cssValue) {
       throw new Error("Missing CSS filter value in setCssValue");
     }
 
     this.filters = [];
 
     if (SPECIAL_VALUES.has(cssValue)) {
       this._specialValue = cssValue;
@@ -746,17 +746,17 @@ CSSFilterEditorWidget.prototype = {
     *        single quote, a double quote, or empty.
     * @return {Number}
     *        The index of the new filter in the current list of filters
     * @param {Boolean}
     *        By default, adding a new filter emits an "updated" event, but if
     *        you're calling add in a loop and wait to emit a single event after
     *        the loop yourself, set this parameter to true.
     */
-  add: function(name, value, quote, noEvent) {
+  add: function (name, value, quote, noEvent) {
     const def = this._definition(name);
     if (!def) {
       return false;
     }
 
     if (value === null) {
       // UNIT_MAPPING[string] is an empty string (falsy), so
       // using || doesn't work here
@@ -809,17 +809,17 @@ CSSFilterEditorWidget.prototype = {
   /**
     * returns value + unit of the specified filter
     *
     * @param {Number} index
     *        filter index
     * @return {String}
     *        css value of filter
     */
-  getValueAt: function(index) {
+  getValueAt: function (index) {
     let filter = this.filters[index];
     if (!filter) {
       return null;
     }
 
     // Just return the value+unit for non-url functions.
     if (filter.name !== "url") {
       return filter.value + filter.unit;
@@ -833,48 +833,48 @@ CSSFilterEditorWidget.prototype = {
     }
 
     // Unquoted.  This approach might change the original input -- for
     // example the original might be over-quoted.  But, this is
     // correct and probably good enough.
     return filter.value.replace(/[\\ \t()"']/g, "\\$&");
   },
 
-  removeAt: function(index) {
+  removeAt: function (index) {
     if (!this.filters[index]) {
       return null;
     }
 
     this.filters.splice(index, 1);
     this.emit("updated", this.getCssValue());
     this.render();
   },
 
   /**
     * Generates CSS filter value for filters of the widget
     *
     * @return {String}
     *        css value of filters
     */
-  getCssValue: function() {
+  getCssValue: function () {
     return this.filters.map((filter, i) => {
       return `${filter.name}(${this.getValueAt(i)})`;
     }).join(" ") || this._specialValue || "none";
   },
 
   /**
     * Updates specified filter's value
     *
     * @param {Number} index
     *        The index of the filter in the current list of filters
     * @param {number/string} value
     *        value to set, string for string-typed filters
     *        number for the rest (unit automatically determined)
     */
-  updateValueAt: function(index, value) {
+  updateValueAt: function (index, value) {
     let filter = this.filters[index];
     if (!filter) {
       return;
     }
 
     const def = this._definition(filter.name);
 
     if (def.type !== "string") {
@@ -886,27 +886,27 @@ CSSFilterEditorWidget.prototype = {
       }
     }
 
     filter.value = filter.unit ? fixFloat(value, true) : value;
 
     this.emit("updated", this.getCssValue());
   },
 
-  getPresets: function() {
+  getPresets: function () {
     return asyncStorage.getItem("cssFilterPresets").then(presets => {
       if (!presets) {
         return [];
       }
 
       return presets;
     }, e => console.error(e));
   },
 
-  setPresets: function(presets) {
+  setPresets: function (presets) {
     return asyncStorage.setItem("cssFilterPresets", presets)
       .catch(e => console.error(e));
   }
 };
 
 // Fixes JavaScript's float precision
 function fixFloat(a, number) {
   let fixed = parseFloat(a).toFixed(1);
--- a/devtools/client/shared/widgets/FlameGraph.js
+++ b/devtools/client/shared/widgets/FlameGraph.js
@@ -68,17 +68,17 @@ const FLAME_GRAPH_BLOCK_TEXT_PADDING_RIG
 const PALLETTE_SIZE = 20; // Large enough number for a diverse pallette.
 const PALLETTE_HUE_OFFSET = Math.random() * 90;
 const PALLETTE_HUE_RANGE = 270;
 const PALLETTE_SATURATION = 100;
 const PALLETTE_BRIGHTNESS = 55;
 const PALLETTE_OPACITY = 0.35;
 
 const COLOR_PALLETTE = Array.from(Array(PALLETTE_SIZE)).map((_, i) => "hsla" +
-  "(" + ((PALLETTE_HUE_OFFSET + (i / PALLETTE_SIZE * PALLETTE_HUE_RANGE))|0 % 360) +
+  "(" + ((PALLETTE_HUE_OFFSET + (i / PALLETTE_SIZE * PALLETTE_HUE_RANGE)) | 0 % 360) +
   "," + PALLETTE_SATURATION + "%" +
   "," + PALLETTE_BRIGHTNESS + "%" +
   "," + PALLETTE_OPACITY +
   ")"
 );
 
 /**
  * A flamegraph visualization. This implementation is responsable only with
@@ -218,24 +218,24 @@ FlameGraph.prototype = {
   },
   get height() {
     return this._height;
   },
 
   /**
    * Returns a promise resolved once this graph is ready to receive data.
    */
-  ready: function() {
+  ready: function () {
     return this._ready.promise;
   },
 
   /**
    * Destroys this graph.
    */
-  destroy: Task.async(function*() {
+  destroy: Task.async(function* () {
     yield this.ready();
 
     this._window.removeEventListener("keydown", this._onKeyDown);
     this._window.removeEventListener("keyup", this._onKeyUp);
     this._window.removeEventListener("keypress", this._onKeyPress);
     this._window.removeEventListener("mousemove", this._onMouseMove);
     this._window.removeEventListener("mousedown", this._onMouseDown);
     this._window.removeEventListener("mouseup", this._onMouseUp);
@@ -292,101 +292,101 @@ FlameGraph.prototype = {
    * Sets the data source for this graph.
    *
    * @param object data
    *        An object containing the following properties:
    *          - data: the data source; see the constructor for more info
    *          - bounds: the minimum/maximum { start, end }, in ms or px
    *          - visible: optional, the shown { start, end }, in ms or px
    */
-  setData: function({ data, bounds, visible }) {
+  setData: function ({ data, bounds, visible }) {
     this._data = data;
     this.setOuterBounds(bounds);
     this.setViewRange(visible || bounds);
   },
 
   /**
    * Same as `setData`, but waits for this graph to finish initializing first.
    *
    * @param object data
    *        The data source. See the constructor for more information.
    * @return promise
    *         A promise resolved once the data is set.
    */
-  setDataWhenReady: Task.async(function*(data) {
+  setDataWhenReady: Task.async(function* (data) {
     yield this.ready();
     this.setData(data);
   }),
 
   /**
    * Gets whether or not this graph has a data source.
    * @return boolean
    */
-  hasData: function() {
+  hasData: function () {
     return !!this._data;
   },
 
   /**
    * Sets the maximum selection (i.e. the 'graph bounds').
    * @param object { start, end }
    */
-  setOuterBounds: function({ startTime, endTime }) {
+  setOuterBounds: function ({ startTime, endTime }) {
     this._bounds.start = startTime * this._pixelRatio;
     this._bounds.end = endTime * this._pixelRatio;
     this._shouldRedraw = true;
   },
 
   /**
    * Sets the selection and vertical offset (i.e. the 'view range').
    * @return number
    */
-  setViewRange: function({ startTime, endTime }, verticalOffset = 0) {
+  setViewRange: function ({ startTime, endTime }, verticalOffset = 0) {
     this._selection.start = startTime * this._pixelRatio;
     this._selection.end = endTime * this._pixelRatio;
     this._verticalOffset = verticalOffset * this._pixelRatio;
     this._shouldRedraw = true;
   },
 
   /**
    * Gets the maximum selection (i.e. the 'graph bounds').
    * @return number
    */
-  getOuterBounds: function() {
+  getOuterBounds: function () {
     return {
       startTime: this._bounds.start / this._pixelRatio,
       endTime: this._bounds.end / this._pixelRatio
     };
   },
 
   /**
    * Gets the current selection and vertical offset (i.e. the 'view range').
    * @return number
    */
-  getViewRange: function() {
+  getViewRange: function () {
     return {
       startTime: this._selection.start / this._pixelRatio,
       endTime: this._selection.end / this._pixelRatio,
       verticalOffset: this._verticalOffset / this._pixelRatio
     };
   },
 
   /**
    * Focuses this graph's iframe window.
    */
-  focus: function() {
+  focus: function () {
     this._window.focus();
   },
 
   /**
    * Updates this graph to reflect the new dimensions of the parent node.
    *
    * @param boolean options.force
    *        Force redraw everything.
    */
-  refresh: function(options={}) {
+  refresh: function (options = {}) {
     let bounds = this._parent.getBoundingClientRect();
     let newWidth = this.fixedWidth || bounds.width;
     let newHeight = this.fixedHeight || bounds.height;
 
     // Prevent redrawing everything if the graph's width & height won't change,
     // except if force=true.
     if (!options.force &&
         this._width == newWidth * this._pixelRatio &&
@@ -424,26 +424,26 @@ FlameGraph.prototype = {
    * like the data source, or the selection bounds etc. This flag tracks
    * if the rendering is "dirty" and needs to be refreshed.
    */
   _shouldRedraw: false,
 
   /**
    * Animation frame callback, invoked on each tick of the refresh driver.
    */
-  _onAnimationFrame: function() {
+  _onAnimationFrame: function () {
     this._animationId = this._window.requestAnimationFrame(this._onAnimationFrame);
     this._drawWidget();
   },
 
   /**
    * Redraws the widget when necessary. The actual graph is not refreshed
    * every time this function is called, only the cliphead, selection etc.
    */
-  _drawWidget: function() {
+  _drawWidget: function () {
     if (!this._shouldRedraw) {
       return;
     }
 
     // Unlike mouse events which are updated as needed in their own respective
     // handlers, keyboard events are granular and non-continuous (not even
     // "keydown", which is fired with a low frequency). Therefore, to maintain
     // animation smoothness, update anything that's controllable via the
@@ -473,17 +473,17 @@ FlameGraph.prototype = {
       throw new Error("The user went back in time from a pyramid.");
     }
   },
 
   /**
    * Performs any necessary changes to the graph's state based on the
    * user's input on a keyboard.
    */
-  _keyboardUpdateLoop: function() {
+  _keyboardUpdateLoop: function () {
     const KEY_CODE_UP = 38;
     const KEY_CODE_DOWN = 40;
     const KEY_CODE_LEFT = 37;
     const KEY_CODE_RIGHT = 39;
     const KEY_CODE_W = 87;
     const KEY_CODE_A = 65;
     const KEY_CODE_S = 83;
     const KEY_CODE_D = 68;
@@ -560,17 +560,17 @@ FlameGraph.prototype = {
 
   /**
    * Draws the overhead header, with time markers and ticks in this graph.
    *
    * @param number dataOffset, dataScale
    *        Offsets and scales the data source by the specified amount.
    *        This is used for scrolling the visualization.
    */
-  _drawHeader: function(dataOffset, dataScale) {
+  _drawHeader: function (dataOffset, dataScale) {
     let ctx = this._ctx;
     let canvasWidth = this._width;
     let headerHeight = OVERVIEW_HEADER_HEIGHT * this._pixelRatio;
 
     ctx.fillStyle = this.overviewHeaderBackgroundColor;
     ctx.fillRect(0, 0, canvasWidth, headerHeight);
 
     this._drawTicks(dataOffset, dataScale, { from: 0, to: headerHeight, renderText: true });
@@ -580,18 +580,18 @@ FlameGraph.prototype = {
    * Draws the overhead ticks in this graph in the flame graph area.
    *
    * @param number dataOffset, dataScale, from, to, renderText
    *        Offsets and scales the data source by the specified amount.
    *        from and to determine the Y position of how far the stroke
    *        should be drawn.
    *        This is used when scrolling the visualization.
    */
-  _drawTicks: function(dataOffset, dataScale, options) {
-    let { from, to, renderText }  = options || {};
+  _drawTicks: function (dataOffset, dataScale, options) {
+    let { from, to, renderText } = options || {};
     let ctx = this._ctx;
     let canvasWidth = this._width;
     let canvasHeight = this._height;
     let scaledOffset = dataOffset * dataScale;
 
     let fontSize = OVERVIEW_HEADER_TEXT_FONT_SIZE * this._pixelRatio;
     let fontFamily = OVERVIEW_HEADER_TEXT_FONT_FAMILY;
     let textPaddingLeft = OVERVIEW_HEADER_TEXT_PADDING_LEFT * this._pixelRatio;
@@ -625,17 +625,17 @@ FlameGraph.prototype = {
    * @param object dataSource
    *        The data source. See the constructor for more information.
    * @param number verticalOffset
    *        Offsets the drawing vertically by the specified amount.
    * @param number dataOffset, dataScale
    *        Offsets and scales the data source by the specified amount.
    *        This is used for scrolling the visualization.
    */
-  _drawPyramid: function(dataSource, verticalOffset, dataOffset, dataScale) {
+  _drawPyramid: function (dataSource, verticalOffset, dataOffset, dataScale) {
     let ctx = this._ctx;
 
     let fontSize = FLAME_GRAPH_BLOCK_TEXT_FONT_SIZE * this._pixelRatio;
     let fontFamily = FLAME_GRAPH_BLOCK_TEXT_FONT_FAMILY;
     let visibleBlocksInfo = this._drawPyramidFill(dataSource, verticalOffset, dataOffset, dataScale);
 
     ctx.textBaseline = "middle";
     ctx.font = fontSize + "px " + fontFamily;
@@ -643,34 +643,34 @@ FlameGraph.prototype = {
 
     this._drawPyramidText(visibleBlocksInfo, verticalOffset, dataOffset, dataScale);
   },
 
   /**
    * Fills all block inside this graph's pyramid.
    * @see FlameGraph.prototype._drawPyramid
    */
-  _drawPyramidFill: function(dataSource, verticalOffset, dataOffset, dataScale) {
+  _drawPyramidFill: function (dataSource, verticalOffset, dataOffset, dataScale) {
     let visibleBlocksInfoStore = [];
     let minVisibleBlockWidth = this._overflowCharWidth;
 
     for (let { color, blocks } of dataSource) {
       this._drawBlocksFill(
         color, blocks, verticalOffset, dataOffset, dataScale,
         visibleBlocksInfoStore, minVisibleBlockWidth);
     }
 
     return visibleBlocksInfoStore;
   },
 
   /**
    * Adds the text for all block inside this graph's pyramid.
    * @see FlameGraph.prototype._drawPyramid
    */
-  _drawPyramidText: function(blocksInfo, verticalOffset, dataOffset, dataScale) {
+  _drawPyramidText: function (blocksInfo, verticalOffset, dataOffset, dataScale) {
     for (let { block, rect } of blocksInfo) {
       this._drawBlockText(block, rect, verticalOffset, dataOffset, dataScale);
     }
   },
 
   /**
    * Fills a group of blocks sharing the same style.
    *
@@ -687,17 +687,17 @@ FlameGraph.prototype = {
    * @param array visibleBlocksInfoStore
    *        An array to store all the visible blocks into, along with the
    *        final baked coordinates and dimensions, after drawing them.
    *        The provided array will be populated.
    * @param number minVisibleBlockWidth
    *        The minimum width of the blocks that will be added into
    *        the `visibleBlocksInfoStore`.
    */
-  _drawBlocksFill: function(
+  _drawBlocksFill: function (
     color, blocks, verticalOffset, dataOffset, dataScale,
     visibleBlocksInfoStore, minVisibleBlockWidth)
   {
     let ctx = this._ctx;
     let canvasWidth = this._width;
     let canvasHeight = this._height;
     let scaledOffset = dataOffset * dataScale;
 
@@ -761,17 +761,17 @@ FlameGraph.prototype = {
    *        Think of them as screen-space values, vs. object-space values. These
    *        differ from the scalars in `block` when the graph is scaled/panned.
    * @param number verticalOffset
    *        Offsets the drawing vertically by the specified amount.
    * @param number dataOffset, dataScale
    *        Offsets and scales the data source by the specified amount.
    *        This is used for scrolling the visualization.
    */
-  _drawBlockText: function(block, rect, verticalOffset, dataOffset, dataScale) {
+  _drawBlockText: function (block, rect, verticalOffset, dataOffset, dataScale) {
     let ctx = this._ctx;
     let scaledOffset = dataOffset * dataScale;
 
     let { x, y, width, height, text } = block;
     let { rectLeft, rectTop, rectWidth, rectHeight } = rect;
 
     let paddingTop = FLAME_GRAPH_BLOCK_TEXT_PADDING_TOP * this._pixelRatio;
     let paddingLeft = FLAME_GRAPH_BLOCK_TEXT_PADDING_LEFT * this._pixelRatio;
@@ -812,17 +812,17 @@ FlameGraph.prototype = {
    * Gets the width of the specified text, for the current context state
    * (font size, family etc.).
    *
    * @param string text
    *        The text to analyze.
    * @return number
    *         The text width.
    */
-  _getTextWidth: function(text) {
+  _getTextWidth: function (text) {
     let cachedWidth = this._textWidthsCache[text];
     if (cachedWidth) {
       return cachedWidth;
     }
     let metrics = this._ctx.measureText(text);
     return (this._textWidthsCache[text] = metrics.width);
   },
 
@@ -830,29 +830,29 @@ FlameGraph.prototype = {
    * Gets an approximate width of the specified text. This is much faster
    * than `_getTextWidth`, but inexact.
    *
    * @param string text
    *        The text to analyze.
    * @return number
    *         The approximate text width.
    */
-  _getTextWidthApprox: function(text) {
+  _getTextWidthApprox: function (text) {
     return text.length * this._averageCharWidth;
   },
 
   /**
    * Gets the average letter width in the English alphabet, for the current
    * context state (font size, family etc.). This provides a close enough
    * value to use in `_getTextWidthApprox`.
    *
    * @return number
    *         The average letter width.
    */
-  _calcAverageCharWidth: function() {
+  _calcAverageCharWidth: function () {
     let letterWidthsSum = 0;
     let start = 32; // space
     let end = 123; // "z"
 
     for (let i = start; i < end; i++) {
       let char = String.fromCharCode(i);
       letterWidthsSum += this._getTextWidth(char);
     }
@@ -866,17 +866,17 @@ FlameGraph.prototype = {
    *
    * @param string text
    *        The text to fit inside the given width.
    * @param number maxWidth
    *        The available width for the given text.
    * @return string
    *         The fitted text.
    */
-  _getFittedText: function(text, maxWidth) {
+  _getFittedText: function (text, maxWidth) {
     let textWidth = this._getTextWidth(text);
     if (textWidth < maxWidth) {
       return text;
     }
     if (this._overflowCharWidth > maxWidth) {
       return "";
     }
     for (let i = 1, len = text.length; i <= len; i++) {
@@ -887,50 +887,50 @@ FlameGraph.prototype = {
       }
     }
     return "";
   },
 
   /**
    * Listener for the "keydown" event on the graph's container.
    */
-  _onKeyDown: function(e) {
+  _onKeyDown: function (e) {
     ViewHelpers.preventScrolling(e);
 
     if (!this._keysPressed[e.keyCode]) {
       this._keysPressed[e.keyCode] = true;
       this._userInputStack++;
       this._shouldRedraw = true;
     }
   },
 
   /**
    * Listener for the "keyup" event on the graph's container.
    */
-  _onKeyUp: function(e) {
+  _onKeyUp: function (e) {
     ViewHelpers.preventScrolling(e);
 
     if (this._keysPressed[e.keyCode]) {
       this._keysPressed[e.keyCode] = false;
       this._userInputStack--;
       this._shouldRedraw = true;
     }
   },
 
   /**
    * Listener for the "keypress" event on the graph's container.
    */
-  _onKeyPress: function(e) {
+  _onKeyPress: function (e) {
     ViewHelpers.preventScrolling(e);
   },
 
   /**
    * Listener for the "mousemove" event on the graph's container.
    */
-  _onMouseMove: function(e) {
+  _onMouseMove: function (e) {
     let {mouseX, mouseY} = this._getRelativeEventCoordinates(e);
 
     let canvasWidth = this._width;
     let canvasHeight = this._height;
 
     let selection = this._selection;
     let selectionWidth = selection.end - selection.start;
     let selectionScale = canvasWidth / selectionWidth;
@@ -970,17 +970,17 @@ FlameGraph.prototype = {
       this._shouldRedraw = true;
       this.emit("panning-vertically");
     }
   },
 
   /**
    * Listener for the "mousedown" event on the graph's container.
    */
-  _onMouseDown: function(e) {
+  _onMouseDown: function (e) {
     let {mouseX, mouseY} = this._getRelativeEventCoordinates(e);
 
     this._selectionDragger.origin = mouseX;
     this._selectionDragger.anchor.start = this._selection.start;
     this._selectionDragger.anchor.end = this._selection.end;
 
     this._verticalOffsetDragger.origin = mouseY;
     this._verticalOffsetDragger.anchor = this._verticalOffset;
@@ -989,30 +989,30 @@ FlameGraph.prototype = {
     this._verticalDragEnabled = false;
 
     this._canvas.setAttribute("input", "adjusting-view-area");
   },
 
   /**
    * Listener for the "mouseup" event on the graph's container.
    */
-  _onMouseUp: function() {
+  _onMouseUp: function () {
     this._selectionDragger.origin = null;
     this._verticalOffsetDragger.origin = null;
     this._horizontalDragEnabled = false;
     this._horizontalDragDirection = 0;
     this._verticalDragEnabled = false;
     this._verticalDragDirection = 0;
     this._canvas.removeAttribute("input");
   },
 
   /**
    * Listener for the "wheel" event on the graph's container.
    */
-  _onMouseWheel: function(e) {
+  _onMouseWheel: function (e) {
     let {mouseX} = this._getRelativeEventCoordinates(e);
 
     let canvasWidth = this._width;
     let canvasHeight = this._height;
 
     let selection = this._selection;
     let selectionWidth = selection.end - selection.start;
     let selectionScale = canvasWidth / selectionWidth;
@@ -1039,17 +1039,17 @@ FlameGraph.prototype = {
     this.emit("selecting");
   },
 
   /**
    * Makes sure the start and end points of the current selection
    * are withing the graph's visible bounds, and that they form a selection
    * wider than the allowed minimum width.
    */
-  _normalizeSelectionBounds: function() {
+  _normalizeSelectionBounds: function () {
     let boundsStart = this._bounds.start;
     let boundsEnd = this._bounds.end;
     let selectionStart = this._selection.start;
     let selectionEnd = this._selection.end;
 
     if (selectionStart < boundsStart) {
       selectionStart = boundsStart;
     }
@@ -1073,28 +1073,28 @@ FlameGraph.prototype = {
     this._selection.start = selectionStart;
     this._selection.end = selectionEnd;
   },
 
   /**
    * Makes sure that the current vertical offset is within the allowed
    * panning range.
    */
-  _normalizeVerticalOffset: function() {
+  _normalizeVerticalOffset: function () {
     this._verticalOffset = Math.max(this._verticalOffset, 0);
   },
 
   /**
    *
    * Finds the optimal tick interval between time markers in this graph.
    *
    * @param number dataScale
    * @return number
    */
-  _findOptimalTickInterval: function(dataScale) {
+  _findOptimalTickInterval: function (dataScale) {
     let timingStep = TIMELINE_TICKS_MULTIPLE;
     let spacingMin = TIMELINE_TICKS_SPACING_MIN * this._pixelRatio;
     let maxIters = FIND_OPTIMAL_TICK_INTERVAL_MAX_ITERS;
     let numIters = 0;
 
     if (dataScale > spacingMin) {
       return dataScale;
     }
@@ -1113,54 +1113,54 @@ FlameGraph.prototype = {
   },
 
   /**
    * Gets the offset of this graph's container relative to the owner window.
    *
    * @return object
    *         The { left, top } offset.
    */
-  _getContainerOffset: function() {
+  _getContainerOffset: function () {
     let node = this._canvas;
     let x = 0;
     let y = 0;
 
     while ((node = node.offsetParent)) {
       x += node.offsetLeft;
       y += node.offsetTop;
     }
 
     return { left: x, top: y };
   },
 
   /**
    * Given a MouseEvent, make it relative to this._canvas.
    * @return object {mouseX,mouseY}
    */
-  _getRelativeEventCoordinates: function(e) {
+  _getRelativeEventCoordinates: function (e) {
     // For ease of testing, testX and testY can be passed in as the event
     // object.
     if ("testX" in e && "testY" in e) {
       return {
         mouseX: e.testX * this._pixelRatio,
         mouseY: e.testY * this._pixelRatio
       };
     }
 
     let offset = this._getContainerOffset();
     let mouseX = (e.clientX - offset.left) * this._pixelRatio;
     let mouseY = (e.clientY - offset.top) * this._pixelRatio;
 
-    return {mouseX,mouseY};
+    return {mouseX, mouseY};
   },
 
   /**
    * Listener for the "resize" event on the graph's parent node.
    */
-  _onResize: function() {
+  _onResize: function () {
     if (this.hasData()) {
       setNamedTimeout(this._uid, GRAPH_RESIZE_EVENTS_DRAIN, this.refresh);
     }
   }
 };
 
 /**
  * A collection of utility functions converting various data sources
@@ -1179,17 +1179,17 @@ var FlameGraphUtils = {
    *               Additional supported options,
    *                 - boolean contentOnly [optional]
    *                 - boolean invertTree [optional]
    *                 - boolean flattenRecursion [optional]
    *                 - string showIdleBlocks [optional]
    * @return object
    *         Data source usable by FlameGraph.
    */
-  createFlameGraphDataFromThread: function(thread, options = {}, out = []) {
+  createFlameGraphDataFromThread: function (thread, options = {}, out = []) {
     let cached = this._cache.get(thread);
     if (cached) {
       return cached;
     }
 
     // 1. Create a map of colors to arrays, representing buckets of
     // blocks inside the flame graph pyramid sharing the same style.
 
@@ -1362,27 +1362,27 @@ var FlameGraphUtils = {
     this._cache.set(thread, out);
     return out;
   },
 
   /**
    * Clears the cached flame graph data created for the given source.
    * @param any source
    */
-  removeFromCache: function(source) {
+  removeFromCache: function (source) {
     this._cache.delete(source);
   },
 
   /**
    * Very dumb hashing of a string. Used to pick colors from a pallette.
    *
    * @param string input
    * @return number
    */
-  _getStringHash: function(input) {
+  _getStringHash: function (input) {
     const STRING_HASH_PRIME1 = 7;
     const STRING_HASH_PRIME2 = 31;
 
     let hash = STRING_HASH_PRIME1;
 
     for (let i = 0, len = input.length; i < len; i++) {
       hash *= STRING_HASH_PRIME2;
       hash += input.charCodeAt(i);
--- a/devtools/client/shared/widgets/Graphs.js
+++ b/devtools/client/shared/widgets/Graphs.js
@@ -39,32 +39,32 @@ const GRAPH_REGION_LINE_COLOR = "rgba(23
 const GRAPH_STRIPE_PATTERN_WIDTH = 16; // px
 const GRAPH_STRIPE_PATTERN_HEIGHT = 16; // px
 const GRAPH_STRIPE_PATTERN_LINE_WIDTH = 2; // px
 const GRAPH_STRIPE_PATTERN_LINE_SPACING = 4; // px
 
 /**
  * Small data primitives for all graphs.
  */
-this.GraphCursor = function() {
+this.GraphCursor = function () {
   this.x = null;
   this.y = null;
 };
 
-this.GraphArea = function() {
+this.GraphArea = function () {
   this.start = null;
   this.end = null;
 };
 
-this.GraphAreaDragger = function(anchor = new GraphArea()) {
+this.GraphAreaDragger = function (anchor = new GraphArea()) {
   this.origin = null;
   this.anchor = anchor;
 };
 
-this.GraphAreaResizer = function() {
+this.GraphAreaResizer = function () {
   this.margin = null;
 };
 
 /**
  * Base class for all graphs using a canvas to render the data source. Handles
  * frame creation, data source, selection bounds, cursor position, etc.
  *
  * Language:
@@ -88,17 +88,17 @@ this.GraphAreaResizer = function() {
  * @param nsIDOMNode parent
  *        The parent node holding the graph.
  * @param string name
  *        The graph type, used for setting the correct class names.
  *        Currently supported: "line-graph" only.
  * @param number sharpness [optional]
  *        Defaults to the current device pixel ratio.
  */
-this.AbstractCanvasGraph = function(parent, name, sharpness) {
+this.AbstractCanvasGraph = function (parent, name, sharpness) {
   EventEmitter.decorate(this);
 
   this._parent = parent;
   this._ready = promise.defer();
 
   this._uid = "canvas-graph-" + Date.now();
   this._renderTargets = new Map();
 
@@ -174,24 +174,24 @@ AbstractCanvasGraph.prototype = {
    */
   get isMouseActive() {
     return this._isMouseActive;
   },
 
   /**
    * Returns a promise resolved once this graph is ready to receive data.
    */
-  ready: function() {
+  ready: function () {
     return this._ready.promise;
   },
 
   /**
    * Destroys this graph.
    */
-  destroy: Task.async(function *() {
+  destroy: Task.async(function* () {
     yield this.ready();
 
     this._topWindow.removeEventListener("mousemove", this._onMouseMove);
     this._topWindow.removeEventListener("mouseup", this._onMouseUp);
     this._window.removeEventListener("mousemove", this._onMouseMove);
     this._window.removeEventListener("mousedown", this._onMouseDown);
     this._window.removeEventListener("MozMousePixelScroll", this._onMouseWheel);
     this._window.removeEventListener("mouseout", this._onMouseOut);
@@ -241,94 +241,94 @@ AbstractCanvasGraph.prototype = {
    */
   fixedWidth: null,
   fixedHeight: null,
 
   /**
    * Optionally builds and caches a background image for this graph.
    * Inheriting classes may override this method.
    */
-  buildBackgroundImage: function() {
+  buildBackgroundImage: function () {
     return null;
   },
 
   /**
    * Builds and caches a graph image, based on the data source supplied
    * in `setData`. The graph image is not rebuilt on each frame, but
    * only when the data source changes.
    */
-  buildGraphImage: function() {
+  buildGraphImage: function () {
     throw "This method needs to be implemented by inheriting classes.";
   },
 
   /**
    * Optionally builds and caches a mask image for this graph, composited
    * over the data image created via `buildGraphImage`. Inheriting classes
    * may override this method.
    */
-  buildMaskImage: function() {
+  buildMaskImage: function () {
     return null;
   },
 
   /**
    * When setting the data source, the coordinates and values may be
    * stretched or squeezed on the X/Y axis, to fit into the available space.
    */
   dataScaleX: 1,
   dataScaleY: 1,
 
   /**
    * Sets the data source for this graph.
    *
    * @param object data
    *        The data source. The actual format is specified by subclasses.
    */
-  setData: function(data) {
+  setData: function (data) {
     this._data = data;
     this._cachedBackgroundImage = this.buildBackgroundImage();
     this._cachedGraphImage = this.buildGraphImage();
     this._shouldRedraw = true;
   },
 
   /**
    * Same as `setData`, but waits for this graph to finish initializing first.
    *
    * @param object data
    *        The data source. The actual format is specified by subclasses.
    * @return promise
    *         A promise resolved once the data is set.
    */
-  setDataWhenReady: Task.async(function*(data) {
+  setDataWhenReady: Task.async(function* (data) {
     yield this.ready();
     this.setData(data);
   }),
 
   /**
    * Adds a mask to this graph.
    *
    * @param any mask, options
    *        See `buildMaskImage` in inheriting classes for the required args.
    */
-  setMask: function(mask, ...options) {
+  setMask: function (mask, ...options) {
     this._mask = mask;
     this._maskArgs = [mask, ...options];
     this._cachedMaskImage = this.buildMaskImage.apply(this, this._maskArgs);
     this._shouldRedraw = true;
   },
 
   /**
    * Adds regions to this graph.
    *
    * See the "Language" section in the constructor documentation
    * for details about what "regions" represent.
    *
    * @param array regions
    *        A list of { start, end } values.
    */
-  setRegions: function(regions) {
+  setRegions: function (regions) {
     if (!this._cachedGraphImage) {
       throw "Can't highlight regions on a graph with no data displayed.";
     }
     if (this._regions) {
       throw "Regions were already highlighted on the graph.";
     }
     this._regions = regions.map(e => ({
       start: e.start * this.dataScaleX,
@@ -337,49 +337,49 @@ AbstractCanvasGraph.prototype = {
     this._bakeRegions(this._regions, this._cachedGraphImage);
     this._shouldRedraw = true;
   },
 
   /**
    * Gets whether or not this graph has a data source.
    * @return boolean
    */
-  hasData: function() {
+  hasData: function () {
     return !!this._data;
   },
 
   /**
    * Gets whether or not this graph has any mask applied.
    * @return boolean
    */
-  hasMask: function() {
+  hasMask: function () {
     return !!this._mask;
   },
 
   /**
    * Gets whether or not this graph has any regions.
    * @return boolean
    */
-  hasRegions: function() {
+  hasRegions: function () {
     return !!this._regions;
   },
 
   /**
    * Sets the selection bounds.
    * Use `dropSelection` to remove the selection.
    *
    * If the bounds aren't different, no "selection" event is emitted.
    *
    * See the "Language" section in the constructor documentation
    * for details about what a "selection" represents.
    *
    * @param object selection
    *        The selection's { start, end } values.
    */
-  setSelection: function(selection) {
+  setSelection: function (selection) {
     if (!selection || selection.start == null || selection.end == null) {
       throw "Invalid selection coordinates";
     }
     if (!this.isSelectionDifferent(selection)) {
       return;
     }
     this._selection.start = selection.start;
     this._selection.end = selection.end;
@@ -389,17 +389,17 @@ AbstractCanvasGraph.prototype = {
 
   /**
    * Gets the selection bounds.
    * If there's no selection, the bounds have null values.
    *
    * @return object
    *         The selection's { start, end } values.
    */
-  getSelection: function() {
+  getSelection: function () {
     if (this.hasSelection()) {
       return { start: this._selection.start, end: this._selection.end };
     }
     if (this.hasSelectionInProgress()) {
       return { start: this._selection.start, end: this._cursor.x };
     }
     return { start: null, end: null };
   },
@@ -409,17 +409,17 @@ AbstractCanvasGraph.prototype = {
    * such that a [0, max width] selection maps to [first value, last value].
    *
    * @param object selection
    *        The selection's { start, end } values.
    * @param object { mapStart, mapEnd } mapping [optional]
    *        Invoked when retrieving the numbers in the data source representing
    *        the first and last values, on the X axis.
    */
-  setMappedSelection: function(selection, mapping = {}) {
+  setMappedSelection: function (selection, mapping = {}) {
     if (!this.hasData()) {
       throw "A data source is necessary for retrieving a mapped selection.";
     }
     if (!selection || selection.start == null || selection.end == null) {
       throw "Invalid selection coordinates";
     }
 
     let { mapStart, mapEnd } = mapping;
@@ -441,17 +441,17 @@ AbstractCanvasGraph.prototype = {
    * such that a [0, max width] selection maps to [first value, last value].
    *
    * @param object { mapStart, mapEnd } mapping [optional]
    *        Invoked when retrieving the numbers in the data source representing
    *        the first and last values, on the X axis.
    * @return object
    *         The mapped selection's { min, max } values.
    */
-  getMappedSelection: function(mapping = {}) {
+  getMappedSelection: function (mapping = {}) {
     if (!this.hasData()) {
       throw "A data source is necessary for retrieving a mapped selection.";
     }
     if (!this.hasSelection() && !this.hasSelectionInProgress()) {
       return { min: null, max: null };
     }
 
     let { mapStart, mapEnd } = mapping;
@@ -468,41 +468,41 @@ AbstractCanvasGraph.prototype = {
     max = map(max, 0, this._width, startTime, endTime);
 
     return { min: min, max: max };
   },
 
   /**
    * Removes the selection.
    */
-  dropSelection: function() {
+  dropSelection: function () {
     if (!this.hasSelection() && !this.hasSelectionInProgress()) {
       return;
     }
     this._selection.start = null;
     this._selection.end = null;
     this._shouldRedraw = true;
     this.emit("deselecting");
   },
 
   /**
    * Gets whether or not this graph has a selection.
    * @return boolean
    */
-  hasSelection: function() {
+  hasSelection: function () {
     return this._selection &&
       this._selection.start != null && this._selection.end != null;
   },
 
   /**
    * Gets whether or not a selection is currently being made, for example
    * via a click+drag operation.
    * @return boolean
    */
-  hasSelectionInProgress: function() {
+  hasSelectionInProgress: function () {
     return this._selection &&
       this._selection.start != null && this._selection.end == null;
   },
 
   /**
    * Specifies whether or not mouse selection is allowed.
    * @type boolean
    */
@@ -510,17 +510,17 @@ AbstractCanvasGraph.prototype = {
 
   /**
    * Sets the selection bounds.
    * Use `dropCursor` to hide the cursor.
    *
    * @param object cursor
    *        The cursor's { x, y } position.
    */
-  setCursor: function(cursor) {
+  setCursor: function (cursor) {
     if (!cursor || cursor.x == null || cursor.y == null) {
       throw "Invalid cursor coordinates";
     }
     if (!this.isCursorDifferent(cursor)) {
       return;
     }
     this._cursor.x = cursor.x;
     this._cursor.y = cursor.y;
@@ -529,100 +529,100 @@ AbstractCanvasGraph.prototype = {
 
   /**
    * Gets the cursor position.
    * If there's no cursor, the position has null values.
    *
    * @return object
    *         The cursor's { x, y } values.
    */
-  getCursor: function() {
+  getCursor: function () {
     return { x: this._cursor.x, y: this._cursor.y };
   },
 
   /**
    * Hides the cursor.
    */
-  dropCursor: function() {
+  dropCursor: function () {
     if (!this.hasCursor()) {
       return;
     }
     this._cursor.x = null;
     this._cursor.y = null;
     this._shouldRedraw = true;
   },
 
   /**
    * Gets whether or not this graph has a visible cursor.
    * @return boolean
    */
-  hasCursor: function() {
+  hasCursor: function () {
     return this._cursor && this._cursor.x != null;
   },
 
   /**
    * Specifies if this graph's selection is different from another one.
    *
    * @param object other
    *        The other graph's selection, as { start, end } values.
    */
-  isSelectionDifferent: function(other) {
+  isSelectionDifferent: function (other) {
     if (!other) return true;
     let current = this.getSelection();
     return current.start != other.start || current.end != other.end;
   },
 
   /**
    * Specifies if this graph's cursor is different from another one.
    *
    * @param object other
    *        The other graph's position, as { x, y } values.
    */
-  isCursorDifferent: function(other) {
+  isCursorDifferent: function (other) {
     if (!other) return true;
     let current = this.getCursor();
     return current.x != other.x || current.y != other.y;
   },
 
   /**
    * Gets the width of the current selection.
    * If no selection is available, 0 is returned.
    *
    * @return number
    *         The selection width.
    */
-  getSelectionWidth: function() {
+  getSelectionWidth: function () {
     let selection = this.getSelection();
     return Math.abs(selection.start - selection.end);
   },
 
   /**
    * Gets the currently hovered region, if any.
    * If no region is currently hovered, null is returned.
    *
    * @return object
    *         The hovered region, as { start, end } values.
    */
-  getHoveredRegion: function() {
+  getHoveredRegion: function () {
     if (!this.hasRegions() || !this.hasCursor()) {
       return null;
     }
     let { x } = this._cursor;
     return this._regions.find(({ start, end }) =>
       (start < end && start < x && end > x) ||
       (start > end && end < x && start > x));
   },
 
   /**
    * Updates this graph to reflect the new dimensions of the parent node.
    *
    * @param boolean options.force
    *        Force redrawing everything
    */
-  refresh: function(options={}) {
+  refresh: function (options = {}) {
     let bounds = this._parent.getBoundingClientRect();
     let newWidth = this.fixedWidth || bounds.width;
     let newHeight = this.fixedHeight || bounds.height;
 
     // Prevent redrawing everything if the graph's width & height won't change,
     // except if force=true.
     if (!options.force &&
         this._width == newWidth * this._pixelRatio &&
@@ -667,17 +667,17 @@ AbstractCanvasGraph.prototype = {
    * will be cleared and returned.
    *
    * @param string name
    *        The canvas name.
    * @param number width, height [optional]
    *        A custom width and height for the canvas. Defaults to this graph's
    *        container canvas width and height.
    */
-  _getNamedCanvas: function(name, width = this._width, height = this._height) {
+  _getNamedCanvas: function (name, width = this._width, height = this._height) {
     let cachedRenderTarget = this._renderTargets.get(name);
     if (cachedRenderTarget) {
       let { canvas, ctx } = cachedRenderTarget;
       canvas.width = width;
       canvas.height = height;
       ctx.clearRect(0, 0, width, height);
       return cachedRenderTarget;
     }
@@ -697,26 +697,26 @@ AbstractCanvasGraph.prototype = {
    * like the data source, or the selection bounds etc. This flag tracks
    * if the rendering is "dirty" and needs to be refreshed.
    */
   _shouldRedraw: false,
 
   /**
    * Animation frame callback, invoked on each tick of the refresh driver.
    */
-  _onAnimationFrame: function() {
+  _onAnimationFrame: function () {
     this._animationId = this._window.requestAnimationFrame(this._onAnimationFrame);
     this._drawWidget();
   },
 
   /**
    * Redraws the widget when necessary. The actual graph is not refreshed
    * every time this function is called, only the cliphead, selection etc.
    */
-  _drawWidget: function() {
+  _drawWidget: function () {
     if (!this._shouldRedraw) {
       return;
     }
     let ctx = this._ctx;
     ctx.clearRect(0, 0, this._width, this._height);
 
     if (this._cachedGraphImage) {
       ctx.drawImage(this._cachedGraphImage, 0, 0, this._width, this._height);
@@ -743,34 +743,34 @@ AbstractCanvasGraph.prototype = {
     }
 
     this._shouldRedraw = false;
   },
 
   /**
    * Draws the cliphead, if available and necessary.
    */
-  _drawCliphead: function() {
+  _drawCliphead: function () {
     if (this._isHoveringSelectionContentsOrBoundaries() || this._isHoveringRegion()) {
       return;
     }
 
     let ctx = this._ctx;
     ctx.lineWidth = this.clipheadLineWidth;
     ctx.strokeStyle = this.clipheadLineColor;
     ctx.beginPath();
     ctx.moveTo(this._cursor.x, 0);
     ctx.lineTo(this._cursor.x, this._height);
     ctx.stroke();
   },
 
   /**
    * Draws the selection, if available and necessary.
    */
-  _drawSelection: function() {
+  _drawSelection: function () {
     let { start, end } = this.getSelection();
     let input = this._canvas.getAttribute("input");
 
     let ctx = this._ctx;
     ctx.strokeStyle = this.selectionLineColor;
 
     // Fill selection.
 
@@ -808,17 +808,17 @@ AbstractCanvasGraph.prototype = {
     ctx.lineTo(end, 0);
     ctx.stroke();
   },
 
   /**
    * Draws regions into the cached graph image, created via `buildGraphImage`.
    * Called when new regions are set.
    */
-  _bakeRegions: function(regions, destination) {
+  _bakeRegions: function (regions, destination) {
     let ctx = destination.getContext("2d");
 
     let pattern = AbstractCanvasGraph.getStripePattern({
       ownerDocument: this._document,
       backgroundColor: this.regionBackgroundColor,
       stripesColor: this.regionStripesColor
     });
     ctx.fillStyle = pattern;
@@ -835,77 +835,77 @@ AbstractCanvasGraph.prototype = {
       ctx.strokeRect(x, y, width, height);
     }
   },
 
   /**
    * Checks whether the start handle of the selection is hovered.
    * @return boolean
    */
-  _isHoveringStartBoundary: function() {
+  _isHoveringStartBoundary: function () {
     if (!this.hasSelection() || !this.hasCursor()) {
       return;
     }
     let { x } = this._cursor;
     let { start } = this._selection;
     let threshold = GRAPH_SELECTION_BOUNDARY_HOVER_THRESHOLD * this._pixelRatio;
     return Math.abs(start - x) < threshold;
   },
 
   /**
    * Checks whether the end handle of the selection is hovered.
    * @return boolean
    */
-  _isHoveringEndBoundary: function() {
+  _isHoveringEndBoundary: function () {
     if (!this.hasSelection() || !this.hasCursor()) {
       return;
     }
     let { x } = this._cursor;
     let { end } = this._selection;
     let threshold = GRAPH_SELECTION_BOUNDARY_HOVER_THRESHOLD * this._pixelRatio;
     return Math.abs(end - x) < threshold;
   },
 
   /**
    * Checks whether the selection is hovered.
    * @return boolean
    */
-  _isHoveringSelectionContents: function() {
+  _isHoveringSelectionContents: function () {
     if (!this.hasSelection() || !this.hasCursor()) {
       return;
     }
     let { x } = this._cursor;
     let { start, end } = this._selection;
     return (start < end && start < x && end > x) ||
            (start > end && end < x && start > x);
   },
 
   /**
    * Checks whether the selection or its handles are hovered.
    * @return boolean
    */
-  _isHoveringSelectionContentsOrBoundaries: function() {
+  _isHoveringSelectionContentsOrBoundaries: function () {
     return this._isHoveringSelectionContents() ||
            this._isHoveringStartBoundary() ||
            this._isHoveringEndBoundary();
   },
 
   /**
    * Checks whether a region is hovered.
    * @return boolean
    */
-  _isHoveringRegion: function() {
+  _isHoveringRegion: function () {
     return !!this.getHoveredRegion();
   },
 
   /**
    * Given a MouseEvent, make it relative to this._canvas.
    * @return object {mouseX,mouseY}
    */
-  _getRelativeEventCoordinates: function(e) {
+  _getRelativeEventCoordinates: function (e) {
     // For ease of testing, testX and testY can be passed in as the event
     // object.  If so, just return this.
     if ("testX" in e && "testY" in e) {
       return {
         mouseX: e.testX * this._pixelRatio,
         mouseY: e.testY * this._pixelRatio
       };
     }
@@ -941,23 +941,23 @@ AbstractCanvasGraph.prototype = {
     let mouseY = Math.max(0, Math.min(x, maxY)) * this._pixelRatio;
 
     // The coordinates need to be modified with the current zoom level
     // to prevent them from being wrong.
     let zoom = getCurrentZoom(this._canvas);
     mouseX /= zoom;
     mouseY /= zoom;
 
-    return {mouseX,mouseY};
+    return {mouseX, mouseY};
   },
 
   /**
    * Listener for the "mousemove" event on the graph's container.
    */
-  _onMouseMove: function(e) {
+  _onMouseMove: function (e) {
     let resizer = this._selectionResizer;
     let dragger = this._selectionDragger;
 
     // Need to stop propagation here, since this function can be bound
     // to both this._window and this._topWindow.  It's only attached to
     // this._topWindow during a drag event.  Null check here since tests
     // don't pass this method into the event object.
     if (e.stopPropagation && this._isMouseActive) {
@@ -967,17 +967,17 @@ AbstractCanvasGraph.prototype = {
     // If a mouseup happened outside the window and the current operation
     // is causing the selection to change, then end it.
     if (e.buttons == 0 && (this.hasSelectionInProgress() ||
                            resizer.margin != null ||
                            dragger.origin != null)) {
       return this._onMouseUp();
     }
 
-    let {mouseX,mouseY} = this._getRelativeEventCoordinates(e);
+    let {mouseX, mouseY} = this._getRelativeEventCoordinates(e);
     this._cursor.x = mouseX;
     this._cursor.y = mouseY;
 
     if (resizer.margin != null) {
       this._selection[resizer.margin] = mouseX;
       this._shouldRedraw = true;
       this.emit("selecting");
       return;
@@ -1023,17 +1023,17 @@ AbstractCanvasGraph.prototype = {
     }
 
     this._shouldRedraw = true;
   },
 
   /**
    * Listener for the "mousedown" event on the graph's container.
    */
-  _onMouseDown: function(e) {
+  _onMouseDown: function (e) {
     this._isMouseActive = true;
     let {mouseX} = this._getRelativeEventCoordinates(e);
 
     switch (this._canvas.getAttribute("input")) {
       case "hovering-background":
       case "hovering-region":
         if (!this.selectionEnabled) {
           break;
@@ -1066,17 +1066,17 @@ AbstractCanvasGraph.prototype = {
 
     this._shouldRedraw = true;
     this.emit("mousedown");
   },
 
   /**
    * Listener for the "mouseup" event on the graph's container.
    */
-  _onMouseUp: function() {
+  _onMouseUp: function () {
     this._isMouseActive = false;
     switch (this._canvas.getAttribute("input")) {
       case "hovering-background":
       case "hovering-region":
         if (!this.selectionEnabled) {
           break;
         }
         if (this.getSelectionWidth() < 1) {
@@ -1113,17 +1113,17 @@ AbstractCanvasGraph.prototype = {
 
     this._shouldRedraw = true;
     this.emit("mouseup");
   },
 
   /**
    * Listener for the "wheel" event on the graph's container.
    */
-  _onMouseWheel: function(e) {
+  _onMouseWheel: function (e) {
     if (!this.hasSelection()) {
       return;
     }
 
     let {mouseX} = this._getRelativeEventCoordinates(e);
     let focusX = mouseX;
 
     let selection = this._selection;
@@ -1182,29 +1182,29 @@ AbstractCanvasGraph.prototype = {
     this.emit("selecting");
     this.emit("scroll");
   },
 
   /**
    * Listener for the "mouseout" event on the graph's container.
    * Clear any active cursors if a drag isn't happening.
    */
-  _onMouseOut: function(e) {
+  _onMouseOut: function (e) {
     if (!this._isMouseActive) {
       this._cursor.x = null;
       this._cursor.y = null;
       this._canvas.removeAttribute("input");
       this._shouldRedraw = true;
     }
   },
 
   /**
    * Listener for the "resize" event on the graph's parent node.
    */
-  _onResize: function() {
+  _onResize: function () {
     if (this.hasData()) {
       // The assumption is that resize events may change the outside world
       // layout in a way that affects this graph's bounding box location
       // relative to the top window's document. Graphs aren't currently
       // (or ever) expected to move around on their own.
       this._maybeDirtyBoundingBox = true;
       setNamedTimeout(this._uid, GRAPH_RESIZE_EVENTS_DRAIN, this.refresh);
     }
@@ -1219,17 +1219,17 @@ AbstractCanvasGraph.prototype = {
  *
  * @param string url
  *        The desired source URL for the iframe.
  * @param nsIDOMNode parent
  *        The desired parent node for the iframe.
  * @param function callback
  *        Invoked once the content is loaded, with the iframe as an argument.
  */
-AbstractCanvasGraph.createIframe = function(url, parent, callback) {
+AbstractCanvasGraph.createIframe = function (url, parent, callback) {
   let iframe = parent.ownerDocument.createElementNS(HTML_NS, "iframe");
 
   iframe.addEventListener("DOMContentLoaded", function onLoad() {
     iframe.removeEventListener("DOMContentLoaded", onLoad);
     callback(iframe);
   });
 
   // Setting 100% width on the frame and flex on the parent allows the graph
@@ -1249,17 +1249,17 @@ AbstractCanvasGraph.createIframe = funct
  * @param object data
  *        The following properties are required:
  *          - ownerDocument: the nsIDocumentElement owning the canvas
  *          - backgroundColor: a string representing the fill style
  *          - stripesColor: a string representing the stroke style
  * @return nsIDOMCanvasPattern
  *         The custom striped pattern.
  */
-AbstractCanvasGraph.getStripePattern = function(data) {
+AbstractCanvasGraph.getStripePattern = function (data) {
   let { ownerDocument, backgroundColor, stripesColor } = data;
   let id = [backgroundColor, stripesColor].join(",");
 
   if (gCachedStripePattern.has(id)) {
     return gCachedStripePattern.get(id);
   }
 
   let canvas = ownerDocument.createElementNS(HTML_NS, "canvas");
@@ -1301,17 +1301,17 @@ const gCachedStripePattern = new Map();
  */
 this.CanvasGraphUtils = {
   _graphUtilsWorker: null,
   _graphUtilsTaskId: 0,
 
   /**
    * Merges the animation loop of two graphs.
    */
-  linkAnimation: Task.async(function*(graph1, graph2) {
+  linkAnimation: Task.async(function* (graph1, graph2) {
     if (!graph1 || !graph2) {
       return;
     }
     yield graph1.ready();
     yield graph2.ready();
 
     let window = graph1._window;
     window.cancelAnimationFrame(graph1._animationId);
@@ -1324,17 +1324,17 @@ this.CanvasGraphUtils = {
     };
 
     window.requestAnimationFrame(loop);
   }),
 
   /**
    * Makes sure selections in one graph are reflected in another.
    */
-  linkSelection: function(graph1, graph2) {
+  linkSelection: function (graph1, graph2) {
     if (!graph1 || !graph2) {
       return;
     }
 
     if (graph1.hasSelection()) {
       graph2.setSelection(graph1.getSelection());
     } else {
       graph2.dropSelection();
@@ -1359,17 +1359,17 @@ this.CanvasGraphUtils = {
    *
    * @param string task
    *        The task name. Currently supported: "plotTimestampsGraph".
    * @param any data
    *        Extra arguments to pass to the worker.
    * @return object
    *         A promise that is resolved once the worker finishes the task.
    */
-  _performTaskInWorker: function(task, data) {
+  _performTaskInWorker: function (task, data) {
     let worker = this._graphUtilsWorker || new DevToolsWorker(WORKER_URL);
     return worker.performTask(task, data);
   }
 };
 
 /**
  * Maps a value from one range to another.
  * @param number value, istart, istop, ostart, ostop
--- a/devtools/client/shared/widgets/LineGraphWidget.js
+++ b/devtools/client/shared/widgets/LineGraphWidget.js
@@ -58,17 +58,17 @@ const GRAPH_REGION_STRIPES_COLOR = "rgba
  * @param nsIDOMNode parent
  *        The parent node holding the graph.
  * @param object options [optional]
  *        `metric`: The metric displayed in the graph, e.g. "fps" or "bananas".
  *        `min`: Boolean whether to show the min tooltip/gutter/line (default: true)
  *        `max`: Boolean whether to show the max tooltip/gutter/line (default: true)
  *        `avg`: Boolean whether to show the avg tooltip/gutter/line (default: true)
  */
-this.LineGraphWidget = function(parent, options = {}, ...args) {
+this.LineGraphWidget = function (parent, options = {}, ...args) {
   let { metric, min, max, avg } = options;
 
   this._showMin = min !== false;
   this._showMax = max !== false;
   this._showAvg = avg !== false;
 
   AbstractCanvasGraph.apply(this, [parent, "line-graph", ...args]);
 
@@ -137,33 +137,33 @@ LineGraphWidget.prototype = Heritage.ext
    *        A list of numbers representing time, ordered ascending. For example,
    *        this can be the raw data received from the framerate actor, which
    *        represents the elapsed time on each refresh driver tick.
    * @param number interval
    *        The maximum amount of time to wait between calculations.
    * @param number duration
    *        The duration of the recording in milliseconds.
    */
-  setDataFromTimestamps: Task.async(function*(timestamps, interval, duration) {
+  setDataFromTimestamps: Task.async(function* (timestamps, interval, duration) {
     let {
       plottedData,
       plottedMinMaxSum
     } = yield CanvasGraphUtils._performTaskInWorker("plotTimestampsGraph", {
       timestamps, interval, duration
     });
 
     this._tempMinMaxSum = plottedMinMaxSum;
     this.setData(plottedData);
   }),
 
   /**
    * Renders the graph's data source.
    * @see AbstractCanvasGraph.prototype.buildGraphImage
    */
-  buildGraphImage: function() {
+  buildGraphImage: function () {
     let { canvas, ctx } = this._getNamedCanvas("line-graph-data");
     let width = this._width;
     let height = this._height;
 
     let totalTicks = this._data.length;
     let firstTick = totalTicks ? this._data[0].delta : 0;
     let lastTick = totalTicks ? this._data[totalTicks - 1].delta : 0;
     let maxValue = Number.MIN_SAFE_INTEGER;
@@ -233,17 +233,17 @@ LineGraphWidget.prototype = Heritage.ext
    * repsective tooltips.
    *
    * @param CanvasRenderingContext2D ctx
    * @param number minValue
    * @param number maxValue
    * @param number avgValue
    * @param number dataScaleY
    */
-  _drawOverlays: function(ctx, minValue, maxValue, avgValue, dataScaleY) {
+  _drawOverlays: function (ctx, minValue, maxValue, avgValue, dataScaleY) {
     let width = this._width;
     let height = this._height;
     let totalTicks = this._data.length;
 
     // Draw the maximum value horizontal line.
     if (this._showMax) {
       ctx.strokeStyle = this.maximumLineColor;
       ctx.lineWidth = GRAPH_HELPER_LINES_WIDTH;
@@ -325,43 +325,43 @@ LineGraphWidget.prototype = Heritage.ext
     this._avgGutterLine.hidden = this._showAvg === false;
     this._minGutterLine.hidden = this._showMin === false;
   },
 
   /**
    * Creates the gutter node when constructing this graph.
    * @return nsIDOMNode
    */
-  _createGutter: function() {
+  _createGutter: function () {
     let gutter = this._document.createElementNS(HTML_NS, "div");
     gutter.className = "line-graph-widget-gutter";
     gutter.setAttribute("hidden", true);
     this._container.appendChild(gutter);
 
     return gutter;
   },
 
   /**
    * Creates the gutter line nodes when constructing this graph.
    * @return nsIDOMNode
    */
-  _createGutterLine: function(type) {
+  _createGutterLine: function (type) {
     let line = this._document.createElementNS(HTML_NS, "div");
     line.className = "line-graph-widget-gutter-line";
     line.setAttribute("type", type);
     this._gutter.appendChild(line);
 
     return line;
   },
 
   /**
    * Creates the tooltip nodes when constructing this graph.
    * @return nsIDOMNode
    */
-  _createTooltip: function(type, arrow, info, metric) {
+  _createTooltip: function (type, arrow, info, metric) {
     let tooltip = this._document.createElementNS(HTML_NS, "div");
     tooltip.className = "line-graph-widget-tooltip";
     tooltip.setAttribute("type", type);
     tooltip.setAttribute("arrow", arrow);
     tooltip.setAttribute("hidden", true);
 
     let infoNode = this._document.createElementNS(HTML_NS, "span");
     infoNode.textContent = info;
--- a/devtools/client/shared/widgets/MdnDocsWidget.js
+++ b/devtools/client/shared/widgets/MdnDocsWidget.js
@@ -32,22 +32,22 @@ const {getCSSLexer} = require("devtools/
 // Parameters for the XHR request
 // see https://developer.mozilla.org/en-US/docs/MDN/Kuma/API#Document_parameters
 const XHR_PARAMS = "?raw&macros";
 // URL for the XHR request
 var XHR_CSS_URL = "https://developer.mozilla.org/en-US/docs/Web/CSS/";
 
 // Parameters for the link to MDN in the tooltip, so
 // so we know which MDN visits come from this feature
-const PAGE_LINK_PARAMS = "?utm_source=mozilla&utm_medium=firefox-inspector&utm_campaign=default"
+const PAGE_LINK_PARAMS = "?utm_source=mozilla&utm_medium=firefox-inspector&utm_campaign=default";
 // URL for the page link omits locale, so a locale-specific page will be loaded
 var PAGE_LINK_URL = "https://developer.mozilla.org/docs/Web/CSS/";
 exports.PAGE_LINK_URL = PAGE_LINK_URL;
 
-const BROWSER_WINDOW = 'navigator:browser';
+const BROWSER_WINDOW = "navigator:browser";
 
 const PROPERTY_NAME_COLOR = "theme-fg-color5";
 const PROPERTY_VALUE_COLOR = "theme-fg-color1";
 const COMMENT_COLOR = "theme-comment";
 
 /**
  * Turns a string containing a series of CSS declarations into
  * a series of DOM nodes, with classes applied to provide syntax
@@ -259,17 +259,17 @@ function MdnDocsWidget(tooltipDocument) 
   this.doc = tooltipDocument;
 
   // get the localized string for the link text
   this.elements.linkToMdn.textContent =
     l10n.strings.GetStringFromName("docsTooltip.visitMDN");
 
   // listen for clicks and open in the browser window instead
   let browserWindow = Services.wm.getMostRecentWindow(BROWSER_WINDOW);
-  this.elements.linkToMdn.addEventListener("click", function(e) {
+  this.elements.linkToMdn.addEventListener("click", function (e) {
     e.stopPropagation();
     e.preventDefault();
     let link = e.target.href;
     browserWindow.gBrowser.addTab(link);
   });
 }
 
 exports.MdnDocsWidget = MdnDocsWidget;
@@ -290,17 +290,17 @@ MdnDocsWidget.prototype = {
    * the document with the content or with an error message.
    *
    * It returns immediately, so the caller can display the tooltip
    * without waiting for the asynch operation to complete.
    *
    * @param {string} propertyName
    * The name of the CSS property for which we need to display help.
    */
-  loadCssDocs: function(propertyName) {
+  loadCssDocs: function (propertyName) {
 
     /**
      * Do all the setup we can do synchronously, and get the document in
      * a state where it can be displayed while we are waiting for the
      * MDN docs content to be retrieved.
      */
     function initializeDocument(propertyName) {
 
@@ -361,21 +361,21 @@ MdnDocsWidget.prototype = {
     let doc = this.doc;
 
     initializeDocument(propertyName);
     getCssDocs(propertyName).then(finalizeDocument, gotError);
 
     return deferred.promise;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.elements = null;
     this.doc = null;
   }
-}
+};
 
 /**
  * L10N utility class
  */
 function L10N() {}
 L10N.prototype = {};
 
 var l10n = new L10N();
--- a/devtools/client/shared/widgets/MountainGraphWidget.js
+++ b/devtools/client/shared/widgets/MountainGraphWidget.js
@@ -52,17 +52,17 @@ const GRAPH_REGION_STRIPES_COLOR = "rgba
  *     ...
  *     { delta: xm, values: [ym1, ym2, ... ymn] }
  *   ]
  * where the [ymn] values is assumed to aready be normalized from [0..1].
  *
  * @param nsIDOMNode parent
  *        The parent node holding the graph.
  */
-this.MountainGraphWidget = function(parent, ...args) {
+this.MountainGraphWidget = function (parent, ...args) {
   AbstractCanvasGraph.apply(this, [parent, "mountain-graph", ...args]);
 };
 
 MountainGraphWidget.prototype = Heritage.extend(AbstractCanvasGraph.prototype, {
   backgroundColor: GRAPH_BACKGROUND_COLOR,
   strokeColor: GRAPH_STROKE_COLOR,
   strokeWidth: GRAPH_STROKE_WIDTH,
   clipheadLineColor: GRAPH_CLIPHEAD_LINE_COLOR,
@@ -95,32 +95,32 @@ MountainGraphWidget.prototype = Heritage
    * on the top.
    */
   dampenValuesFactor: GRAPH_DAMPEN_VALUES_FACTOR,
 
   /**
    * Renders the graph's background.
    * @see AbstractCanvasGraph.prototype.buildBackgroundImage
    */
-  buildBackgroundImage: function() {
+  buildBackgroundImage: function () {
     let { canvas, ctx } = this._getNamedCanvas("mountain-graph-background");
     let width = this._width;
     let height = this._height;
 
     ctx.fillStyle = this.backgroundColor;
     ctx.fillRect(0, 0, width, height);
 
     return canvas;
   },
 
   /**
    * Renders the graph's data source.
    * @see AbstractCanvasGraph.prototype.buildGraphImage
    */
-  buildGraphImage: function() {
+  buildGraphImage: function () {
     if (!this.format || !this.format.length) {
       throw "The graph format traits are mandatory to style the data source.";
     }
     let { canvas, ctx } = this._getNamedCanvas("mountain-graph-data");
     let width = this._width;
     let height = this._height;
 
     let totalSections = this.format.length;
--- a/devtools/client/shared/widgets/SideMenuWidget.jsm
+++ b/devtools/client/shared/widgets/SideMenuWidget.jsm
@@ -32,17 +32,17 @@ var L10N = new LocalizationHelper(SHARED
  * @param nsIDOMNode aNode
  *        The element associated with the widget.
  * @param Object aOptions
  *        - contextMenu: optional element or element ID that serves as a context menu.
  *        - showArrows: specifies if items should display horizontal arrows.
  *        - showItemCheckboxes: specifies if items should display checkboxes.
  *        - showGroupCheckboxes: specifies if groups should display checkboxes.
  */
-this.SideMenuWidget = function SideMenuWidget(aNode, aOptions={}) {
+this.SideMenuWidget = function SideMenuWidget(aNode, aOptions = {}) {
   this.document = aNode.ownerDocument;
   this.window = this.document.defaultView;
   this._parent = aNode;
 
   let { contextMenu, showArrows, showItemCheckboxes, showGroupCheckboxes } = aOptions;
   this._contextMenu = contextMenu || null;
   this._showArrows = showArrows || false;
   this._showItemCheckboxes = showItemCheckboxes || false;
@@ -99,32 +99,32 @@ SideMenuWidget.prototype = {
    * @param object aAttachment [optional]
    *        Some attached primitive/object. Custom options supported:
    *          - group: a string specifying the group to place this item into
    *          - checkboxState: the checked state of the checkbox, if shown
    *          - checkboxTooltip: the tooltip text for the checkbox, if shown
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  insertItemAt: function(aIndex, aContents, aAttachment={}) {
+  insertItemAt: function (aIndex, aContents, aAttachment = {}) {
     let group = this._getMenuGroupForName(aAttachment.group);
     let item = this._getMenuItemForGroup(group, aContents, aAttachment);
     let element = item.insertSelfAt(aIndex);
 
     return element;
   },
 
   /**
    * Checks to see if the list is scrolled all the way to the bottom.
    * Uses getBoundsWithoutFlushing to limit the performance impact
    * of this function.
    *
    * @return bool
    */
-  isScrolledToBottom: function() {
+  isScrolledToBottom: function () {
     if (this._list.lastElementChild) {
       let utils = this.window.QueryInterface(Ci.nsIInterfaceRequestor)
                              .getInterface(Ci.nsIDOMWindowUtils);
       let childRect = utils.getBoundsWithoutFlushing(this._list.lastElementChild);
       let listRect = utils.getBoundsWithoutFlushing(this._list);
 
       // Cheap way to check if it's scrolled all the way to the bottom.
       return (childRect.height + childRect.top) <= listRect.bottom;
@@ -132,56 +132,56 @@ SideMenuWidget.prototype = {
 
     return false;
   },
 
   /**
    * Scroll the list to the bottom after a timeout.
    * If the user scrolls in the meantime, cancel this operation.
    */
-  scrollToBottom: function() {
+  scrollToBottom: function () {
     this._list.scrollTop = this._list.scrollHeight;
     this.emit("scroll-to-bottom");
   },
 
   /**
    * Returns the child node in this container situated at the specified index.
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  getItemAtIndex: function(aIndex) {
+  getItemAtIndex: function (aIndex) {
     return this._orderedMenuElementsArray[aIndex];
   },
 
   /**
    * Removes the specified child node from this container.
    *
    * @param nsIDOMNode aChild
    *        The element associated with the displayed item.
    */
-  removeChild: function(aChild) {
+  removeChild: function (aChild) {
     this._getNodeForContents(aChild).remove();
 
     this._orderedMenuElementsArray.splice(
       this._orderedMenuElementsArray.indexOf(aChild), 1);
 
     this._itemsByElement.delete(aChild);
 
     if (this._selectedItem == aChild) {
       this._selectedItem = null;
     }
   },
 
   /**
    * Removes all of the child nodes from this container.
    */
-  removeAllItems: function() {
+  removeAllItems: function () {
     let parent = this._parent;
     let list = this._list;
 
     while (list.hasChildNodes()) {
       list.firstChild.remove();
     }
 
     this._selectedItem = null;
@@ -221,40 +221,40 @@ SideMenuWidget.prototype = {
   },
 
   /**
    * Ensures the specified element is visible.
    *
    * @param nsIDOMNode aElement
    *        The element to make visible.
    */
-  ensureElementIsVisible: function(aElement) {
+  ensureElementIsVisible: function (aElement) {
     if (!aElement) {
       return;
     }
 
     // Ensure the element is visible but not scrolled horizontally.
     let boxObject = this._list.boxObject;
     boxObject.ensureElementIsVisible(aElement);
     boxObject.scrollBy(-this._list.clientWidth, 0);
   },
 
   /**
    * Shows all the groups, even the ones with no visible children.
    */
-  showEmptyGroups: function() {
+  showEmptyGroups: function () {
     for (let group of this._orderedGroupElementsArray) {
       group.hidden = false;
     }
   },
 
   /**
    * Hides all the groups which have no visible children.
    */
-  hideEmptyGroups: function() {
+  hideEmptyGroups: function () {
     let visibleChildNodes = ".side-menu-widget-item-contents:not([hidden=true])";
 
     for (let group of this._orderedGroupElementsArray) {
       group.hidden = group.querySelectorAll(visibleChildNodes).length == 0;
     }
     for (let menuItem of this._orderedMenuElementsArray) {
       menuItem.parentNode.hidden = menuItem.hidden;
     }
@@ -263,47 +263,47 @@ SideMenuWidget.prototype = {
   /**
    * Adds a new attribute or changes an existing attribute on this container.
    *
    * @param string aName
    *        The name of the attribute.
    * @param string aValue
    *        The desired attribute value.
    */
-  setAttribute: function(aName, aValue) {
+  setAttribute: function (aName, aValue) {
     this._parent.setAttribute(aName, aValue);
 
     if (aName == "emptyText") {
       this._textWhenEmpty = aValue;
     }
   },
 
   /**
    * Removes an attribute on this container.
    *
    * @param string aName
    *        The name of the attribute.
    */
-  removeAttribute: function(aName) {
+  removeAttribute: function (aName) {
     this._parent.removeAttribute(aName);
 
     if (aName == "emptyText") {
       this._removeEmptyText();
     }
   },
 
   /**
    * Set the checkbox state for the item associated with the given node.
    *
    * @param nsIDOMNode aNode
    *        The dom node for an item we want to check.
    * @param boolean aCheckState
    *        True to check, false to uncheck.
    */
-  checkItem: function(aNode, aCheckState) {
+  checkItem: function (aNode, aCheckState) {
     const widgetItem = this._itemsByElement.get(aNode);
     if (!widgetItem) {
       throw new Error("No item for " + aNode);
     }
     widgetItem.check(aCheckState);
   },
 
   /**
@@ -316,32 +316,32 @@ SideMenuWidget.prototype = {
     }
     this._emptyTextValue = aValue;
     this._showEmptyText();
   },
 
   /**
    * Creates and appends a label signaling that this container is empty.
    */
-  _showEmptyText: function() {
+  _showEmptyText: function () {
     if (this._emptyTextNode || !this._emptyTextValue) {
       return;
     }
     let label = this.document.createElement("label");
     label.className = "plain side-menu-widget-empty-text";
     label.setAttribute("value", this._emptyTextValue);
 
     this._parent.insertBefore(label, this._list);
     this._emptyTextNode = label;
   },
 
   /**
    * Removes the label representing a notice in this container.
    */
-  _removeEmptyText: function() {
+  _removeEmptyText: function () {
     if (!this._emptyTextNode) {
       return;
     }
 
     this._parent.removeChild(this._emptyTextNode);
     this._emptyTextNode = null;
   },
 
@@ -349,17 +349,17 @@ SideMenuWidget.prototype = {
    * Gets a container representing a group for menu items. If the container
    * is not available yet, it is immediately created.
    *
    * @param string aName
    *        The required group name.
    * @return SideMenuGroup
    *         The newly created group.
    */
-  _getMenuGroupForName: function(aName) {
+  _getMenuGroupForName: function (aName) {
     let cachedGroup = this._groupsByName.get(aName);
     if (cachedGroup) {
       return cachedGroup;
     }
 
     let group = new SideMenuGroup(this, aName, {
       showCheckbox: this._showGroupCheckboxes
     });
@@ -376,17 +376,17 @@ SideMenuWidget.prototype = {
    *
    * @param SideMenuGroup aGroup
    *        The group to contain the menu item.
    * @param nsIDOMNode aContents
    *        The node displayed in the container.
    * @param object aAttachment [optional]
    *        Some attached primitive/object.
    */
-  _getMenuItemForGroup: function(aGroup, aContents, aAttachment) {
+  _getMenuItemForGroup: function (aGroup, aContents, aAttachment) {
     return new SideMenuItem(aGroup, aContents, aAttachment, {
       showArrow: this._showArrows,
       showCheckbox: this._showItemCheckboxes
     });
   },
 
   /**
    * Returns the .side-menu-widget-item node corresponding to a SideMenuItem.
@@ -394,28 +394,28 @@ SideMenuWidget.prototype = {
    * these child items, in which case we need to be careful on which nodes
    * .selected class names are added, or which nodes are removed.
    *
    * @param nsIDOMNode aChild
    *        An element which is the target node of a SideMenuItem.
    * @return nsIDOMNode
    *         The wrapper node if there is one, or the same child otherwise.
    */
-  _getNodeForContents: function(aChild) {
+  _getNodeForContents: function (aChild) {
     if (aChild.hasAttribute("merged-item-contents")) {
       return aChild;
     } else {
       return aChild.parentNode;
     }
   },
 
   /**
    * Shows the contextMenu element.
    */
-  _showContextMenu: function(e) {
+  _showContextMenu: function (e) {
     if (!this._contextMenu) {
       return;
     }
 
     // Don't show the menu if a descendant node is going to be visible also.
     let node = e.originalTarget;
     while (node && node !== this._list) {
       if (node.hasAttribute("contextmenu")) {
@@ -450,17 +450,17 @@ SideMenuWidget.prototype = {
  * @param SideMenuWidget aWidget
  *        The widget to contain this menu item.
  * @param string aName
  *        The string displayed in the container.
  * @param object aOptions [optional]
  *        An object containing the following properties:
  *          - showCheckbox: specifies if a checkbox should be displayed.
  */
-function SideMenuGroup(aWidget, aName, aOptions={}) {
+function SideMenuGroup(aWidget, aName, aOptions = {}) {
   this.document = aWidget.document;
   this.window = aWidget.window;
   this.ownerView = aWidget;
   this.identifier = aName;
 
   // Create an internal title and list container.
   if (aName) {
     let target = this._target = this.document.createElement("vbox");
@@ -510,17 +510,17 @@ SideMenuGroup.prototype = {
   get _itemsByElement() { return this.ownerView._itemsByElement; },
 
   /**
    * Inserts this group in the parent container at the specified index.
    *
    * @param number aIndex
    *        The position in the container intended for this group.
    */
-  insertSelfAt: function(aIndex) {
+  insertSelfAt: function (aIndex) {
     let ownerList = this.ownerView._list;
     let groupsArray = this._orderedGroupElementsArray;
 
     if (aIndex >= 0) {
       ownerList.insertBefore(this._target, groupsArray[aIndex]);
       groupsArray.splice(aIndex, 0, this._target);
     } else {
       ownerList.appendChild(this._target);
@@ -529,17 +529,17 @@ SideMenuGroup.prototype = {
   },
 
   /**
    * Finds the expected index of this group based on its name.
    *
    * @return number
    *         The expected index.
    */
-  findExpectedIndexForSelf: function(sortPredicate) {
+  findExpectedIndexForSelf: function (sortPredicate) {
     let identifier = this.identifier;
     let groupsArray = this._orderedGroupElementsArray;
 
     for (let group of groupsArray) {
       let name = group.getAttribute("name");
       if (sortPredicate(name, identifier) > 0 && // Insertion sort at its best :)
           !name.includes(identifier)) { // Least significant group should be last.
         return groupsArray.indexOf(group);
@@ -568,17 +568,17 @@ SideMenuGroup.prototype = {
  *        The node displayed in the container.
  * @param object aAttachment [optional]
  *        The attachment object.
  * @param object aOptions [optional]
  *        An object containing the following properties:
  *          - showArrow: specifies if a horizontal arrow should be displayed.
  *          - showCheckbox: specifies if a checkbox should be displayed.
  */
-function SideMenuItem(aGroup, aContents, aAttachment={}, aOptions={}) {
+function SideMenuItem(aGroup, aContents, aAttachment = {}, aOptions = {}) {
   this.document = aGroup.document;
   this.window = aGroup.window;
   this.ownerView = aGroup;
 
   if (aOptions.showArrow || aOptions.showCheckbox) {
     let container = this._container = this.document.createElement("hbox");
     container.className = "side-menu-widget-item";
 
@@ -623,17 +623,17 @@ SideMenuItem.prototype = {
   /**
    * Inserts this item in the parent group at the specified index.
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  insertSelfAt: function(aIndex) {
+  insertSelfAt: function (aIndex) {
     let ownerList = this.ownerView._list;
     let menuArray = this._orderedMenuElementsArray;
 
     if (aIndex >= 0) {
       ownerList.insertBefore(this._container, ownerList.childNodes[aIndex]);
       menuArray.splice(aIndex, 0, this._target);
     } else {
       ownerList.appendChild(this._container);
@@ -645,17 +645,17 @@ SideMenuItem.prototype = {
   },
 
   /**
    * Check or uncheck the checkbox associated with this item.
    *
    * @param boolean aCheckState
    *        True to check, false to uncheck.
    */
-  check: function(aCheckState) {
+  check: function (aCheckState) {
     if (!this._checkbox) {
       throw new Error("Cannot check items that do not have checkboxes.");
     }
     // Don't set or remove the "checked" attribute, assign the property instead.
     // Otherwise, the "CheckboxStateChange" event will not be fired. XUL!!
     this._checkbox.checked = !!aCheckState;
   },
 
--- a/devtools/client/shared/widgets/SimpleListWidget.jsm
+++ b/devtools/client/shared/widgets/SimpleListWidget.jsm
@@ -47,53 +47,53 @@ SimpleListWidget.prototype = {
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @param nsIDOMNode aContents
    *        The node displayed in the container.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  insertItemAt: function(aIndex, aContents) {
+  insertItemAt: function (aIndex, aContents) {
     aContents.classList.add("simple-list-widget-item");
 
     let list = this._list;
     return list.insertBefore(aContents, list.childNodes[aIndex]);
   },
 
   /**
    * Returns the child node in this container situated at the specified index.
    *
    * @param number aIndex
    *        The position in the container intended for this item.
    * @return nsIDOMNode
    *         The element associated with the displayed item.
    */
-  getItemAtIndex: function(aIndex) {
+  getItemAtIndex: function (aIndex) {
     return this._list.childNodes[aIndex];
   },
 
   /**
    * Immediately removes the specified child node from this container.
    *
    * @param nsIDOMNode aChild
    *        The element associated with the displayed item.
    */
-  removeChild: function(aChild) {
+  removeChild: function (aChild) {
     this._list.removeChild(aChild);
 
     if (this._selectedItem == aChild) {
       this._selectedItem = null;
     }
   },
 
   /**
    * Removes all of the child nodes from this container.
    */
-  removeAllItems: function() {
+  removeAllItems: function () {
     let list = this._list;
     let parent = this._parent;
 
     while (list.hasChildNodes()) {
       list.firstChild.remove();
     }
 
     parent.scrollTop = 0;
@@ -132,47 +132,47 @@ SimpleListWidget.prototype = {
   /**
    * Adds a new attribute or changes an existing attribute on this container.
    *
    * @param string aName
    *        The name of the attribute.
    * @param string aValue
    *        The desired attribute value.
    */
-  setAttribute: function(aName, aValue) {
+  setAttribute: function (aName, aValue) {
     this._parent.setAttribute(aName, aValue);
 
     if (aName == "emptyText") {
       this._textWhenEmpty = aValue;
     } else if (aName == "headerText") {
       this._textAsHeader = aValue;
     }
   },
 
   /**
    * Removes an attribute on this container.
    *
    * @param string aName
    *        The name of the attribute.
    */
-  removeAttribute: function(aName) {
+  removeAttribute: function (aName) {
     this._parent.removeAttribute(aName);
 
     if (aName == "emptyText") {
       this._removeEmptyText();
     }
   },
 
   /**
    * Ensures the specified element is visible.
    *
    * @param nsIDOMNode aElement
    *        The element to make visible.
    */
-  ensureElementIsVisible: function(aElement) {
+  ensureElementIsVisible: function (aElement) {
     if (!aElement) {
       return;
     }
 
     // Ensure the element is visible but not scrolled horizontally.
     let boxObject = this._list.boxObject;
     boxObject.ensureElementIsVisible(aElement);
     boxObject.scrollBy(-this._list.clientWidth, 0);
@@ -200,47 +200,47 @@ SimpleListWidget.prototype = {
     }
     this._emptyTextValue = aValue;
     this._showEmptyText();
   },
 
   /**
    * Creates and appends a label displayed as this container's header.
    */
-  _showHeaderText: function() {
+  _showHeaderText: function () {
     if (this._headerTextNode || !this._headerTextValue) {
       return;
     }
     let label = this.document.createElement("label");
     label.className = "plain simple-list-widget-perma-text";
     label.setAttribute("value", this._headerTextValue);
 
     this._parent.insertBefore(label, this._list);
     this._headerTextNode = label;
   },
 
   /**
    * Creates and appends a label signaling that this container is empty.
    */
-  _showEmptyText: function() {
+  _showEmptyText: function () {
     if (this._emptyTextNode || !this._emptyTextValue) {
       return;
     }
     let label = this.document.createElement("label");
     label.className = "plain simple-list-widget-empty-text";
     label.setAttribute("value", this._emptyTextValue);
 
     this._parent.appendChild(label);
     this._emptyTextNode = label;
   },
 
   /**
    * Removes the label signaling that this container is empty.
    */
-  _removeEmptyText: function() {
+  _removeEmptyText: function () {
     if (!this._emptyTextNode) {
       return;
     }
     this._parent.removeChild(this._emptyTextNode);
     this._emptyTextNode = null;
   },
 
   window: null,
--- a/devtools/client/shared/widgets/Spectrum.js
+++ b/devtools/client/shared/widgets/Spectrum.js
@@ -80,81 +80,81 @@ function Spectrum(parentEl, rgb) {
   if (rgb) {
     this.rgb = rgb;
     this.updateUI();
   }
 }
 
 module.exports.Spectrum = Spectrum;
 
-Spectrum.hsvToRgb = function(h, s, v, a) {
+Spectrum.hsvToRgb = function (h, s, v, a) {
   let r, g, b;
 
   let i = Math.floor(h * 6);
   let f = h * 6 - i;
   let p = v * (1 - s);
   let q = v * (1 - f * s);
   let t = v * (1 - (1 - f) * s);
 
-  switch(i % 6) {
+  switch (i % 6) {
     case 0: r = v; g = t; b = p; break;
     case 1: r = q; g = v; b = p; break;
     case 2: r = p; g = v; b = t; break;
     case 3: r = p; g = q; b = v; break;
     case 4: r = t; g = p; b = v; break;
     case 5: r = v; g = p; b = q; break;
   }
 
   return [r * 255, g * 255, b * 255, a];
 };
 
-Spectrum.rgbToHsv = function(r, g, b, a) {
+Spectrum.rgbToHsv = function (r, g, b, a) {
   r = r / 255;
   g = g / 255;
   b = b / 255;
 
   let max = Math.max(r, g, b), min = Math.min(r, g, b);
   let h, s, v = max;
 
   let d = max - min;
   s = max == 0 ? 0 : d / max;
 
   if (max == min) {
     // achromatic
     h = 0;
   } else {
-    switch(max) {
+    switch (max) {
       case r: h = (g - b) / d + (g < b ? 6 : 0); break;
       case g: h = (b - r) / d + 2; break;
       case b: h = (r - g) / d + 4; break;
     }
     h /= 6;
   }
   return [h, s, v, a];
 };
 
-Spectrum.getOffset = function(el) {
+Spectrum.getOffset = function (el) {
   let curleft = 0, curtop = 0;
   if (el.offsetParent) {
     while (el) {
       curleft += el.offsetLeft;
       curtop += el.offsetTop;
       el = el.offsetParent;
     }
   }
   return {
     left: curleft,
     top: curtop
   };
 };
 
-Spectrum.draggable = function(element, onmove, onstart, onstop) {
-  onmove = onmove || function() {};
-  onstart = onstart || function() {};
-  onstop = onstop || function() {};
+Spectrum.draggable = function (element, onmove, onstart, onstop) {
+  onmove = onmove || function () {};
+  onstart = onstart || function () {};
+  onstop = onstop || function () {};
 
   let doc = element.ownerDocument;
   let dragging = false;
   let offset = {};
   let maxHeight = 0;
   let maxWidth = 0;
 
   function prevent(e) {
@@ -233,58 +233,58 @@ Spectrum.prototype = {
   },
 
   get rgbCssString() {
     let rgb = this.rgb;
     return "rgba(" + rgb[0] + ", " + rgb[1] + ", " + rgb[2] + ", " +
       rgb[3] + ")";
   },
 
-  show: function() {
+  show: function () {
     this.element.classList.add("spectrum-show");
 
     this.slideHeight = this.slider.offsetHeight;
     this.dragWidth = this.dragger.offsetWidth;
     this.dragHeight = this.dragger.offsetHeight;
     this.dragHelperHeight = this.dragHelper.offsetHeight;
     this.slideHelperHeight = this.slideHelper.offsetHeight;
     this.alphaSliderWidth = this.alphaSliderInner.offsetWidth;
     this.alphaSliderHelperWidth = this.alphaSliderHelper.offsetWidth;
 
     this.updateUI();
   },
 
-  onElementClick: function(e) {
+  onElementClick: function (e) {
     e.stopPropagation();
   },
 
-  onSliderMove: function(dragX, dragY) {
+  onSliderMove: function (dragX, dragY) {
     this.hsv[0] = (dragY / this.slideHeight);
     this.updateUI();
     this.onChange();
   },
 
-  onDraggerMove: function(dragX, dragY) {
+  onDraggerMove: function (dragX, dragY) {
     this.hsv[1] = dragX / this.dragWidth;
     this.hsv[2] = (this.dragHeight - dragY) / this.dragHeight;
     this.updateUI();
     this.onChange();
   },
 
-  onAlphaSliderMove: function(dragX, dragY) {
+  onAlphaSliderMove: function (dragX, dragY) {
     this.hsv[3] = dragX / this.alphaSliderWidth;
     this.updateUI();
     this.onChange();
   },
 
-  onChange: function() {
+  onChange: function () {
     this.emit("changed", this.rgb, this.rgbCssString);
   },
 
-  updateHelperLocations: function() {
+  updateHelperLocations: function () {
     // If the UI hasn't been shown yet then none of the dimensions will be
     // correct
     if (!this.element.classList.contains("spectrum-show")) {
       return;
     }
 
     let h = this.hsv[0];
     let s = this.hsv[1];
@@ -312,17 +312,17 @@ Spectrum.prototype = {
     this.slideHelper.style.top = slideY + "px";
 
     // Placing the alpha slider
     let alphaSliderX = (this.hsv[3] * this.alphaSliderWidth) -
       (this.alphaSliderHelperWidth / 2);
     this.alphaSliderHelper.style.left = alphaSliderX + "px";
   },
 
-  updateUI: function() {
+  updateUI: function () {
     this.updateHelperLocations();
 
     let rgb = this.rgb;
     let rgbNoSatVal = this.rgbNoSatVal;
 
     let flatColor = "rgb(" + rgbNoSatVal[0] + ", " + rgbNoSatVal[1] + ", " +
       rgbNoSatVal[2] + ")";
 
@@ -330,17 +330,17 @@ Spectrum.prototype = {
 
     let rgbNoAlpha = "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")";
     let rgbAlpha0 = "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ", 0)";
     let alphaGradient = "linear-gradient(to right, " + rgbAlpha0 + ", " +
       rgbNoAlpha + ")";
     this.alphaSliderInner.style.background = alphaGradient;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.element.removeEventListener("click", this.onElementClick, false);
 
     this.parentEl.removeChild(this.element);
 
     this.slider = null;
     this.dragger = null;
     this.alphaSlider = this.alphaSliderInner = this.alphaSliderHelper = null;
     this.parentEl = null;
--- a/devtools/client/shared/widgets/TableWidget.js
+++ b/devtools/client/shared/widgets/TableWidget.js
@@ -208,17 +208,17 @@ TableWidget.prototype = {
 
     let columns = this._parent.querySelectorAll(".table-widget-column");
     return filter(columns);
   },
 
   /**
    * Emit all cell edit events.
    */
-  onChange: function(type, data) {
+  onChange: function (type, data) {
     let changedField = data.change.field;
     let colName = changedField.parentNode.id;
     let column = this.columns.get(colName);
     let uniqueId = column.table.uniqueId;
     let itemIndex = column.cellNodes.indexOf(changedField);
     let items = {};
 
     for (let [name, col] of this.columns) {
@@ -237,32 +237,32 @@ TableWidget.prototype = {
     // A rows position in the table can change as the result of an edit. In
     // order to ensure that the correct row is highlighted after an edit we
     // save the uniqueId in editBookmark.
     this.editBookmark = colName === uniqueId ? change.newValue
                                              : items[uniqueId];
     this.emit(EVENTS.CELL_EDIT, change);
   },
 
-  onEditorDestroyed: function() {
+  onEditorDestroyed: function () {
     this._editableFieldsEngine = null;
   },
 
   /**
    * Called by the inplace editor when Tab / Shift-Tab is pressed in edit-mode.
    * Because tables are live any row, column, cell or table can be added,
    * deleted or moved by deleting and adding e.g. a row again.
    *
    * This presents various challenges when navigating via the keyboard so please
    * keep this in mind whenever editing this method.
    *
    * @param  {Event} event
    *         Keydown event
    */
-  onEditorTab: function(event) {
+  onEditorTab: function (event) {
     let textbox = event.target;
     let editor = this._editableFieldsEngine;
 
     if (textbox.id !== editor.INPUT_ID) {
       return;
     }
 
     let column = textbox.parentNode;
@@ -350,17 +350,17 @@ TableWidget.prototype = {
    * appropriate row. Edits etc. are not taken into account.
    *
    * This is used to tab from one field to another without editing and makes the
    * editor much more responsive.
    *
    * @param  {Event} event
    *         Keydown event
    */
-  getEditedCellOnTab: function(event, column) {
+  getEditedCellOnTab: function (event, column) {
     let cell = null;
     let cols = this.editableColumns;
     let rowIndex = this.visibleSelectedIndex;
     let colIndex = cols.indexOf(column);
     let maxCol = cols.length - 1;
     let maxRow = this.columns.get(column.id).visibleCellNodes.length - 1;
 
     if (event.shiftKey) {
@@ -410,17 +410,17 @@ TableWidget.prototype = {
   /**
    * Reset the editable fields engine if the currently edited row is removed.
    *
    * @param  {String} event
    *         The event name "event-removed."
    * @param  {Object} row
    *         The values from the removed row.
    */
-  onRowRemoved: function(event, row) {
+  onRowRemoved: function (event, row) {
     if (!this._editableFieldsEngine || !this._editableFieldsEngine.isEditing) {
       return;
     }
 
     let removedKey = row[this.uniqueId];
     let column = this.columns.get(this.uniqueId);
 
     if (removedKey in column.items) {
@@ -430,31 +430,31 @@ TableWidget.prototype = {
     // The target is lost so we need to hide the remove the textbox from the DOM
     // and reset the target nodes.
     this.onEditorTargetLost();
   },
 
   /**
    * Cancel an edit because the edit target has been lost.
    */
-  onEditorTargetLost: function() {
+  onEditorTargetLost: function () {
     let editor = this._editableFieldsEngine;
 
     if (!editor || !editor.isEditing) {
       return;
     }
 
     editor.cancelEdit();
   },
 
   /**
    * Keydown event handler for the table. Used for keyboard navigation amongst
    * rows.
    */
-  onKeydown: function(event) {
+  onKeydown: function (event) {
     // If we are in edit mode bail out.
     if (this._editableFieldsEngine && this._editableFieldsEngine.isEditing) {
       return;
     }
 
     let selectedCell = this.tbody.querySelector(".theme-selected");
     if (!selectedCell) {
       return;
@@ -507,34 +507,34 @@ TableWidget.prototype = {
   },
 
   /**
    * Close any editors if the area "outside the table" is clicked. In reality,
    * the table covers the whole area but there are labels filling the top few
    * rows. This method clears any inline editors if an area outside a textbox or
    * label is clicked.
    */
-  onMousedown: function({target}) {
+  onMousedown: function ({target}) {
     let nodeName = target.nodeName;
 
     if (nodeName === "textbox" || !this._editableFieldsEngine) {
       return;
     }
 
     // Force any editor fields to hide due to XUL focus quirks.
     this._editableFieldsEngine.blur();
   },
 
   /**
    * Make table fields editable.
    *
    * @param  {String|Array} editableColumns
    *         An array or comma separated list of editable column names.
    */
-  makeFieldsEditable: function(editableColumns) {
+  makeFieldsEditable: function (editableColumns) {
     let selectors = [];
 
     if (typeof editableColumns === "string") {
       editableColumns = [editableColumns];
     }
 
     for (let id of editableColumns) {
       selectors.push("#" + id + " .table-widget-cell");
@@ -561,17 +561,17 @@ TableWidget.prototype = {
 
       this.on(EVENTS.ROW_REMOVED, this.onRowRemoved);
       this.on(EVENTS.TABLE_CLEARED, this._editableFieldsEngine.cancelEdit);
 
       this.emit(EVENTS.FIELDS_EDITABLE, this._editableFieldsEngine);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.off(EVENTS.ROW_SELECTED, this.bindSelectedRow);
     this.off(EVENTS.ROW_REMOVED, this.onRowRemoved);
 
     this.document.removeEventListener("keydown", this.onKeydown, false);
     this.document.removeEventListener("mousedown", this.onMousedown, false);
 
     if (this._editableFieldsEngine) {
       this.off(EVENTS.TABLE_CLEARED, this._editableFieldsEngine.cancelEdit);
@@ -585,26 +585,26 @@ TableWidget.prototype = {
       this.menupopup.removeEventListener("command", this.onPopupCommand);
       this.menupopup.remove();
     }
   },
 
   /**
    * Sets the text to be shown when the table is empty.
    */
-  setPlaceholderText: function(text) {
+  setPlaceholderText: function (text) {
     this.placeholder.setAttribute("value", text);
   },
 
   /**
    * Prepares the context menu for the headers of the table columns. This
    * context menu allows users to toggle various columns, only with an exception
    * of the unique columns and when only two columns are visible in the table.
    */
-  setupHeadersContextMenu: function() {
+  setupHeadersContextMenu: function () {
     let popupset = this.document.getElementsByTagName("popupset")[0];
     if (!popupset) {
       popupset = this.document.createElementNS(XUL_NS, "popupset");
       this.document.documentElement.appendChild(popupset);
     }
 
     this.menupopup = this.document.createElementNS(XUL_NS, "menupopup");
     this.menupopup.id = "table-widget-column-select";
@@ -612,17 +612,17 @@ TableWidget.prototype = {
     popupset.appendChild(this.menupopup);
     this.populateMenuPopup();
   },
 
   /**
    * Populates the header context menu with the names of the columns along with
    * displaying which columns are hidden or visible.
    */
-  populateMenuPopup: function() {
+  populateMenuPopup: function () {
     if (!this.menupopup) {
       return;
     }
 
     while (this.menupopup.firstChild) {
       this.menupopup.firstChild.remove();
     }
 
@@ -641,17 +641,17 @@ TableWidget.prototype = {
     if (checked.length == 2) {
       checked[checked.length - 1].setAttribute("disabled", "true");
     }
   },
 
   /**
    * Event handler for the `command` event on the column headers context menu
    */
-  onPopupCommand: function(event) {
+  onPopupCommand: function (event) {
     let item = event.originalTarget;
     let checked = !!item.getAttribute("checked");
     let id = item.getAttribute("data-id");
     this.emit(EVENTS.HEADER_CONTEXT_MENU, id, checked);
     checked = this.menupopup.querySelectorAll("menuitem[checked]");
     let disabled = this.menupopup.querySelectorAll("menuitem[disabled]");
     if (checked.length == 2) {
       checked[checked.length - 1].setAttribute("disabled", "true");
@@ -668,17 +668,17 @@ TableWidget.prototype = {
    *        A key value pair representing the columns of the table. Where the
    *        key represents the id of the column and the value is the displayed
    *        label in the header of the column.
    * @param {string} sortOn
    *        The id of the column on which the table will be initially sorted on.
    * @param {array} hiddenColumns
    *        Ids of all the columns that are hidden by default.
    */
-  setColumns: function(columns, sortOn = this.sortedOn, hiddenColumns = []) {
+  setColumns: function (columns, sortOn = this.sortedOn, hiddenColumns = []) {
     for (let column of this.columns.values()) {
       column.destroy();
     }
 
     this.columns.clear();
 
     if (!(sortOn in columns)) {
       sortOn = null;
@@ -711,69 +711,69 @@ TableWidget.prototype = {
     this.sortBy(this.sortedOn);
     this.populateMenuPopup();
   },
 
   /**
    * Returns true if the passed string or the row json object corresponds to the
    * selected item in the table.
    */
-  isSelected: function(item) {
+  isSelected: function (item) {
     if (typeof item == "object") {
       item = item[this.uniqueId];
     }
 
     return this.selectedRow && item == this.selectedRow[this.uniqueId];
   },
 
   /**
    * Selects the row corresponding to the `id` json.
    */
-  selectRow: function(id) {
+  selectRow: function (id) {
     this.selectedRow = id;
   },
 
   /**
    * Selects the next row. Cycles over to the first row if last row is selected
    */
-  selectNextRow: function() {
+  selectNextRow: function () {
     for (let column of this.columns.values()) {
       column.selectNextRow();
     }
   },
 
   /**
    * Selects the previous row. Cycles over to the last row if first row is
    * selected.
    */
-  selectPreviousRow: function() {
+  selectPreviousRow: function () {
     for (let column of this.columns.values()) {
       column.selectPreviousRow();
     }
   },
 
   /**
    * Clears any selected row.
    */
-  clearSelection: function() {
+  clearSelection: function () {
     this.selectedIndex = -1;
   },
 
   /**
    * Adds a row into the table.
    *
    * @param {object} item
    *        The object from which the key-value pairs will be taken and added
    *        into the row. This object can have any arbitarary key value pairs,
    *        but only those will be used whose keys match to the ids of the
    *        columns.
    * @param {boolean} suppressFlash
    *        true to not flash the row while inserting the row.
    */
-  push: function(item, suppressFlash) {
+  push: function (item, suppressFlash) {
     if (!this.sortedOn || !this.columns) {
       console.error("Can't insert item without defining columns first");
       return;
     }
 
     if (this.items.has(item[this.uniqueId])) {
       this.update(item);
       return;
@@ -794,17 +794,17 @@ TableWidget.prototype = {
     }
 
     this.emit(EVENTS.ROW_EDIT, item[this.uniqueId]);
   },
 
   /**
    * Removes the row associated with the `item` object.
    */
-  remove: function(item) {
+  remove: function (item) {
     if (typeof item == "string") {
       item = this.items.get(item);
     }
     if (!item) {
       return;
     }
     let removed = this.items.delete(item[this.uniqueId]);
 
@@ -822,17 +822,17 @@ TableWidget.prototype = {
     this.emit(EVENTS.ROW_REMOVED, item);
   },
 
   /**
    * Updates the items in the row corresponding to the `item` object previously
    * used to insert the row using `push` method. The linking is done via the
    * `uniqueId` key's value.
    */
-  update: function(item) {
+  update: function (item) {
     let oldItem = this.items.get(item[this.uniqueId]);
     if (!oldItem) {
       return;
     }
     this.items.set(item[this.uniqueId], item);
 
     let changed = false;
     for (let column of this.columns.values()) {
@@ -845,34 +845,34 @@ TableWidget.prototype = {
       this.emit(EVENTS.ROW_UPDATED, item[this.uniqueId]);
       this.emit(EVENTS.ROW_EDIT, item[this.uniqueId]);
     }
   },
 
   /**
    * Removes all of the rows from the table.
    */
-  clear: function() {
+  clear: function () {
     this.items.clear();
     for (let column of this.columns.values()) {
       column.clear();
     }
     this.tbody.setAttribute("empty", "empty");
     this.setPlaceholderText(this.emptyText);
 
     this.emit(EVENTS.TABLE_CLEARED, this);
   },
 
   /**
    * Sorts the table by a given column.
    *
    * @param {string} column
    *        The id of the column on which the table should be sorted.
    */
-  sortBy: function(column) {
+  sortBy: function (column) {
     this.emit(EVENTS.COLUMN_SORTED, column);
     this.sortedOn = column;
 
     if (!this.items.size) {
       return;
     }
 
     let sortedItems = this.columns.get(column).sort([...this.items.values()]);
@@ -920,25 +920,25 @@ TableWidget.prototype = {
       }
     }
     this.emit(EVENTS.TABLE_FILTERED, itemsToHide);
   },
 
   /**
    * Calls the afterScroll function when the user has stopped scrolling
    */
-  onScroll: function() {
+  onScroll: function () {
     clearNamedTimeout("table-scroll");
     setNamedTimeout("table-scroll", AFTER_SCROLL_DELAY, this.afterScroll);
   },
 
   /**
    * Emits the "scroll-end" event when the whole table is scrolled
    */
-  afterScroll: function() {
+  afterScroll: function () {
     let scrollHeight = this.tbody.getBoundingClientRect().height -
         this.tbody.querySelector(".table-widget-column-header").clientHeight;
 
     // Emit scroll-end event when 9/10 of the table is scrolled
     if (this.tbody.scrollTop >= 0.9 * scrollHeight) {
       this.emit("scroll-end");
     }
   }
@@ -1083,29 +1083,29 @@ Column.prototype = {
   /**
    * Called when the column is sorted by.
    *
    * @param {string} event
    *        The event name of the event. i.e. EVENTS.COLUMN_SORTED
    * @param {string} column
    *        The id of the column being sorted by.
    */
-  onColumnSorted: function(event, column) {
+  onColumnSorted: function (event, column) {
     if (column != this.id) {
       this.sorted = 0;
       return;
     } else if (this.sorted == 0 || this.sorted == 2) {
       this.sorted = 1;
     } else {
       this.sorted = 2;
     }
     this.updateZebra();
   },
 
-  onTableFiltered: function(event, itemsToHide) {
+  onTableFiltered: function (event, itemsToHide) {
     this._updateItems();
     if (!this.cells) {
       return;
     }
     for (let cell of this.cells) {
       cell.hidden = false;
     }
     for (let id of itemsToHide) {
@@ -1117,34 +1117,34 @@ Column.prototype = {
   /**
    * Called when a row is updated.
    *
    * @param {string} event
    *        The event name of the event. i.e. EVENTS.ROW_UPDATED
    * @param {string} id
    *        The unique id of the object associated with the row.
    */
-  onRowUpdated: function(event, id) {
+  onRowUpdated: function (event, id) {
     this._updateItems();
     if (this.highlightUpdated && this.items[id] != null) {
       if (this.table.editBookmark) {
         // A rows position in the table can change as the result of an edit. In
         // order to ensure that the correct row is highlighted after an edit we
         // save the uniqueId in editBookmark. Here we send the signal that the
         // row has been edited and that the row needs to be selected again.
         this.table.emit(EVENTS.ROW_SELECTED, this.table.editBookmark);
         this.table.editBookmark = null;
       }
 
       this.cells[this.items[id]].flash();
     }
     this.updateZebra();
   },
 
-  destroy: function() {
+  destroy: function () {
     this.table.off(EVENTS.COLUMN_SORTED, this.onColumnSorted);
     this.table.off(EVENTS.HEADER_CONTEXT_MENU, this.toggleColumn);
     this.table.off(EVENTS.ROW_UPDATED, this.onRowUpdated);
     this.table.off(EVENTS.TABLE_FILTERED, this.onTableFiltered);
 
     this.column.removeEventListener("click", this.onClick);
     this.column.removeEventListener("mousedown", this.onMousedown);
 
@@ -1153,70 +1153,70 @@ Column.prototype = {
     this.cells = null;
     this.items = null;
     this.selectedRow = null;
   },
 
   /**
    * Selects the row at the `index` index
    */
-  selectRowAt: function(index) {
+  selectRowAt: function (index) {
     if (this.selectedRow != null) {
       this.cells[this.items[this.selectedRow]].toggleClass("theme-selected");
     }
     if (index < 0) {
       this.selectedRow = null;
       return;
     }
     let cell = this.cells[index];
     cell.toggleClass("theme-selected");
     this.selectedRow = cell.id;
   },
 
   /**
    * Selects the row with the object having the `uniqueId` value as `id`
    */
-  selectRow: function(id) {
+  selectRow: function (id) {
     this._updateItems();
     this.selectRowAt(this.items[id]);
   },
 
   /**
    * Selects the next row. Cycles to first if last row is selected.
    */
-  selectNextRow: function() {
+  selectNextRow: function () {
     this._updateItems();
     let index = this.items[this.selectedRow] + 1;
     if (index == this.cells.length) {
       index = 0;
     }
     this.selectRowAt(index);
   },
 
   /**
    * Selects the previous row. Cycles to last if first row is selected.
    */
-  selectPreviousRow: function() {
+  selectPreviousRow: function () {
     this._updateItems();
     let index = this.items[this.selectedRow] - 1;
     if (index == -1) {
       index = this.cells.length - 1;
     }
     this.selectRowAt(index);
   },
 
   /**
    * Pushes the `item` object into the column. If this column is sorted on,
    * then inserts the object at the right position based on the column's id
    * key's value.
    *
    * @returns {number}
    *          The index of the currently pushed item.
    */
-  push: function(item) {
+  push: function (item) {
     let value = item[this.id];
 
     if (this.sorted) {
       let index;
       if (this.sorted == 1) {
         index = this.cells.findIndex(element => {
           return value < element.value;
         });
@@ -1236,17 +1236,17 @@ Column.prototype = {
 
     this.items[item[this.uniqueId]] = this.cells.length;
     return this.cells.push(new Cell(this, item)) - 1;
   },
 
   /**
    * Inserts the `item` object at the given `index` index in the table.
    */
-  insertAt: function(item, index) {
+  insertAt: function (item, index) {
     if (index < this.cells.length) {
       this._itemsDirty = true;
     }
     this.items[item[this.uniqueId]] = index;
     this.cells.splice(index, 0, new Cell(this, item, this.cells[index]));
     this.updateZebra();
   },
 
@@ -1258,17 +1258,17 @@ Column.prototype = {
    *
    * @param {string} event
    *        The name of the event. i.e. EVENTS.HEADER_CONTEXT_MENU
    * @param {string} id
    *        Id of the column to be toggled
    * @param {string} checked
    *        true if the column is visible
    */
-  toggleColumn: function(event, id, checked) {
+  toggleColumn: function (event, id, checked) {
     if (arguments.length == 0) {
       // Act like a toggling method when called with no params
       id = this.id;
       checked = this.wrapper.hasAttribute("hidden");
     }
     if (id != this.id) {
       return;
     }
@@ -1277,17 +1277,17 @@ Column.prototype = {
     } else {
       this.wrapper.setAttribute("hidden", "true");
     }
   },
 
   /**
    * Removes the corresponding item from the column.
    */
-  remove: function(item) {
+  remove: function (item) {
     this._updateItems();
     let index = this.items[item[this.uniqueId]];
     if (index == null) {
       return;
     }
 
     if (index < this.cells.length) {
       this._itemsDirty = true;
@@ -1295,59 +1295,59 @@ Column.prototype = {
     this.cells[index].destroy();
     this.cells.splice(index, 1);
     delete this.items[item[this.uniqueId]];
   },
 
   /**
    * Updates the corresponding item from the column.
    */
-  update: function(item) {
+  update: function (item) {
     this._updateItems();
 
     let index = this.items[item[this.uniqueId]];
     if (index == null) {
       return;
     }
 
     this.cells[index].value = item[this.id];
   },
 
   /**
    * Updates the `this.items` cell-id vs cell-index map to be in sync with
    * `this.cells`.
    */
-  _updateItems: function() {
+  _updateItems: function () {
     if (!this._itemsDirty) {
       return;
     }
     for (let i = 0; i < this.cells.length; i++) {
       this.items[this.cells[i].id] = i;
     }
     this._itemsDirty = false;
   },
 
   /**
    * Clears the current column
    */
-  clear: function() {
+  clear: function () {
     this.cells = [];
     this.items = {};
     this._itemsDirty = false;
     this.selectedRow = null;
     while (this.header.nextSibling) {
       this.header.nextSibling.remove();
     }
   },
 
   /**
    * Sorts the given items and returns the sorted list if the table was sorted
    * by this column.
    */
-  sort: function(items) {
+  sort: function (items) {
     // Only sort the array if we are sorting based on this column
     if (this.sorted == 1) {
       items.sort((a, b) => {
         let val1 = (a[this.id] instanceof Ci.nsIDOMNode) ?
             a[this.id].textContent : a[this.id];
         let val2 = (b[this.id] instanceof Ci.nsIDOMNode) ?
             b[this.id].textContent : b[this.id];
         return val1 > val2;
@@ -1390,32 +1390,32 @@ Column.prototype = {
       cell.toggleClass("even", !(i % 2));
     }
   },
 
   /**
    * Click event handler for the column. Used to detect click on header for
    * for sorting.
    */
-  onClick: function(event) {
+  onClick: function (event) {
     let target = event.originalTarget;
 
     if (target.nodeType !== target.ELEMENT_NODE || target == this.column) {
       return;
     }
 
     if (event.button == 0 && target == this.header) {
       this.table.sortBy(this.id);
     }
   },
 
   /**
    * Mousedown event handler for the column. Used to select rows.
    */
-  onMousedown: function(event) {
+  onMousedown: function (event) {
     let target = event.originalTarget;
 
     if (target.nodeType !== target.ELEMENT_NODE ||
         target == this.column ||
         target == this.header) {
       return;
     }
     if (event.button == 0) {
@@ -1516,44 +1516,44 @@ Cell.prototype = {
       this.label.setAttribute("value", value + "");
     }
   },
 
   get value() {
     return this._value;
   },
 
-  toggleClass: function(className, condition) {
+  toggleClass: function (className, condition) {
     this.label.classList.toggle(className, condition);
   },
 
   /**
    * Flashes the cell for a brief time. This when done for with cells in all
    * columns, makes it look like the row is being highlighted/flashed.
    */
-  flash: function() {
+  flash: function () {
     if (!this.label.parentNode) {
       return;
     }
     this.label.classList.remove("flash-out");
     // Cause a reflow so that the animation retriggers on adding back the class
     let a = this.label.parentNode.offsetWidth; // eslint-disable-line
     let onAnimEnd = () => {
       this.label.classList.remove("flash-out");
       this.label.removeEventListener("animationend", onAnimEnd);
     };
     this.label.addEventListener("animationend", onAnimEnd);
     this.label.classList.add("flash-out");
   },
 
-  focus: function() {
+  focus: function () {
     this.label.focus();
   },
 
-  destroy: function() {
+  destroy: function () {
     this.label.remove();
     this.label = null;
   }
 };
 
 /**
  * Simple widget to make nodes matching a CSS selector editable.
  *
@@ -1629,31 +1629,31 @@ EditableFieldsEngine.prototype = {
   },
 
   /**
    * Called when a trigger event is detected (default is dblclick).
    *
    * @param  {EventTarget} target
    *         Calling event's target.
    */
-  onTrigger: function({target}) {
+  onTrigger: function ({target}) {
     this.edit(target);
   },
 
   /**
    * Handle keypresses when in edit mode:
    *   - <escape> revert the value and close the textbox.
    *   - <return> apply the value and close the textbox.
    *   - <tab> Handled by the consumer's `onTab` callback.
    *   - <shift><tab> Handled by the consumer's `onTab` callback.
    *
    * @param  {Event} event
    *         The calling event.
    */
-  onKeydown: function(event) {
+  onKeydown: function (event) {
     if (!this.textbox) {
       return;
     }
 
     switch (event.keyCode) {
       case event.DOM_VK_ESCAPE:
         this.cancelEdit();
         event.preventDefault();
@@ -1670,17 +1670,17 @@ EditableFieldsEngine.prototype = {
   },
 
   /**
    * Overlay the target node with an edit field.
    *
    * @param  {Node} target
    *         Dom node to be edited.
    */
-  edit: function(target) {
+  edit: function (target) {
     if (!target) {
       return;
     }
 
     target.scrollIntoView(false);
     target.focus();
 
     if (!target.matches(this.selectors.join(","))) {
@@ -1699,17 +1699,17 @@ EditableFieldsEngine.prototype = {
     this.textbox.value = this.currentValue = target.value;
     target.hidden = true;
     this.textbox.hidden = false;
 
     this.textbox.focus();
     this.textbox.select();
   },
 
-  completeEdit: function() {
+  completeEdit: function () {
     if (!this.isEditing) {
       return;
     }
 
     let oldValue = this.currentValue;
     let newValue = this.textbox.value;
     let changed = oldValue !== newValue;
 
@@ -1733,45 +1733,45 @@ EditableFieldsEngine.prototype = {
 
       this.emit("change", data);
     }
   },
 
   /**
    * Cancel an edit.
    */
-  cancelEdit: function() {
+  cancelEdit: function () {
     if (!this.isEditing) {
       return;
     }
     if (this.currentTarget) {
       this.currentTarget.hidden = false;
     }
 
     this.textbox.hidden = true;
   },
 
   /**
    * Stop edit mode and apply changes.
    */
-  blur: function() {
+  blur: function () {
     if (this.isEditing) {
       this.completeEdit();
     }
   },
 
   /**
    * Copies various styles from one node to another.
    *
    * @param  {Node} source
    *         The node to copy styles from.
    * @param  {Node} destination [description]
    *         The node to copy styles to.
    */
-  copyStyles: function(source, destination) {
+  copyStyles: function (source, destination) {
     let style = source.ownerGlobal.getComputedStyle(source);
     let props = [
       "borderTopWidth",
       "borderRightWidth",
       "borderBottomWidth",
       "borderLeftWidth",
       "fontFamily",
       "fontSize",
@@ -1791,17 +1791,17 @@ EditableFieldsEngine.prototype = {
 
     // We need to set the label width to 100% to work around a XUL flex bug.
     destination.style.width = "100%";
   },
 
   /**
    * Destroys all editors in the current document.
    */
-  destroy: function() {
+  destroy: function () {
     if (this.textbox) {
       this.textbox.removeEventListener("keydown", this.onKeydown);
       this.textbox.remove();
     }
 
     if (this.root) {
       this.root.removeEventListener(this.onTriggerEvent, this.onTrigger);
       this.root.ownerDocument.removeEventListener("blur", this.completeEdit);
--- a/devtools/client/shared/widgets/Tooltip.js
+++ b/devtools/client/shared/widgets/Tooltip.js
@@ -78,17 +78,17 @@ function OptionsStore(defaults, options)
 
 OptionsStore.prototype = {
   /**
    * Get the value for a given option name.
    * @return {Object} Returns the value for that option, coming either for the
    *         actual values that have been set in the constructor, or from the
    *         defaults if that options was not specified.
    */
-  get: function(name) {
+  get: function (name) {
     if (typeof this.options[name] !== "undefined") {
       return this.options[name];
     }
     return this.defaults[name];
   }
 };
 
 /**
@@ -97,17 +97,17 @@ OptionsStore.prototype = {
 var PanelFactory = {
   /**
    * Get a new XUL panel instance.
    * @param {XULDocument} doc
    *        The XUL document to put that panel into
    * @param {OptionsStore} options
    *        An options store to get some configuration from
    */
-  get: function(doc, options) {
+  get: function (doc, options) {
     // Create the tooltip
     let panel = doc.createElement("panel");
     panel.setAttribute("hidden", true);
     panel.setAttribute("ignorekeys", true);
     panel.setAttribute("animate", false);
 
     panel.setAttribute("consumeoutsideclicks",
                        options.get("consumeOutsideClick"));
@@ -253,71 +253,71 @@ Tooltip.prototype = {
    * @param {node} anchor
    *        Which node should the tooltip be shown on
    * @param {string} position [optional]
    *        Optional tooltip position. Defaults to before_start
    *        https://developer.mozilla.org/en-US/docs/XUL/PopupGuide/Positioning
    * @param {number} x, y [optional]
    *        The left and top offset coordinates, in pixels.
    */
-  show: function(anchor,
+  show: function (anchor,
     position = this.defaultPosition,
     x = this.defaultOffsetX,
     y = this.defaultOffsetY) {
     this.panel.hidden = false;
     this.panel.openPopup(anchor, position, x, y);
   },
 
   /**
    * Hide the tooltip
    */
-  hide: function() {
+  hide: function () {
     this.panel.hidden = true;
     this.panel.hidePopup();
   },
 
-  isShown: function() {
+  isShown: function () {
     return this.panel &&
            this.panel.state !== "closed" &&
            this.panel.state !== "hiding";
   },
 
-  setSize: function(width, height) {
+  setSize: function (width, height) {
     this.panel.sizeTo(width, height);
   },
 
   /**
    * Empty the tooltip's content
    */
-  empty: function() {
+  empty: function () {
     while (this.panel.hasChildNodes()) {
       this.panel.removeChild(this.panel.firstChild);
     }
   },
 
   /**
    * Gets this panel's visibility state.
    * @return boolean
    */
-  isHidden: function() {
+  isHidden: function () {
     return this.panel.state == "closed" || this.panel.state == "hiding";
   },
 
   /**
    * Gets if this panel has any child nodes.
    * @return boolean
    */
-  isEmpty: function() {
+  isEmpty: function () {
     return !this.panel.hasChildNodes();
   },
 
   /**
    * Get rid of references and event listeners
    */
-  destroy: function() {
+  destroy: function () {
     this.hide();
 
     for (let eventName of POPUP_EVENTS) {
       this.panel.removeEventListener("popup" + eventName,
         this["_onPopup" + eventName], false);
     }
 
     let win = this.doc.querySelector("window");
@@ -377,17 +377,17 @@ Tooltip.prototype = {
    *        A list of text messages.
    * @param {string} messagesClass [optional]
    *        A style class for the text messages.
    * @param {string} containerClass [optional]
    *        A style class for the text messages container.
    * @param {boolean} isAlertTooltip [optional]
    *        Pass true to add an alert image for your tooltip.
    */
-  setTextContent: function(
+  setTextContent: function (
     {
       messages,
       messagesClass,
       containerClass,
       isAlertTooltip
     },
     extraButtons = []) {
     messagesClass = messagesClass || "default-tooltip-simple-text-colors";
@@ -431,17 +431,17 @@ Tooltip.prototype = {
    * Sets some event listener info as the content of this tooltip.
    *
    * @param {Object} (destructuring assignment)
    *          @0 {array} eventListenerInfos
    *             A list of event listeners.
    *          @1 {toolbox} toolbox
    *             Toolbox used to select debugger panel.
    */
-  setEventContent: function({ eventListenerInfos, toolbox }) {
+  setEventContent: function ({ eventListenerInfos, toolbox }) {
     new EventTooltip(this, eventListenerInfos, toolbox);
   },
 
   /**
    * Fill the tooltip with a variables view, inspecting an object via its
    * corresponding object actor, as specified in the remote debugging protocol.
    *
    * @param {object} objectActor
@@ -456,17 +456,17 @@ Tooltip.prototype = {
    * @param {boolean} reuseCachedWidget [optional]
    *        Pass false to instantiate a brand new widget for this variable.
    *        Otherwise, if a variable was previously inspected, its widget
    *        will be reused.
    * @param {Toolbox} toolbox [optional]
    *        Pass the instance of the current toolbox if you want the variables
    *        view widget to allow highlighting and selection of DOM nodes
    */
-  setVariableContent: function(objectActor,
+  setVariableContent: function (objectActor,
                                viewOptions = {},
                                controllerOptions = {},
                                relayEvents = {},
                                extraButtons = [],
                                toolbox = null) {
     let vbox = this.doc.createElement("vbox");
     vbox.className = "devtools-tooltip-variables-view-box";
     vbox.setAttribute("flex", "1");
@@ -512,17 +512,17 @@ Tooltip.prototype = {
 
   /**
    * Uses the provided inspectorFront's getImageDataFromURL method to resolve
    * the relative URL on the server-side, in the page context, and then sets the
    * tooltip content with the resulting image just like |setImageContent| does.
    * @return a promise that resolves when the image is shown in the tooltip or
    * resolves when the broken image tooltip content is ready, but never rejects.
    */
-  setRelativeImageContent: Task.async(function*(imageUrl, inspectorFront,
+  setRelativeImageContent: Task.async(function* (imageUrl, inspectorFront,
                                                 maxDim) {
     if (imageUrl.startsWith("data:")) {
       // If the imageUrl already is a data-url, save ourselves a round-trip
       this.setImageContent(imageUrl, {maxDim: maxDim});
     } else if (inspectorFront) {
       try {
         let {data, size} = yield inspectorFront.getImageDataFromURL(imageUrl,
                                                                     maxDim);
@@ -533,17 +533,17 @@ Tooltip.prototype = {
         this.setBrokenImageContent();
       }
     }
   }),
 
   /**
    * Fill the tooltip with a message explaining the the image is missing
    */
-  setBrokenImageContent: function() {
+  setBrokenImageContent: function () {
     this.setTextContent({
       messages: [l10n.strings.GetStringFromName("previewTooltip.image.brokenImage")]
     });
   },
 
   /**
    * Fill the tooltip with an image and add the image dimension at the bottom.
    *
@@ -559,17 +559,17 @@ Tooltip.prototype = {
    *        - naturalWidth/naturalHeight : the original size of the image before
    *        it was resized, if if was resized before this function was called.
    *        If not provided, will be measured on the loaded image.
    *        - maxDim : if the image should be resized before being shown, pass
    *        a number here.
    *        - hideDimensionLabel : if the dimension label should be appended
    *        after the image.
    */
-  setImageContent: function(imageUrl, options={}) {
+  setImageContent: function (imageUrl, options = {}) {
     if (!imageUrl) {
       return;
     }
 
     // Main container
     let vbox = this.doc.createElement("vbox");
     vbox.setAttribute("align", "center");
 
@@ -630,17 +630,17 @@ Tooltip.prototype = {
    *
    * This function creates an iframe, loads the specified document
    * into it, sets the tooltip's content to the iframe, and returns
    * a promise.
    *
    * When the document is loaded, the function gets the content window
    * and resolves the promise with the content window.
    */
-  setIFrameContent: function({width, height}, url) {
+  setIFrameContent: function ({width, height}, url) {
     let def = promise.defer();
 
     // Create an iframe
     let iframe = this.doc.createElementNS(XHTML_NS, "iframe");
     iframe.setAttribute("transparent", true);
     iframe.setAttribute("width", width);
     iframe.setAttribute("height", height);
     iframe.setAttribute("flex", "1");
@@ -663,17 +663,17 @@ Tooltip.prototype = {
     return def.promise;
   },
 
   /**
    * Fill the tooltip with a new instance of the spectrum color picker widget
    * initialized with the given color, and return a promise that resolves to
    * the instance of spectrum
    */
-  setColorPickerContent: function(color) {
+  setColorPickerContent: function (color) {
     let dimensions = {width: "210", height: "216"};
     let panel = this.panel;
     return this.setIFrameContent(dimensions, SPECTRUM_FRAME).then(onLoaded);
 
     function onLoaded(iframe) {
       let win = iframe.contentWindow.wrappedJSObject;
       let def = promise.defer();
       let container = win.document.getElementById("spectrum");
@@ -697,17 +697,17 @@ Tooltip.prototype = {
     }
   },
 
   /**
    * Fill the tooltip with a new instance of the cubic-bezier widget
    * initialized with the given value, and return a promise that resolves to
    * the instance of the widget
    */
-  setCubicBezierContent: function(bezier) {
+  setCubicBezierContent: function (bezier) {
     let dimensions = {width: "500", height: "360"};
     let panel = this.panel;
     return this.setIFrameContent(dimensions, CUBIC_BEZIER_FRAME).then(onLoaded);
 
     function onLoaded(iframe) {
       let win = iframe.contentWindow.wrappedJSObject;
       let def = promise.defer();
       let container = win.document.getElementById("container");
@@ -726,17 +726,17 @@ Tooltip.prototype = {
     }
   },
 
   /**
    * Fill the tooltip with a new instance of the CSSFilterEditorWidget
    * widget initialized with the given filter value, and return a promise
    * that resolves to the instance of the widget when ready.
    */
-  setFilterContent: function(filter) {
+  setFilterContent: function (filter) {
     let dimensions = {width: "500", height: "200"};
     let panel = this.panel;
 
     return this.setIFrameContent(dimensions, FILTER_FRAME).then(onLoaded);
 
     function onLoaded(iframe) {
       let win = iframe.contentWindow.wrappedJSObject;
       let doc = win.document.documentElement;
@@ -764,17 +764,17 @@ Tooltip.prototype = {
    * for more info.
    * @param {String} font The font family value.
    * @param {object} nodeFront
    *        The NodeActor that will used to retrieve the dataURL for the font
    *        family tooltip contents.
    * @return A promise that resolves when the font tooltip content is ready, or
    *         rejects if no font is provided
    */
-  setFontFamilyContent: Task.async(function*(font, nodeFront) {
+  setFontFamilyContent: Task.async(function* (font, nodeFront) {
     if (!font || !nodeFront) {
       throw new Error("Missing font");
     }
 
     if (typeof nodeFront.getFontFamilyDataURL === "function") {
       font = font.replace(/"/g, "'");
       font = font.replace("!important", "");
       font = font.trim();
@@ -798,17 +798,17 @@ Tooltip.prototype = {
    *
    * It loads the tooltip's structure from a separate XHTML file
    * into an iframe. When the iframe is loaded it constructs
    * an MdnDocsWidget and passes that into resolve.
    *
    * The caller can use the MdnDocsWidget to update the tooltip's
    * UI with new content each time the tooltip is shown.
    */
-  setMdnDocsContent: function() {
+  setMdnDocsContent: function () {
     let dimensions = {width: "410", height: "300"};
     return this.setIFrameContent(dimensions, MDN_DOCS_FRAME).then(onLoaded);
 
     function onLoaded(iframe) {
       let win = iframe.contentWindow.wrappedJSObject;
       // create an MdnDocsWidget, initializing it with the content document
       let widget = new MdnDocsWidget(win.document);
       return widget;
@@ -851,17 +851,17 @@ function SwatchBasedEditorTooltip(doc) {
   // activeSwatch property will hold the reference to the swatch DOM element
   // that was clicked
   this.activeSwatch = null;
 
   this._onSwatchClick = this._onSwatchClick.bind(this);
 }
 
 SwatchBasedEditorTooltip.prototype = {
-  show: function() {
+  show: function () {
     if (this.activeSwatch) {
       this.tooltip.show(this.activeSwatch, "topcenter bottomleft");
 
       // When the tooltip is closed by clicking outside the panel we want to
       // commit any changes. Because the "hidden" event destroys the tooltip we
       // need to do this before the tooltip is destroyed (in the "hiding"
       // event).
       this.tooltip.once("hiding", () => {
@@ -875,17 +875,17 @@ SwatchBasedEditorTooltip.prototype = {
       this.tooltip.once("hidden", () => {
         if (!this.eyedropperOpen) {
           this.activeSwatch = null;
         }
       });
     }
   },
 
-  hide: function() {
+  hide: function () {
     this.tooltip.hide();
   },
 
   /**
    * Add a new swatch DOM element to the list of swatch elements this editor
    * tooltip knows about. That means from now on, clicking on that swatch will
    * toggle the editor.
    *
@@ -896,48 +896,48 @@ SwatchBasedEditorTooltip.prototype = {
    *        value change, or revert a change, or commit a change.
    *        - onShow: will be called when one of the swatch tooltip is shown
    *        - onPreview: will be called when one of the sub-classes calls
    *        preview
    *        - onRevert: will be called when the user ESCapes out of the tooltip
    *        - onCommit: will be called when the user presses ENTER or clicks
    *        outside the tooltip.
    */
-  addSwatch: function(swatchEl, callbacks={}) {
+  addSwatch: function (swatchEl, callbacks = {}) {
     if (!callbacks.onShow) {
-      callbacks.onShow = function() {};
+      callbacks.onShow = function () {};
     }
     if (!callbacks.onPreview) {
-      callbacks.onPreview = function() {};
+      callbacks.onPreview = function () {};
     }
     if (!callbacks.onRevert) {
-      callbacks.onRevert = function() {};
+      callbacks.onRevert = function () {};
     }
     if (!callbacks.onCommit) {
-      callbacks.onCommit = function() {};
+      callbacks.onCommit = function () {};
     }
 
     this.swatches.set(swatchEl, {
       callbacks: callbacks
     });
     swatchEl.addEventListener("click", this._onSwatchClick, false);
   },
 
-  removeSwatch: function(swatchEl) {
+  removeSwatch: function (swatchEl) {
     if (this.swatches.has(swatchEl)) {
       if (this.activeSwatch === swatchEl) {
         this.hide();
         this.activeSwatch = null;
       }
       swatchEl.removeEventListener("click", this._onSwatchClick, false);
       this.swatches.delete(swatchEl);
     }
   },
 
-  _onSwatchClick: function(event) {
+  _onSwatchClick: function (event) {
     let swatch = this.swatches.get(event.target);
 
     if (event.shiftKey) {
       event.stopPropagation();
       return;
     }
     if (swatch) {
       this.activeSwatch = event.target;
@@ -945,47 +945,47 @@ SwatchBasedEditorTooltip.prototype = {
       swatch.callbacks.onShow();
       event.stopPropagation();
     }
   },
 
   /**
    * Not called by this parent class, needs to be taken care of by sub-classes
    */
-  preview: function(value) {
+  preview: function (value) {
     if (this.activeSwatch) {
       let swatch = this.swatches.get(this.activeSwatch);
       swatch.callbacks.onPreview(value);
     }
   },
 
   /**
    * This parent class only calls this on <esc> keypress
    */
-  revert: function() {
+  revert: function () {
     if (this.activeSwatch) {
       this._reverted = true;
       let swatch = this.swatches.get(this.activeSwatch);
       this.tooltip.once("hiding", () => {
         swatch.callbacks.onRevert();
       });
     }
   },
 
   /**
    * This parent class only calls this on <enter> keypress
    */
-  commit: function() {
+  commit: function () {
     if (this.activeSwatch) {
       let swatch = this.swatches.get(this.activeSwatch);
       swatch.callbacks.onCommit();
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.swatches.clear();
     this.activeSwatch = null;
     this.tooltip.off("keypress", this._onTooltipKeypress);
     this.tooltip.destroy();
   }
 };
 
 /**
@@ -1009,17 +1009,17 @@ function SwatchColorPickerTooltip(doc) {
 
 module.exports.SwatchColorPickerTooltip = SwatchColorPickerTooltip;
 
 SwatchColorPickerTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.prototype, {
   /**
    * Overriding the SwatchBasedEditorTooltip.show function to set spectrum's
    * color.
    */
-  show: function() {
+  show: function () {
     // Call then parent class' show function
     SwatchBasedEditorTooltip.prototype.show.call(this);
     // Then set spectrum's color and listen to color changes to preview them
     if (this.activeSwatch) {
       this.currentSwatchColor = this.activeSwatch.nextSibling;
       this._originalColor = this.currentSwatchColor.textContent;
       let color = this.activeSwatch.style.backgroundColor;
       this.spectrum.then(spectrum => {
@@ -1030,36 +1030,36 @@ SwatchColorPickerTooltip.prototype = Her
       });
     }
 
     let tooltipDoc = this.tooltip.content.contentDocument;
     let eyeButton = tooltipDoc.querySelector("#eyedropper-button");
     eyeButton.addEventListener("click", this._openEyeDropper);
   },
 
-  _onSpectrumColorChange: function(event, rgba, cssColor) {
+  _onSpectrumColorChange: function (event, rgba, cssColor) {
     this._selectColor(cssColor);
   },
 
-  _selectColor: function(color) {
+  _selectColor: function (color) {
     if (this.activeSwatch) {
       this.activeSwatch.style.backgroundColor = color;
       this.activeSwatch.parentNode.dataset.color = color;
 
       color = this._toDefaultType(color);
       this.currentSwatchColor.textContent = color;
       this.preview(color);
 
       if (this.eyedropperOpen) {
         this.commit();
       }
     }
   },
 
- _openEyeDropper: function() {
+  _openEyeDropper: function () {
     let chromeWindow = this.tooltip.doc.defaultView.top;
     let windowType = chromeWindow.document.documentElement
                      .getAttribute("windowtype");
     let toolboxWindow;
     if (windowType != "navigator:browser") {
       // this means the toolbox is in a seperate window. We need to make
       // sure we'll be inspecting the browser window instead
       toolboxWindow = chromeWindow;
@@ -1085,29 +1085,29 @@ SwatchColorPickerTooltip.prototype = Her
     this.eyedropperOpen = true;
 
     // close the colorpicker tooltip so that only the eyedropper is open.
     this.hide();
 
     this.tooltip.emit("eyedropper-opened", dropper);
   },
 
-  _colorToRgba: function(color) {
+  _colorToRgba: function (color) {
     color = new colorUtils.CssColor(color);
     let rgba = color._getRGBATuple();
     return [rgba.r, rgba.g, rgba.b, rgba.a];
   },
 
-  _toDefaultType: function(color) {
+  _toDefaultType: function (color) {
     let colorObj = new colorUtils.CssColor(color);
     colorObj.setAuthoredUnitFromColor(this._originalColor);
     return colorObj.toString();
   },
 
-  destroy: function() {
+  destroy: function () {
     SwatchBasedEditorTooltip.prototype.destroy.call(this);
     this.currentSwatchColor = null;
     this.spectrum.then(spectrum => {
       spectrum.off("changed", this._onSpectrumColorChange);
       spectrum.destroy();
     });
   }
 });
@@ -1121,17 +1121,17 @@ function EventTooltip(tooltip, eventList
   this._headerClicked = this._headerClicked.bind(this);
   this._debugClicked = this._debugClicked.bind(this);
   this.destroy = this.destroy.bind(this);
 
   this._init();
 }
 
 EventTooltip.prototype = {
-  _init: function() {
+  _init: function () {
     let config = {
       mode: Editor.modes.js,
       lineNumbers: false,
       lineWrapping: false,
       readOnly: true,
       styleActiveLine: true,
       extraKeys: {},
       theme: "mozilla markup-view"
@@ -1243,21 +1243,21 @@ EventTooltip.prototype = {
                                      "");
     this._tooltip.panel.setAttribute("wide", "");
 
     this._tooltip.panel.addEventListener("popuphiding", () => {
       this.destroy(container);
     }, false);
   },
 
-  _addContentListeners: function(header) {
+  _addContentListeners: function (header) {
     header.addEventListener("click", this._headerClicked);
   },
 
-  _headerClicked: function(event) {
+  _headerClicked: function (event) {
     if (event.target.classList.contains("event-tooltip-debugger-icon")) {
       this._debugClicked(event);
       event.stopPropagation();
       return;
     }
 
     let doc = this._tooltip.doc;
     let header = event.currentTarget;
@@ -1301,17 +1301,17 @@ EventTooltip.prototype = {
           content.scrollIntoView(false);
         }
 
         this._tooltip.emit("event-tooltip-ready");
       });
     }
   },
 
-  _debugClicked: function(event) {
+  _debugClicked: function (event) {
     let header = event.currentTarget;
     let content = header.nextElementSibling;
 
     let {uri, searchString, dom0} =
       this._tooltip.eventEditors.get(content);
 
     if (uri && uri !== "?") {
       // Save a copy of toolbox as it will be set to null when we hide the
@@ -1365,17 +1365,17 @@ EventTooltip.prototype = {
           showSource(dbg);
         } else {
           dbg.once(dbg.EVENTS.SOURCES_ADDED, () => showSource(dbg));
         }
       });
     }
   },
 
-  destroy: function(container) {
+  destroy: function (container) {
     if (this._tooltip) {
       this._tooltip.panel.removeEventListener("popuphiding", this.destroy,
                                               false);
 
       let boxes = container.querySelectorAll(".event-tooltip-content-box");
 
       for (let box of boxes) {
         let {editor} = this._tooltip.eventEditors.get(box);
@@ -1421,40 +1421,40 @@ function SwatchCubicBezierTooltip(doc) {
 
 module.exports.SwatchCubicBezierTooltip = SwatchCubicBezierTooltip;
 
 SwatchCubicBezierTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.prototype, {
   /**
    * Overriding the SwatchBasedEditorTooltip.show function to set the cubic
    * bezier curve in the widget
    */
-  show: function() {
+  show: function () {
     // Call the parent class' show function
     SwatchBasedEditorTooltip.prototype.show.call(this);
     // Then set the curve and listen to changes to preview them
     if (this.activeSwatch) {
       this.currentBezierValue = this.activeSwatch.nextSibling;
       this.widget.then(widget => {
         widget.off("updated", this._onUpdate);
         widget.cssCubicBezierValue = this.currentBezierValue.textContent;
         widget.on("updated", this._onUpdate);
       });
     }
   },
 
-  _onUpdate: function(event, bezier) {
+  _onUpdate: function (event, bezier) {
     if (!this.activeSwatch) {
       return;
     }
 
     this.currentBezierValue.textContent = bezier + "";
     this.preview(bezier + "");
   },
 
-  destroy: function() {
+  destroy: function () {
     SwatchBasedEditorTooltip.prototype.destroy.call(this);
     this.currentBezierValue = null;
     this.widget.then(widget => {
       widget.off("updated", this._onUpdate);
       widget.destroy();
     });
   }
 });
@@ -1475,30 +1475,30 @@ function CssDocsTooltip(doc) {
 
 module.exports.CssDocsTooltip = CssDocsTooltip;
 
 CssDocsTooltip.prototype = {
   /**
    * Load CSS docs for the given property,
    * then display the tooltip.
    */
-  show: function(anchor, propertyName) {
+  show: function (anchor, propertyName) {
     function loadCssDocs(widget) {
       return widget.loadCssDocs(propertyName);
     }
 
     this.widget.then(loadCssDocs);
     this.tooltip.show(anchor, "topcenter bottomleft");
   },
 
-  hide: function() {
+  hide: function () {
     this.tooltip.hide();
   },
 
-  destroy: function() {
+  destroy: function () {
     this.tooltip.destroy();
   }
 };
 
 /**
  * The swatch-based css filter tooltip class is a specific class meant to be
  * used along with rule-view's generated css filter swatches.
  * It extends the parent SwatchBasedEditorTooltip class.
@@ -1514,48 +1514,48 @@ function SwatchFilterTooltip(doc) {
   // this.widget will always be a promise that resolves to the widget instance
   this.widget = this.tooltip.setFilterContent("none");
   this._onUpdate = this._onUpdate.bind(this);
 }
 
 exports.SwatchFilterTooltip = SwatchFilterTooltip;
 
 SwatchFilterTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.prototype, {
-  show: function() {
+  show: function () {
     // Call the parent class' show function
     SwatchBasedEditorTooltip.prototype.show.call(this);
     // Then set the filter value and listen to changes to preview them
     if (this.activeSwatch) {
       this.currentFilterValue = this.activeSwatch.nextSibling;
       this.widget.then(widget => {
         widget.off("updated", this._onUpdate);
         widget.on("updated", this._onUpdate);
         widget.setCssValue(this.currentFilterValue.textContent);
         widget.render();
       });
     }
   },
 
-  _onUpdate: function(event, filters) {
+  _onUpdate: function (event, filters) {
     if (!this.activeSwatch) {
       return;
     }
 
     // Remove the old children and reparse the property value to
     // recompute them.
     while (this.currentFilterValue.firstChild) {
       this.currentFilterValue.firstChild.remove();
     }
     let node = this._parser.parseCssProperty("filter", filters, this._options);
     this.currentFilterValue.appendChild(node);
 
     this.preview();
   },
 
-  destroy: function() {
+  destroy: function () {
     SwatchBasedEditorTooltip.prototype.destroy.call(this);
     this.currentFilterValue = null;
     this.widget.then(widget => {
       widget.off("updated", this._onUpdate);
       widget.destroy();
     });
   },
 
@@ -1568,17 +1568,17 @@ SwatchFilterTooltip.prototype = Heritage
    * @param {object} callbacks
    *        @see SwatchBasedEditorTooltip.addSwatch
    * @param {object} parser
    *        A parser object; @see OutputParser object
    * @param {object} options
    *        options to pass to the output parser, with
    *          the option |filterSwatch| set.
    */
-  addSwatch: function(swatchEl, callbacks, parser, options) {
+  addSwatch: function (swatchEl, callbacks, parser, options) {
     SwatchBasedEditorTooltip.prototype.addSwatch.call(this, swatchEl,
                                                       callbacks);
     this._parser = parser;
     this._options = options;
   }
 });
 
 /**
--- a/devtools/client/shared/widgets/TreeWidget.js
+++ b/devtools/client/shared/widgets/TreeWidget.js
@@ -95,39 +95,39 @@ TreeWidget.prototype = {
   },
 
   /**
    * Returns if the passed array corresponds to the selected item in the tree.
    *
    * @return {array}
    *        An array of ids leading upto the requested item
    */
-  isSelected: function(item) {
+  isSelected: function (item) {
     if (!this._selectedItem || this._selectedItem.length != item.length) {
       return false;
     }
 
     for (let i = 0; i < this._selectedItem.length; i++) {
       if (this._selectedItem[i] != item[i]) {
         return false;
       }
     }
 
     return true;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.root.remove();
     this.root = null;
   },
 
   /**
    * Sets up the root container of the TreeWidget.
    */
-  setupRoot: function() {
+  setupRoot: function () {
     this.root = new TreeItem(this.document);
     if (this.contextMenuId) {
       this.root.children.addEventListener("contextmenu", (event) => {
         let menu = this.document.getElementById(this.contextMenuId);
         menu.openPopupAtScreen(event.screenX, event.screenY, true);
       });
     }
 
@@ -135,54 +135,54 @@ TreeWidget.prototype = {
 
     this.root.children.addEventListener("mousedown", e => this.onClick(e));
     this.root.children.addEventListener("keypress", e => this.onKeypress(e));
   },
 
   /**
    * Sets the text to be shown when no node is present in the tree
    */
-  setPlaceholderText: function(text) {
+  setPlaceholderText: function (text) {
     this.placeholder.textContent = text;
   },
 
   /**
    * Select any node in the tree.
    *
    * @param {array} id
    *        An array of ids leading upto the selected item
    */
-  selectItem: function(id) {
+  selectItem: function (id) {
     this.selectedItem = id;
   },
 
   /**
    * Selects the next visible item in the tree.
    */
-  selectNextItem: function() {
+  selectNextItem: function () {
     let next = this.getNextVisibleItem();
     if (next) {
       this.selectedItem = next;
     }
   },
 
   /**
    * Selects the previos visible item in the tree
    */
-  selectPreviousItem: function() {
+  selectPreviousItem: function () {
     let prev = this.getPreviousVisibleItem();
     if (prev) {
       this.selectedItem = prev;
     }
   },
 
   /**
    * Returns the next visible item in the tree
    */
-  getNextVisibleItem: function() {
+  getNextVisibleItem: function () {
     let node = this._selectedLabel;
     if (node.hasAttribute("expanded") && node.nextSibling.firstChild) {
       return JSON.parse(node.nextSibling.firstChild.getAttribute("data-id"));
     }
     node = node.parentNode;
     if (node.nextSibling) {
       return JSON.parse(node.nextSibling.getAttribute("data-id"));
     }
@@ -194,17 +194,17 @@ TreeWidget.prototype = {
       node = node.parentNode;
     }
     return null;
   },
 
   /**
    * Returns the previous visible item in the tree
    */
-  getPreviousVisibleItem: function() {
+  getPreviousVisibleItem: function () {
     let node = this._selectedLabel.parentNode;
     if (node.previousSibling) {
       node = node.previousSibling.firstChild;
       while (node.hasAttribute("expanded") && !node.hasAttribute("empty")) {
         if (!node.nextSibling.lastChild) {
           break;
         }
         node = node.nextSibling.lastChild.firstChild;
@@ -220,17 +220,17 @@ TreeWidget.prototype = {
         }
         node = node.nextSibling.firstChild.firstChild;
       }
       return JSON.parse(node.getAttribute("data-id"));
     }
     return null;
   },
 
-  clearSelection: function() {
+  clearSelection: function () {
     this.selectedItem = -1;
   },
 
   /**
    * Adds an item in the tree. The item can be added as a child to any node in
    * the tree. The method will also create any subnode not present in the
    * process.
    *
@@ -253,17 +253,17 @@ TreeWidget.prototype = {
    *        in the tree:
    *        foo
    *         └ bar
    *            └ baz
    *        Passing the string id instead of the complete object helps when you
    *        are simply adding children to an already existing node and you know
    *        its id.
    */
-  add: function(items) {
+  add: function (items) {
     this.root.add(items, this.defaultType, this.sorted);
     for (let i = 0; i < items.length; i++) {
       if (items[i].attachment) {
         this.attachments.set(JSON.stringify(
           items.slice(0, i + 1).map(item => item.id || item)
         ), items[i].attachment);
       }
     }
@@ -272,55 +272,55 @@ TreeWidget.prototype = {
   },
 
   /**
    * Removes the specified item and all of its child items from the tree.
    *
    * @param {array} item
    *        The array of ids leading up to the item.
    */
-  remove: function(item) {
+  remove: function (item) {
     this.root.remove(item);
     this.attachments.delete(JSON.stringify(item));
     // Display the empty tree text
     if (this.root.items.size == 0 && this.emptyText) {
       this.setPlaceholderText(this.emptyText);
     }
   },
 
   /**
    * Removes all of the child nodes from this tree.
    */
-  clear: function() {
+  clear: function () {
     this.root.remove();
     this.setupRoot();
     this.attachments.clear();
     if (this.emptyText) {
       this.setPlaceholderText(this.emptyText);
     }
   },
 
   /**
    * Expands the tree completely
    */
-  expandAll: function() {
+  expandAll: function () {
     this.root.expandAll();
   },
 
   /**
    * Collapses the tree completely
    */
-  collapseAll: function() {
+  collapseAll: function () {
     this.root.collapseAll();
   },
 
   /**
    * Click handler for the tree. Used to select, open and close the tree nodes.
    */
-  onClick: function(event) {
+  onClick: function (event) {
     let target = event.originalTarget;
     while (target && !target.classList.contains("tree-widget-item")) {
       if (target == this.root.children) {
         return;
       }
       target = target.parentNode;
     }
     if (!target) {
@@ -338,17 +338,17 @@ TreeWidget.prototype = {
       this.selectedItem = JSON.parse(ids);
     }
   },
 
   /**
    * Keypress handler for this tree. Used to select next and previous visible
    * items, as well as collapsing and expanding any item.
    */
-  onKeypress: function(event) {
+  onKeypress: function (event) {
     switch (event.keyCode) {
       case event.DOM_VK_UP:
         this.selectPreviousItem();
         break;
 
       case event.DOM_VK_DOWN:
         this.selectNextItem();
         break;
@@ -374,17 +374,17 @@ TreeWidget.prototype = {
     }
     event.preventDefault();
   },
 
   /**
    * Scrolls the viewport of the tree so that the selected item is always
    * visible.
    */
-  ensureSelectedVisible: function() {
+  ensureSelectedVisible: function () {
     let {top, bottom} = this._selectedLabel.getBoundingClientRect();
     let height = this.root.children.parentNode.clientHeight;
     if (top < 0) {
       this._selectedLabel.scrollIntoView();
     } else if (bottom > height) {
       this._selectedLabel.scrollIntoView(false);
     }
   }
@@ -462,17 +462,17 @@ TreeItem.prototype = {
    * @param {array} items
    *        Same as TreeWidget.add method's argument
    * @param {string} defaultType
    *        The default type of the item to be used when items[i].type is null
    * @param {boolean} sorted
    *        true if the tree items are inserted in a lexically sorted manner.
    *        Otherwise, false if the item are to be appended to their parent.
    */
-  add: function(items, defaultType, sorted) {
+  add: function (items, defaultType, sorted) {
     if (items.length == this.level) {
       // This is the exit condition of recursive TreeItem.add calls
       return;
     }
     // Get the id and label corresponding to this level inside the tree.
     let id = items[this.level].id || items[this.level];
     if (this.items.has(id)) {
       // An item with same id already exists, thus calling the add method of
@@ -526,17 +526,17 @@ TreeItem.prototype = {
    * If this item is to be removed, then removes this item and thus all of its
    * subtree. Otherwise, call the remove method of appropriate child. This
    * recursive method goes on till we have reached the end of the branch or the
    * current item is to be removed.
    *
    * @param {array} items
    *        Ids of items leading up to the item to be removed.
    */
-  remove: function(items = []) {
+  remove: function (items = []) {
     let id = items.shift();
     if (id && this.items.has(id)) {
       let deleted = this.items.get(id);
       if (!items.length) {
         this.items.delete(id);
       }
       if (this.items.size == 0) {
         this.label.setAttribute("empty", "true");
@@ -549,17 +549,17 @@ TreeItem.prototype = {
 
   /**
    * If this item is to be selected, then selected and expands the item.
    * Otherwise, if a child item is to be selected, just expands this item.
    *
    * @param {array} items
    *        Ids of items leading up to the item to be selected.
    */
-  setSelectedItem: function(items) {
+  setSelectedItem: function (items) {
     if (!items[this.level]) {
       this.label.classList.add("theme-selected");
       this.label.setAttribute("expanded", "true");
       return this.label;
     }
     if (this.items.has(items[this.level])) {
       let label = this.items.get(items[this.level]).setSelectedItem(items);
       if (label && this.label) {
@@ -568,37 +568,37 @@ TreeItem.prototype = {
       return label;
     }
     return null;
   },
 
   /**
    * Collapses this item and all of its sub tree items
    */
-  collapseAll: function() {
+  collapseAll: function () {
     if (this.label) {
       this.label.removeAttribute("expanded");
     }
     for (let child of this.items.values()) {
       child.collapseAll();
     }
   },
 
   /**
    * Expands this item and all of its sub tree items
    */
-  expandAll: function() {
+  expandAll: function () {
     if (this.label) {
       this.label.setAttribute("expanded", "true");
     }
     for (let child of this.items.values()) {
       child.expandAll();
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.children.remove();
     this.node.remove();
     this.label = null;
     this.items = null;
     this.children = null;
   }
 };
--- a/devtools/client/shared/widgets/VariablesView.jsm
+++ b/devtools/client/shared/widgets/VariablesView.jsm
@@ -10,17 +10,17 @@ const Cu = Components.utils;
 
 const DBG_STRINGS_URI = "chrome://devtools/locale/debugger.properties";
 const LAZY_EMPTY_DELAY = 150; // ms
 const LAZY_EXPAND_DELAY = 50; // ms
 const SCROLL_PAGE_SIZE_DEFAULT = 0;
 const PAGE_SIZE_SCROLL_HEIGHT_RATIO = 100;
 const PAGE_SIZE_MAX_JUMPS = 30;
 const SEARCH_ACTION_MAX_DELAY = 300; // ms
-const ITEM_FLASH_DURATION = 300 // ms
+const ITEM_FLASH_DURATION = 300; // ms
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://devtools/shared/event-emitter.js");
 Cu.import("resource://gre/modules/Task.jsm");
 const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 const Services = require("Services");
 const { getSourceNames } = require("devtools/client/shared/source-utils");
@@ -31,25 +31,25 @@ const { Heritage, ViewHelpers, setNamedT
 XPCOMUtils.defineLazyModuleGetter(this, "PluralForm",
   "resource://gre/modules/PluralForm.jsm");
 
 XPCOMUtils.defineLazyServiceGetter(this, "clipboardHelper",
   "@mozilla.org/widget/clipboardhelper;1",
   "nsIClipboardHelper");
 
 Object.defineProperty(this, "WebConsoleUtils", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/utils").Utils;
   },
   configurable: true,
   enumerable: true
 });
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   enumerable: true
 });
 
 this.EXPORTED_SYMBOLS = ["VariablesView", "escapeHTML"];
 
@@ -125,17 +125,17 @@ VariablesView.prototype = {
    * This new scope will be considered the parent of any other scope
    * added afterwards.
    *
    * @param string aName
    *        The scope's name (e.g. "Local", "Global" etc.).
    * @return Scope
    *         The newly created Scope instance.
    */
-  addScope: function(aName = "") {
+  addScope: function (aName = "") {
     this._removeEmptyNotice();
     this._toggleSearchVisibility(true);
 
     let scope = new Scope(this, aName);
     this._store.push(scope);
     this._itemsByElement.set(scope._target, scope);
     this._currHierarchy.set(aName, scope);
     scope.header = !!aName;
@@ -145,17 +145,17 @@ VariablesView.prototype = {
 
   /**
    * Removes all items from this container.
    *
    * @param number aTimeout [optional]
    *        The number of milliseconds to delay the operation if
    *        lazy emptying of this container is enabled.
    */
-  empty: function(aTimeout = this.lazyEmptyDelay) {
+  empty: function (aTimeout = this.lazyEmptyDelay) {
     // If there are no items in this container, emptying is useless.
     if (!this._store.length) {
       return;
     }
 
     this._store.length = 0;
     this._itemsByElement = new WeakMap();
     this._prevHierarchy = this._currHierarchy;
@@ -185,17 +185,17 @@ VariablesView.prototype = {
    * immediately attached to the parent container. The old container list
    * is kept around for a short period of time, hopefully accounting for the
    * data fetching delay. In the meantime, any operations can be executed
    * normally.
    *
    * @see VariablesView.empty
    * @see VariablesView.commitHierarchy
    */
-  _emptySoon: function(aTimeout) {
+  _emptySoon: function (aTimeout) {
     let prevList = this._list;
     let currList = this._list = this.document.createElement("scrollbox");
 
     this.window.setTimeout(() => {
       prevList.removeEventListener("keypress", this._onViewKeyPress, false);
       prevList.removeEventListener("keydown", this._onViewKeyDown, false);
       currList.addEventListener("keypress", this._onViewKeyPress, false);
       currList.addEventListener("keydown", this._onViewKeyDown, false);
@@ -434,17 +434,17 @@ VariablesView.prototype = {
   get searchPlaceholder() {
     return this._searchboxPlaceholder;
   },
 
   /**
    * Enables variable and property searching in this view.
    * Use the "searchEnabled" setter to enable searching.
    */
-  _enableSearch: function() {
+  _enableSearch: function () {
     // If searching was already enabled, no need to re-enable it again.
     if (this._searchboxContainer) {
       return;
     }
     let document = this.document;
     let ownerNode = this._parent.parentNode;
 
     let container = this._searchboxContainer = document.createElement("hbox");
@@ -465,17 +465,17 @@ VariablesView.prototype = {
     container.appendChild(searchbox);
     ownerNode.insertBefore(container, this._parent);
   },
 
   /**
    * Disables variable and property searching in this view.
    * Use the "searchEnabled" setter to disable searching.
    */
-  _disableSearch: function() {
+  _disableSearch: function () {
     // If searching was already disabled, no need to re-disable it again.
     if (!this._searchboxContainer) {
       return;
     }
     this._searchboxContainer.remove();
     this._searchboxNode.removeEventListener("command", this._onSearchboxInput, false);
     this._searchboxNode.removeEventListener("keypress", this._onSearchboxKeyPress, false);
 
@@ -485,36 +485,36 @@ VariablesView.prototype = {
 
   /**
    * Sets the variables searchbox container hidden or visible.
    * It's hidden by default.
    *
    * @param boolean aVisibleFlag
    *        Specifies the intended visibility.
    */
-  _toggleSearchVisibility: function(aVisibleFlag) {
+  _toggleSearchVisibility: function (aVisibleFlag) {
     // If searching was already disabled, there's no need to hide it.
     if (!this._searchboxContainer) {
       return;
     }
     this._searchboxContainer.hidden = !aVisibleFlag;
   },
 
   /**
    * Listener handling the searchbox input event.
    */
-  _onSearchboxInput: function() {
+  _onSearchboxInput: function () {
     this.scheduleSearch(this._searchboxNode.value);
   },
 
   /**
    * Listener handling the searchbox key press event.
    */
-  _onSearchboxKeyPress: function(e) {
-    switch(e.keyCode) {
+  _onSearchboxKeyPress: function (e) {
+    switch (e.keyCode) {
       case e.DOM_VK_RETURN:
         this._onSearchboxInput();
         return;
       case e.DOM_VK_ESCAPE:
         this._searchboxNode.value = "";
         this._onSearchboxInput();
         return;
     }
@@ -523,17 +523,17 @@ VariablesView.prototype = {
   /**
    * Schedules searching for variables or properties matching the query.
    *
    * @param string aToken
    *        The variable or property to search for.
    * @param number aWait
    *        The amount of milliseconds to wait until draining.
    */
-  scheduleSearch: function(aToken, aWait) {
+  scheduleSearch: function (aToken, aWait) {
     // Check if this search operation may not be executed lazily.
     if (!this.lazySearch) {
       this._doSearch(aToken);
       return;
     }
 
     // The amount of time to wait for the requests to settle.
     let maxDelay = SEARCH_ACTION_MAX_DELAY;
@@ -549,17 +549,17 @@ VariablesView.prototype = {
    *
    * If aToken is falsy, then all the scopes are unhidden and expanded,
    * while the available variables and properties inside those scopes are
    * just unhidden.
    *
    * @param string aToken
    *        The variable or property to search for.
    */
-  _doSearch: function(aToken) {
+  _doSearch: function (aToken) {
     if (this.controller && this.controller.supportsSearch()) {
       // Retrieve the main Scope in which we add attributes
       let scope = this._store[0]._store.get("");
       if (!aToken) {
         // Prune the view from old previous content
         // so that we delete the intermediate search results
         // we created in previous searches
         for (let property of scope._store.values()) {
@@ -595,17 +595,17 @@ VariablesView.prototype = {
    * user). Descends into each scope to check the scope and its children.
    *
    * @param function aPredicate
    *        A function that returns true when a match is found.
    * @return Scope | Variable | Property
    *         The first visible scope, variable or property, or null if nothing
    *         is found.
    */
-  _findInVisibleItems: function(aPredicate) {
+  _findInVisibleItems: function (aPredicate) {
     for (let scope of this._store) {
       let result = scope._findInVisibleItems(aPredicate);
       if (result) {
         return result;
       }
     }
     return null;
   },
@@ -617,17 +617,17 @@ VariablesView.prototype = {
    * its children.
    *
    * @param function aPredicate
    *        A function that returns true when a match is found.
    * @return Scope | Variable | Property
    *         The last visible scope, variable or property, or null if nothing
    *         is found.
    */
-  _findInVisibleItemsReverse: function(aPredicate) {
+  _findInVisibleItemsReverse: function (aPredicate) {
     for (let i = this._store.length - 1; i >= 0; i--) {
       let scope = this._store[i];
       let result = scope._findInVisibleItemsReverse(aPredicate);
       if (result) {
         return result;
       }
     }
     return null;
@@ -636,42 +636,42 @@ VariablesView.prototype = {
   /**
    * Gets the scope at the specified index.
    *
    * @param number aIndex
    *        The scope's index.
    * @return Scope
    *         The scope if found, undefined if not.
    */
-  getScopeAtIndex: function(aIndex) {
+  getScopeAtIndex: function (aIndex) {
     return this._store[aIndex];
   },
 
   /**
    * Recursively searches this container for the scope, variable or property
    * displayed by the specified node.
    *
    * @param nsIDOMNode aNode
    *        The node to search for.
    * @return Scope | Variable | Property
    *         The matched scope, variable or property, or null if nothing is found.
    */
-  getItemForNode: function(aNode) {
+  getItemForNode: function (aNode) {
     return this._itemsByElement.get(aNode);
   },
 
   /**
    * Gets the scope owning a Variable or Property.
    *
    * @param Variable | Property
    *        The variable or property to retrieven the owner scope for.
    * @return Scope
    *         The owner scope.
    */
-  getOwnerScopeForVariableOrProperty: function(aItem) {
+  getOwnerScopeForVariableOrProperty: function (aItem) {
     if (!aItem) {
       return null;
     }
     // If this is a Scope, return it.
     if (!(aItem instanceof Variable)) {
       return aItem;
     }
     // If this is a Variable or Property, find its owner scope.
@@ -685,78 +685,78 @@ VariablesView.prototype = {
    * Gets the parent scopes for a specified Variable or Property.
    * The returned list will not include the owner scope.
    *
    * @param Variable | Property
    *        The variable or property for which to find the parent scopes.
    * @return array
    *         A list of parent Scopes.
    */
-  getParentScopesForVariableOrProperty: function(aItem) {
+  getParentScopesForVariableOrProperty: function (aItem) {
     let scope = this.getOwnerScopeForVariableOrProperty(aItem);
     return this._store.slice(0, Math.max(this._store.indexOf(scope), 0));
   },
 
   /**
    * Gets the currently focused scope, variable or property in this view.
    *
    * @return Scope | Variable | Property
    *         The focused scope, variable or property, or null if nothing is found.
    */
-  getFocusedItem: function() {
+  getFocusedItem: function () {
     let focused = this.document.commandDispatcher.focusedElement;
     return this.getItemForNode(focused);
   },
 
   /**
    * Focuses the first visible scope, variable, or property in this container.
    */
-  focusFirstVisibleItem: function() {
+  focusFirstVisibleItem: function () {
     let focusableItem = this._findInVisibleItems(item => item.focusable);
     if (focusableItem) {
       this._focusItem(focusableItem);
     }
     this._parent.scrollTop = 0;
     this._parent.scrollLeft = 0;
   },
 
   /**
    * Focuses the last visible scope, variable, or property in this container.
    */
-  focusLastVisibleItem: function() {
+  focusLastVisibleItem: function () {
     let focusableItem = this._findInVisibleItemsReverse(item => item.focusable);
     if (focusableItem) {
       this._focusItem(focusableItem);
     }
     this._parent.scrollTop = this._parent.scrollHeight;
     this._parent.scrollLeft = 0;
   },
 
   /**
    * Focuses the next scope, variable or property in this view.
    */
-  focusNextItem: function() {
+  focusNextItem: function () {
     this.focusItemAtDelta(+1);
   },
 
   /**
    * Focuses the previous scope, variable or property in this view.
    */
-  focusPrevItem: function() {
+  focusPrevItem: function () {
     this.focusItemAtDelta(-1);
   },
 
   /**
    * Focuses another scope, variable or property in this view, based on
    * the index distance from the currently focused item.
    *
    * @param number aDelta
    *        A scalar specifying by how many items should the selection change.
    */
-  focusItemAtDelta: function(aDelta) {
+  focusItemAtDelta: function (aDelta) {
     let direction = aDelta > 0 ? "advanceFocus" : "rewindFocus";
     let distance = Math.abs(Math[aDelta > 0 ? "ceil" : "floor"](aDelta));
     while (distance--) {
       if (!this._focusChange(direction)) {
         break; // Out of bounds.
       }
     }
   },
@@ -765,17 +765,17 @@ VariablesView.prototype = {
    * Focuses the next or previous scope, variable or property in this view.
    *
    * @param string aDirection
    *        Either "advanceFocus" or "rewindFocus".
    * @return boolean
    *         False if the focus went out of bounds and the first or last element
    *         in this view was focused instead.
    */
-  _focusChange: function(aDirection) {
+  _focusChange: function (aDirection) {
     let commandDispatcher = this.document.commandDispatcher;
     let prevFocusedElement = commandDispatcher.focusedElement;
     let currFocusedItem = null;
 
     do {
       commandDispatcher.suppressFocusScroll = true;
       commandDispatcher[aDirection]();
 
@@ -796,32 +796,32 @@ VariablesView.prototype = {
    *
    * @param aItem Scope | Variable | Property
    *        The item to focus.
    * @param boolean aCollapseFlag
    *        True if the focused item should also be collapsed.
    * @return boolean
    *         True if the item was successfully focused.
    */
-  _focusItem: function(aItem, aCollapseFlag) {
+  _focusItem: function (aItem, aCollapseFlag) {
     if (!aItem.focusable) {
       return false;
     }
     if (aCollapseFlag) {
       aItem.collapse();
     }
     aItem._target.focus();
     this.boxObject.ensureElementIsVisible(aItem._arrow);
     return true;
   },
 
   /**
    * Listener handling a key press event on the view.
    */
-  _onViewKeyPress: function(e) {
+  _onViewKeyPress: function (e) {
     let item = this.getFocusedItem();
 
     // Prevent scrolling when pressing navigation keys.
     ViewHelpers.preventScrolling(e);
 
     switch (e.keyCode) {
       case e.DOM_VK_UP:
         // Always rewind focus.
@@ -900,17 +900,17 @@ VariablesView.prototype = {
         item._onAddProperty(e);
         return;
     }
   },
 
   /**
    * Listener handling a key down event on the view.
    */
-  _onViewKeyDown: function(e) {
+  _onViewKeyDown: function (e) {
     if (e.keyCode == e.DOM_VK_C) {
       // Copy current selection to clipboard.
       if (e.ctrlKey || e.metaKey) {
         let item = this.getFocusedItem();
         clipboardHelper.copyString(
           item._nameString + item.separatorStr + item._valueString
         );
       }
@@ -927,33 +927,33 @@ VariablesView.prototype = {
     }
     this._emptyTextValue = aValue;
     this._appendEmptyNotice();
   },
 
   /**
    * Creates and appends a label signaling that this container is empty.
    */
-  _appendEmptyNotice: function() {
+  _appendEmptyNotice: function () {
     if (this._emptyTextNode || !this._emptyTextValue) {
       return;
     }
 
     let label = this.document.createElement("label");
     label.className = "variables-view-empty-notice";
     label.setAttribute("value", this._emptyTextValue);
 
     this._parent.appendChild(label);
     this._emptyTextNode = label;
   },
 
   /**
    * Removes the label signaling that this container is empty.
    */
-  _removeEmptyNotice: function() {
+  _removeEmptyNotice: function () {
     if (!this._emptyTextNode) {
       return;
     }
 
     this._parent.removeChild(this._emptyTextNode);
     this._emptyTextNode = null;
   },
 
@@ -1070,50 +1070,50 @@ VariablesView.NON_SORTABLE_CLASSES = [
 ];
 
 /**
  * Determine whether an object's properties should be sorted based on its class.
  *
  * @param string aClassName
  *        The class of the object.
  */
-VariablesView.isSortable = function(aClassName) {
+VariablesView.isSortable = function (aClassName) {
   return VariablesView.NON_SORTABLE_CLASSES.indexOf(aClassName) == -1;
 };
 
 /**
  * Generates the string evaluated when performing simple value changes.
  *
  * @param Variable | Property aItem
  *        The current variable or property.
  * @param string aCurrentString
  *        The trimmed user inputted string.
  * @param string aPrefix [optional]
  *        Prefix for the symbolic name.
  * @return string
  *         The string to be evaluated.
  */
-VariablesView.simpleValueEvalMacro = function(aItem, aCurrentString, aPrefix = "") {
+VariablesView.simpleValueEvalMacro = function (aItem, aCurrentString, aPrefix = "") {
   return aPrefix + aItem.symbolicName + "=" + aCurrentString;
 };
 
 /**
  * Generates the string evaluated when overriding getters and setters with
  * plain values.
  *
  * @param Property aItem
  *        The current getter or setter property.
  * @param string aCurrentString
  *        The trimmed user inputted string.
  * @param string aPrefix [optional]
  *        Prefix for the symbolic name.
  * @return string
  *         The string to be evaluated.
  */
-VariablesView.overrideValueEvalMacro = function(aItem, aCurrentString, aPrefix = "") {
+VariablesView.overrideValueEvalMacro = function (aItem, aCurrentString, aPrefix = "") {
   let property = "\"" + aItem._nameString + "\"";
   let parent = aPrefix + aItem.ownerView.symbolicName || "this";
 
   return "Object.defineProperty(" + parent + "," + property + "," +
     "{ value: " + aCurrentString +
     ", enumerable: " + parent + ".propertyIsEnumerable(" + property + ")" +
     ", configurable: true" +
     ", writable: true" +
@@ -1127,17 +1127,17 @@ VariablesView.overrideValueEvalMacro = f
  *        The current getter or setter property.
  * @param string aCurrentString
  *        The trimmed user inputted string.
  * @param string aPrefix [optional]
  *        Prefix for the symbolic name.
  * @return string
  *         The string to be evaluated.
  */
-VariablesView.getterOrSetterEvalMacro = function(aItem, aCurrentString, aPrefix = "") {
+VariablesView.getterOrSetterEvalMacro = function (aItem, aCurrentString, aPrefix = "") {
   let type = aItem._nameString;
   let propertyObject = aItem.ownerView;
   let parentObject = propertyObject.ownerView;
   let property = "\"" + propertyObject._nameString + "\"";
   let parent = aPrefix + parentObject.symbolicName || "this";
 
   switch (aCurrentString) {
     case "":
@@ -1203,17 +1203,17 @@ VariablesView.getterOrSetterEvalMacro = 
 };
 
 /**
  * Function invoked when a getter or setter is deleted.
  *
  * @param Property aItem
  *        The current getter or setter property.
  */
-VariablesView.getterOrSetterDeleteCallback = function(aItem) {
+VariablesView.getterOrSetterDeleteCallback = function (aItem) {
   aItem._disable();
 
   // Make sure the right getter/setter to value override macro is applied
   // to the target object.
   aItem.ownerView.eval(aItem, "");
 
   return true; // Don't hide the element.
 };
@@ -1280,17 +1280,17 @@ Scope.prototype = {
    *        The name of the new Property.
    * @param object aDescriptor
    *        The variable's descriptor.
    * @param object aOptions
    *        Options of the form accepted by addItem.
    * @return Variable
    *         The newly created child Variable.
    */
-  _createChild: function(aName, aDescriptor, aOptions) {
+  _createChild: function (aName, aDescriptor, aOptions) {
     return new Variable(this, aName, aDescriptor, aOptions);
   },
 
   /**
    * Adds a child to contain any inspected properties.
    *
    * @param string aName
    *        The child's name.
@@ -1316,17 +1316,17 @@ Scope.prototype = {
    *        * boolean internalItem  true if the item is internally generated.
    *                           This is used for special variables
    *                           like <return> or <exception> and distinguishes
    *                           them from ordinary properties that happen
    *                           to have the same name
    * @return Variable
    *         The newly created Variable instance, null if it already exists.
    */
-  addItem: function(aName = "", aDescriptor = {}, aOptions = {}) {
+  addItem: function (aName = "", aDescriptor = {}, aOptions = {}) {
     let {relaxed} = aOptions;
     if (this._store.has(aName) && !relaxed) {
       return this._store.get(aName);
     }
 
     let child = this._createChild(aName, aDescriptor, aOptions);
     this._store.set(aName, child);
     this._variablesView._itemsByElement.set(child._target, child);
@@ -1352,17 +1352,17 @@ Scope.prototype = {
    *                 someProp5: { value: { type: "object", class: "Object" } },
    *                 someProp6: { get: { type: "object", class: "Function" },
    *                              set: { type: "undefined" } } }
    * @param object aOptions [optional]
    *        Additional options for adding the properties. Supported options:
    *        - sorted: true to sort all the properties before adding them
    *        - callback: function invoked after each item is added
    */
-  addItems: function(aItems, aOptions = {}) {
+  addItems: function (aItems, aOptions = {}) {
     let names = Object.keys(aItems);
 
     // Sort all of the properties before adding them, if preferred.
     if (aOptions.sorted) {
       names.sort(this._naturalSort);
     }
 
     // Add the properties to the current scope.
@@ -1374,17 +1374,17 @@ Scope.prototype = {
         aOptions.callback(item, descriptor.value);
       }
     }
   },
 
   /**
    * Remove this Scope from its parent and remove all children recursively.
    */
-  remove: function() {
+  remove: function () {
     let view = this._variablesView;
     view._store.splice(view._store.indexOf(this), 1);
     view._itemsByElement.delete(this._target);
     view._currHierarchy.delete(this._nameString);
 
     this._target.remove();
 
     for (let variable of this._store.values()) {
@@ -1395,30 +1395,30 @@ Scope.prototype = {
   /**
    * Gets the variable in this container having the specified name.
    *
    * @param string aName
    *        The name of the variable to get.
    * @return Variable
    *         The matched variable, or null if nothing is found.
    */
-  get: function(aName) {
+  get: function (aName) {
     return this._store.get(aName);
   },
 
   /**
    * Recursively searches for the variable or property in this container
    * displayed by the specified node.
    *
    * @param nsIDOMNode aNode
    *        The node to search for.
    * @return Variable | Property
    *         The matched variable or property, or null if nothing is found.
    */
-  find: function(aNode) {
+  find: function (aNode) {
     for (let [, variable] of this._store) {
       let match;
       if (variable._target == aNode) {
         match = variable;
       } else {
         match = variable.find(aNode);
       }
       if (match) {
@@ -1432,70 +1432,70 @@ Scope.prototype = {
    * Determines if this scope is a direct child of a parent variables view,
    * scope, variable or property.
    *
    * @param VariablesView | Scope | Variable | Property
    *        The parent to check.
    * @return boolean
    *         True if the specified item is a direct child, false otherwise.
    */
-  isChildOf: function(aParent) {
+  isChildOf: function (aParent) {
     return this.ownerView == aParent;
   },
 
   /**
    * Determines if this scope is a descendant of a parent variables view,
    * scope, variable or property.
    *
    * @param VariablesView | Scope | Variable | Property
    *        The parent to check.
    * @return boolean
    *         True if the specified item is a descendant, false otherwise.
    */
-  isDescendantOf: function(aParent) {
+  isDescendantOf: function (aParent) {
     if (this.isChildOf(aParent)) {
       return true;
     }
 
     // Recurse to parent if it is a Scope, Variable, or Property.
     if (this.ownerView instanceof Scope) {
       return this.ownerView.isDescendantOf(aParent);
     }
 
     return false;
   },
 
   /**
    * Shows the scope.
    */
-  show: function() {
+  show: function () {
     this._target.hidden = false;
     this._isContentVisible = true;
 
     if (this.onshow) {
       this.onshow(this);
     }
   },
 
   /**
    * Hides the scope.
    */
-  hide: function() {
+  hide: function () {
     this._target.hidden = true;
     this._isContentVisible = false;
 
     if (this.onhide) {
       this.onhide(this);
     }
   },
 
   /**
    * Expands the scope, showing all the added details.
    */
-  expand: function() {
+  expand: function () {
     if (this._isExpanded || this._isLocked) {
       return;
     }
     if (this._variablesView._enumVisible) {
       this._openEnum();
     }
     if (this._variablesView._nonEnumVisible) {
       Services.tm.currentThread.dispatch({ run: this._openNonEnum }, 0);
@@ -1509,34 +1509,34 @@ Scope.prototype = {
       // and attributes are available. (Mostly used for tests)
       return this.onexpand(this);
     }
   },
 
   /**
    * Collapses the scope, hiding all the added details.
    */
-  collapse: function() {
+  collapse: function () {
     if (!this._isExpanded || this._isLocked) {
       return;
     }
     this._arrow.removeAttribute("open");
     this._enum.removeAttribute("open");
     this._nonenum.removeAttribute("open");
     this._isExpanded = false;
 
     if (this.oncollapse) {
       this.oncollapse(this);
     }
   },
 
   /**
    * Toggles between the scope's collapsed and expanded state.
    */
-  toggle: function(e) {
+  toggle: function (e) {
     if (e && e.button != 0) {
       // Only allow left-click to trigger this event.
       return;
     }
     this.expanded ^= 1;
 
     // Make sure the scope and its contents are visibile.
     for (let [, variable] of this._store) {
@@ -1546,29 +1546,29 @@ Scope.prototype = {
     if (this.ontoggle) {
       this.ontoggle(this);
     }
   },
 
   /**
    * Shows the scope's title header.
    */
-  showHeader: function() {
+  showHeader: function () {
     if (this._isHeaderVisible || !this._nameString) {
       return;
     }
     this._target.removeAttribute("untitled");
     this._isHeaderVisible = true;
   },
 
   /**
    * Hides the scope's title header.
    * This action will automatically expand the scope.
    */
-  hideHeader: function() {
+  hideHeader: function () {
     if (!this._isHeaderVisible) {
       return;
     }
     this.expand();
     this._target.setAttribute("untitled", "");
     this._isHeaderVisible = false;
   },
 
@@ -1577,37 +1577,37 @@ Scope.prototype = {
    * This only needs to compare non-numbers since it is dealing with an array
    * which numeric-based indices are placed in order.
    *
    * @param string a
    * @param string b
    * @return number
    *         -1 if a is less than b, 0 if no change in order, +1 if a is greater than 0
    */
-  _naturalSort: function(a,b) {
+  _naturalSort: function (a, b) {
     if (isNaN(parseFloat(a)) && isNaN(parseFloat(b))) {
       return a < b ? -1 : 1;
     }
-   },
+  },
 
   /**
    * Shows the scope's expand/collapse arrow.
    */
-  showArrow: function() {
+  showArrow: function () {
     if (this._isArrowVisible) {
       return;
     }
     this._arrow.removeAttribute("invisible");
     this._isArrowVisible = true;
   },
 
   /**
    * Hides the scope's expand/collapse arrow.
    */
-  hideArrow: function() {
+  hideArrow: function () {
     if (!this._isArrowVisible) {
       return;
     }
     this._arrow.setAttribute("invisible", "");
     this._isArrowVisible = false;
   },
 
   /**
@@ -1712,37 +1712,37 @@ Scope.prototype = {
       }
     }
     return true;
   },
 
   /**
    * Focus this scope.
    */
-  focus: function() {
+  focus: function () {
     this._variablesView._focusItem(this);
   },
 
   /**
    * Adds an event listener for a certain event on this scope's title.
    * @param string aName
    * @param function aCallback
    * @param boolean aCapture
    */
-  addEventListener: function(aName, aCallback, aCapture) {
+  addEventListener: function (aName, aCallback, aCapture) {
     this._title.addEventListener(aName, aCallback, aCapture);
   },
 
   /**
    * Removes an event listener for a certain event on this scope's title.
    * @param string aName
    * @param function aCallback
    * @param boolean aCapture
    */
-  removeEventListener: function(aName, aCallback, aCapture) {
+  removeEventListener: function (aName, aCallback, aCapture) {
     this._title.removeEventListener(aName, aCallback, aCapture);
   },
 
   /**
    * Gets the id associated with this item.
    * @return string
    */
   get id() {
@@ -1784,34 +1784,34 @@ Scope.prototype = {
   /**
    * Initializes this scope's id, view and binds event listeners.
    *
    * @param string aName
    *        The scope's name.
    * @param object aFlags [optional]
    *        Additional options or flags for this scope.
    */
-  _init: function(aName, aFlags) {
+  _init: function (aName, aFlags) {
     this._idString = generateId(this._nameString = aName);
     this._displayScope(aName, this.targetClassName, "devtools-toolbar");
     this._addEventListeners();
     this.parentNode.appendChild(this._target);
   },
 
   /**
    * Creates the necessary nodes for this scope.
    *
    * @param string aName
    *        The scope's name.
    * @param string aTargetClassName
    *        A custom class name for this scope's target element.
    * @param string aTitleClassName [optional]
    *        A custom class name for this scope's title element.
    */
-  _displayScope: function(aName, aTargetClassName, aTitleClassName = "") {
+  _displayScope: function (aName, aTargetClassName, aTitleClassName = "") {
     let document = this.document;
 
     let element = this._target = document.createElement("vbox");
     element.id = this._idString;
     element.className = aTargetClassName;
 
     let arrow = this._arrow = document.createElement("hbox");
     arrow.className = "arrow theme-twisty";
@@ -1835,47 +1835,47 @@ Scope.prototype = {
     element.appendChild(title);
     element.appendChild(enumerable);
     element.appendChild(nonenum);
   },
 
   /**
    * Adds the necessary event listeners for this scope.
    */
-  _addEventListeners: function() {
+  _addEventListeners: function () {
     this._title.addEventListener("mousedown", this._onClick, false);
   },
 
   /**
    * The click listener for this scope's title.
    */
-  _onClick: function(e) {
+  _onClick: function (e) {
     if (this.editing ||
         e.button != 0 ||
         e.target == this._editNode ||
         e.target == this._deleteNode ||
         e.target == this._addPropertyNode) {
       return;
     }
     this.toggle();
     this.focus();
   },
 
   /**
    * Opens the enumerable items container.
    */
-  _openEnum: function() {
+  _openEnum: function () {
     this._arrow.setAttribute("open", "");
     this._enum.setAttribute("open", "");
   },
 
   /**
    * Opens the non-enumerable items container.
    */
-  _openNonEnum: function() {
+  _openNonEnum: function () {
     this._nonenum.setAttribute("open", "");
   },
 
   /**
    * Specifies if enumerable properties and variables should be displayed.
    * @param boolean aFlag
    */
   set _enumVisible(aFlag) {
@@ -1914,17 +1914,17 @@ Scope.prototype = {
 
   /**
    * Performs a case insensitive search for variables or properties matching
    * the query, and hides non-matched items.
    *
    * @param string aLowerCaseQuery
    *        The lowercased name of the variable or property to search for.
    */
-  _performSearch: function(aLowerCaseQuery) {
+  _performSearch: function (aLowerCaseQuery) {
     for (let [, variable] of this._store) {
       let currentObject = variable;
       let lowerCaseName = variable._nameString.toLowerCase();
       let lowerCaseValue = variable._valueString.toLowerCase();
 
       // Non-matched variables or properties require a corresponding attribute.
       if (!lowerCaseName.includes(aLowerCaseQuery) &&
           !lowerCaseValue.includes(aLowerCaseQuery)) {
@@ -1981,17 +1981,17 @@ Scope.prototype = {
    * the non-enumerable children (since they are presented in separate groups).
    *
    * @param function aPredicate
    *        A function that returns true when a match is found.
    * @return Scope | Variable | Property
    *         The first visible scope, variable or property, or null if nothing
    *         is found.
    */
-  _findInVisibleItems: function(aPredicate) {
+  _findInVisibleItems: function (aPredicate) {
     if (aPredicate(this)) {
       return this;
     }
 
     if (this._isExpanded) {
       if (this._variablesView._enumVisible) {
         for (let item of this._enumItems) {
           let result = item._findInVisibleItems(aPredicate);
@@ -2022,17 +2022,17 @@ Scope.prototype = {
    * finally tests itself.
    *
    * @param function aPredicate
    *        A function that returns true when a match is found.
    * @return Scope | Variable | Property
    *         The last visible scope, variable or property, or null if nothing
    *         is found.
    */
-  _findInVisibleItemsReverse: function(aPredicate) {
+  _findInVisibleItemsReverse: function (aPredicate) {
     if (this._isExpanded) {
       if (this._variablesView._nonEnumVisible) {
         for (let i = this._nonEnumItems.length - 1; i >= 0; i--) {
           let item = this._nonEnumItems[i];
           let result = item._findInVisibleItemsReverse(aPredicate);
           if (result) {
             return result;
           }
@@ -2209,24 +2209,24 @@ Variable.prototype = Heritage.extend(Sco
    *        The name of the new Property.
    * @param object aDescriptor
    *        The property's descriptor.
    * @param object aOptions
    *        Options of the form accepted by Scope.addItem
    * @return Property
    *         The newly created child Property.
    */
-  _createChild: function(aName, aDescriptor, aOptions) {
+  _createChild: function (aName, aDescriptor, aOptions) {
     return new Property(this, aName, aDescriptor, aOptions);
   },
 
   /**
    * Remove this Variable from its parent and remove all children recursively.
    */
-  remove: function() {
+  remove: function () {
     if (this._linkedToInspector) {
       this.unhighlightDomNode();
       this._valueLabel.removeEventListener("mouseover", this.highlightDomNode, false);
       this._valueLabel.removeEventListener("mouseout", this.unhighlightDomNode, false);
       this._openInspectorNode.removeEventListener("mousedown", this.openNodeInInspector, false);
     }
 
     this.ownerView._store.delete(this._nameString);
@@ -2245,17 +2245,17 @@ Variable.prototype = Heritage.extend(Sco
    *
    * @param object aObject
    *        The raw object you want to display.
    * @param object aOptions [optional]
    *        Additional options for adding the properties. Supported options:
    *        - sorted: true to sort all the properties before adding them
    *        - expanded: true to expand all the properties after adding them
    */
-  populate: function(aObject, aOptions = {}) {
+  populate: function (aObject, aOptions = {}) {
     // Retrieve the properties only once.
     if (this._fetched) {
       return;
     }
     this._fetched = true;
 
     let propertyNames = Object.getOwnPropertyNames(aObject);
     let prototype = Object.getPrototypeOf(aObject);
@@ -2291,34 +2291,34 @@ Variable.prototype = Heritage.extend(Sco
    * properties of an object
    *
    * @param Variable | Property aVar
    *        The target variable to populate.
    * @param object aObject [optional]
    *        The raw object you want to display. If unspecified, the object is
    *        assumed to be defined in a _sourceValue property on the target.
    */
-  _populateTarget: function(aVar, aObject = aVar._sourceValue) {
+  _populateTarget: function (aVar, aObject = aVar._sourceValue) {
     aVar.populate(aObject);
   },
 
   /**
    * Adds a property for this variable based on a raw value descriptor.
    *
    * @param string aName
    *        The property's name.
    * @param object aDescriptor
    *        Specifies the exact property descriptor as returned by a call to
    *        Object.getOwnPropertyDescriptor.
    * @param object aValue
    *        The raw property value you want to display.
    * @return Property
    *         The newly added property instance.
    */
-  _addRawValueProperty: function(aName, aDescriptor, aValue) {
+  _addRawValueProperty: function (aName, aDescriptor, aValue) {
     let descriptor = Object.create(aDescriptor);
     descriptor.value = VariablesView.getGrip(aValue);
 
     let propertyItem = this.addItem(aName, descriptor);
     propertyItem._sourceValue = aValue;
 
     // Add an 'onexpand' callback for the property, lazily handling
     // the addition of new child properties.
@@ -2334,17 +2334,17 @@ Variable.prototype = Heritage.extend(Sco
    * @param string aName
    *        The property's name.
    * @param object aDescriptor
    *        Specifies the exact property descriptor as returned by a call to
    *        Object.getOwnPropertyDescriptor.
    * @return Property
    *         The newly added property instance.
    */
-  _addRawNonValueProperty: function(aName, aDescriptor) {
+  _addRawNonValueProperty: function (aName, aDescriptor) {
     let descriptor = Object.create(aDescriptor);
     descriptor.get = VariablesView.getGrip(aDescriptor.get);
     descriptor.set = VariablesView.getGrip(aDescriptor.set);
 
     return this.addItem(aName, descriptor);
   },
 
   /**
@@ -2384,17 +2384,17 @@ Variable.prototype = Heritage.extend(Sco
   },
 
   /**
    * Build this variable's path to the topmost scope in form of an array of
    * strings, one for each segment of the path.
    * For example, a symbolic path may look like ["0", "foo", "bar"].
    * @return array
    */
-  _buildSymbolicPath: function(path = []) {
+  _buildSymbolicPath: function (path = []) {
     if (this.name) {
       path.unshift(this.name);
       if (this.ownerView instanceof Variable) {
         return this.ownerView._buildSymbolicPath(path);
       }
     }
     return path;
   },
@@ -2435,42 +2435,42 @@ Variable.prototype = Heritage.extend(Sco
    *        Specifies the value and/or type & class of the variable.
    *        e.g. - 42
    *             - true
    *             - "nasu"
    *             - { type: "undefined" }
    *             - { type: "null" }
    *             - { type: "object", class: "Object" }
    */
-  setGrip: function(aGrip) {
+  setGrip: function (aGrip) {
     // Don't allow displaying grip information if there's no name available
     // or the grip is malformed.
     if (!this._nameString || aGrip === undefined || aGrip === null) {
       return;
     }
     // Getters and setters should display grip information in sub-properties.
     if (this.getter || this.setter) {
       return;
     }
 
     let prevGrip = this._valueGrip;
     if (prevGrip) {
       this._valueLabel.classList.remove(VariablesView.getClass(prevGrip));
     }
     this._valueGrip = aGrip;
 
-    if(aGrip && (aGrip.optimizedOut || aGrip.uninitialized || aGrip.missingArguments)) {
-      if(aGrip.optimizedOut) {
-        this._valueString = STR.GetStringFromName("variablesViewOptimizedOut")
+    if (aGrip && (aGrip.optimizedOut || aGrip.uninitialized || aGrip.missingArguments)) {
+      if (aGrip.optimizedOut) {
+        this._valueString = STR.GetStringFromName("variablesViewOptimizedOut");
       }
-      else if(aGrip.uninitialized) {
-        this._valueString = STR.GetStringFromName("variablesViewUninitialized")
+      else if (aGrip.uninitialized) {
+        this._valueString = STR.GetStringFromName("variablesViewUninitialized");
       }
-      else if(aGrip.missingArguments) {
-        this._valueString = STR.GetStringFromName("variablesViewMissingArgs")
+      else if (aGrip.missingArguments) {
+        this._valueString = STR.GetStringFromName("variablesViewMissingArgs");
       }
       this.eval = null;
     }
     else {
       this._valueString = VariablesView.getString(aGrip, {
         concise: true,
         noEllipsis: true,
       });
@@ -2490,31 +2490,31 @@ Variable.prototype = Heritage.extend(Sco
   },
 
   /**
    * Marks this variable as overridden.
    *
    * @param boolean aFlag
    *        Whether this variable is overridden or not.
    */
-  setOverridden: function(aFlag) {
+  setOverridden: function (aFlag) {
     if (aFlag) {
       this._target.setAttribute("overridden", "");
     } else {
       this._target.removeAttribute("overridden");
     }
   },
 
   /**
    * Briefly flashes this variable.
    *
    * @param number aDuration [optional]
    *        An optional flash animation duration.
    */
-  flash: function(aDuration = ITEM_FLASH_DURATION) {
+  flash: function (aDuration = ITEM_FLASH_DURATION) {
     let fadeInDelay = this._variablesView.lazyEmptyDelay + 1;
     let fadeOutDelay = fadeInDelay + aDuration;
 
     setNamedTimeout("vview-flash-in" + this.absoluteName,
       fadeInDelay, () => this._target.setAttribute("changed", ""));
 
     setNamedTimeout("vview-flash-out" + this.absoluteName,
       fadeOutDelay, () => this._target.removeAttribute("changed"));
@@ -2523,17 +2523,17 @@ Variable.prototype = Heritage.extend(Sco
   /**
    * Initializes this variable's id, view and binds event listeners.
    *
    * @param string aName
    *        The variable's name.
    * @param object aDescriptor
    *        The variable's descriptor.
    */
-  _init: function(aName, aDescriptor) {
+  _init: function (aName, aDescriptor) {
     this._idString = generateId(this._nameString = aName);
     this._displayScope(aName, this.targetClassName);
     this._displayVariable();
     this._customizeVariable();
     this._prepareTooltips();
     this._setAttributes();
     this._addEventListeners();
 
@@ -2546,17 +2546,17 @@ Variable.prototype = Heritage.extend(Sco
       this.ownerView._nonenum.appendChild(this._target);
       this.ownerView._nonEnumItems.push(this);
     }
   },
 
   /**
    * Creates the necessary nodes for this variable.
    */
-  _displayVariable: function() {
+  _displayVariable: function () {
     let document = this.document;
     let descriptor = this._initialDescriptor;
 
     let separatorLabel = this._separatorLabel = document.createElement("label");
     separatorLabel.className = "plain separator";
     separatorLabel.setAttribute("value", this.separatorStr + " ");
 
     let valueLabel = this._valueLabel = document.createElement("label");
@@ -2607,17 +2607,17 @@ Variable.prototype = Heritage.extend(Sco
       setter.hideArrow();
       this.expand();
     }
   },
 
   /**
    * Adds specific nodes for this variable based on custom flags.
    */
-  _customizeVariable: function() {
+  _customizeVariable: function () {
     let ownerView = this.ownerView;
     let descriptor = this._initialDescriptor;
 
     if (ownerView.eval && this.getter || this.setter) {
       let editNode = this._editNode = this.document.createElement("toolbarbutton");
       editNode.className = "plain variables-view-edit";
       editNode.addEventListener("mousedown", this._onEdit.bind(this), false);
       this._title.insertBefore(editNode, this._spacer);
@@ -2679,24 +2679,24 @@ Variable.prototype = Heritage.extend(Sco
         this._title.appendChild(nonExtensibleLabel);
       }
     }
   },
 
   /**
    * Prepares all tooltips for this variable.
    */
-  _prepareTooltips: function() {
+  _prepareTooltips: function () {
     this._target.addEventListener("mouseover", this._setTooltips, false);
   },
 
   /**
    * Sets all tooltips for this variable.
    */
-  _setTooltips: function() {
+  _setTooltips: function () {
     this._target.removeEventListener("mouseover", this._setTooltips, false);
 
     let ownerView = this.ownerView;
     if (ownerView.preventDescriptorModifiers) {
       return;
     }
 
     let tooltip = this.document.createElement("tooltip");
@@ -2741,29 +2741,29 @@ Variable.prototype = Heritage.extend(Sco
     return this._variablesView.toolbox;
   },
 
   /**
    * Checks if this variable is a DOMNode and is part of a variablesview that
    * has been linked to the toolbox, so that highlighting and jumping to the
    * inspector can be done.
    */
-  _isLinkableToInspector: function() {
+  _isLinkableToInspector: function () {
     let isDomNode = this._valueGrip && this._valueGrip.preview.kind === "DOMNode";
     let hasBeenLinked = this._linkedToInspector;
     let hasToolbox = !!this.toolbox;
 
     return isDomNode && !hasBeenLinked && hasToolbox;
   },
 
   /**
    * If the variable is a DOMNode, and if a toolbox is set, then link it to the
    * inspector (highlight on hover, and jump to markup-view on click)
    */
-  _linkToInspector: function() {
+  _linkToInspector: function () {
     if (!this._isLinkableToInspector()) {
       return;
     }
 
     // Listen to value mouseover/click events to highlight and jump
     this._valueLabel.addEventListener("mouseover", this.highlightDomNode, false);
     this._valueLabel.addEventListener("mouseout", this.unhighlightDomNode, false);
 
@@ -2778,24 +2778,24 @@ Variable.prototype = Heritage.extend(Sco
 
   /**
    * In case this variable is a DOMNode and part of a variablesview that has been
    * linked to the toolbox's inspector, then select the corresponding node in
    * the inspector, and switch the inspector tool in the toolbox
    * @return a promise that resolves when the node is selected and the inspector
    * has been switched to and is ready
    */
-  openNodeInInspector: function(event) {
+  openNodeInInspector: function (event) {
     if (!this.toolbox) {
       return promise.reject(new Error("Toolbox not available"));
     }
 
     event && event.stopPropagation();
 
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       yield this.toolbox.initInspector();
 
       let nodeFront = this._nodeFront;
       if (!nodeFront) {
         nodeFront = yield this.toolbox.walker.getNodeActorFromObjectActor(this._valueGrip.actor);
       }
 
       if (nodeFront) {
@@ -2808,17 +2808,17 @@ Variable.prototype = Heritage.extend(Sco
       }
     }.bind(this));
   },
 
   /**
    * In case this variable is a DOMNode and part of a variablesview that has been
    * linked to the toolbox's inspector, then highlight the corresponding node
    */
-  highlightDomNode: function() {
+  highlightDomNode: function () {
     if (this.toolbox) {
       if (this._nodeFront) {
         // If the nodeFront has been retrieved before, no need to ask the server
         // again for it
         this.toolbox.highlighterUtils.highlightNodeFront(this._nodeFront);
         return;
       }
 
@@ -2827,28 +2827,28 @@ Variable.prototype = Heritage.extend(Sco
       });
     }
   },
 
   /**
    * Unhighlight a previously highlit node
    * @see highlightDomNode
    */
-  unhighlightDomNode: function() {
+  unhighlightDomNode: function () {
     if (this.toolbox) {
       this.toolbox.highlighterUtils.unhighlight();
     }
   },
 
   /**
    * Sets a variable's configurable, enumerable and writable attributes,
    * and specifies if it's a 'this', '<exception>', '<return>' or '__proto__'
    * reference.
    */
-  _setAttributes: function() {
+  _setAttributes: function () {
     let ownerView = this.ownerView;
     if (ownerView.preventDescriptorModifiers) {
       return;
     }
 
     let descriptor = this._initialDescriptor;
     let target = this._target;
     let name = this._nameString;
@@ -2902,26 +2902,26 @@ Variable.prototype = Heritage.extend(Sco
     if (Object.keys(descriptor).length == 0) {
       target.setAttribute("pseudo-item", "");
     }
   },
 
   /**
    * Adds the necessary event listeners for this variable.
    */
-  _addEventListeners: function() {
+  _addEventListeners: function () {
     this._name.addEventListener("dblclick", this._activateNameInput, false);
     this._valueLabel.addEventListener("mousedown", this._activateValueInput, false);
     this._title.addEventListener("mousedown", this._onClick, false);
   },
 
   /**
    * Makes this variable's name editable.
    */
-  _activateNameInput: function(e) {
+  _activateNameInput: function (e) {
     if (!this._variablesView.alignedValues) {
       this._separatorLabel.hidden = true;
       this._valueLabel.hidden = true;
     }
 
     EditableName.create(this, {
       onSave: aKey => {
         if (!this._variablesView.preventDisableOnChange) {
@@ -2936,34 +2936,34 @@ Variable.prototype = Heritage.extend(Sco
         }
       }
     }, e);
   },
 
   /**
    * Makes this variable's value editable.
    */
-  _activateValueInput: function(e) {
+  _activateValueInput: function (e) {
     EditableValue.create(this, {
       onSave: aString => {
         if (this._linkedToInspector) {
           this.unhighlightDomNode();
         }
         if (!this._variablesView.preventDisableOnChange) {
           this._disable();
         }
         this.ownerView.eval(this, aString);
       }
     }, e);
   },
 
   /**
    * Disables this variable prior to a new name switch or value evaluation.
    */
-  _disable: function() {
+  _disable: function () {
     // Prevent the variable from being collapsed or expanded.
     this.hideArrow();
 
     // Hide any nodes that may offer information about the variable.
     for (let node of this._title.childNodes) {
       node.hidden = node != this._arrow && node != this._name;
     }
     this._enum.hidden = true;
@@ -2974,30 +2974,30 @@ Variable.prototype = Heritage.extend(Sco
    * The current macro used to generate the string evaluated when performing
    * a variable or property value change.
    */
   evaluationMacro: VariablesView.simpleValueEvalMacro,
 
   /**
    * The click listener for the edit button.
    */
-  _onEdit: function(e) {
+  _onEdit: function (e) {
     if (e.button != 0) {
       return;
     }
 
     e.preventDefault();
     e.stopPropagation();
     this._activateValueInput();
   },
 
   /**
    * The click listener for the delete button.
    */
-  _onDelete: function(e) {
+  _onDelete: function (e) {
     if ("button" in e && e.button != 0) {
       return;
     }
 
     e.preventDefault();
     e.stopPropagation();
 
     if (this.ownerView.delete) {
@@ -3005,17 +3005,17 @@ Variable.prototype = Heritage.extend(Sco
         this.hide();
       }
     }
   },
 
   /**
    * The click listener for the add property button.
    */
-  _onAddProperty: function(e) {
+  _onAddProperty: function (e) {
     if ("button" in e && e.button != 0) {
       return;
     }
 
     e.preventDefault();
     e.stopPropagation();
 
     this.expanded = true;
@@ -3109,39 +3109,39 @@ Property.prototype = Heritage.extend(Var
 });
 
 /**
  * A generator-iterator over the VariablesView, Scopes, Variables and Properties.
  */
 VariablesView.prototype[Symbol.iterator] =
 Scope.prototype[Symbol.iterator] =
 Variable.prototype[Symbol.iterator] =
-Property.prototype[Symbol.iterator] = function*() {
+Property.prototype[Symbol.iterator] = function* () {
   yield* this._store;
 };
 
 /**
  * Forget everything recorded about added scopes, variables or properties.
  * @see VariablesView.commitHierarchy
  */
-VariablesView.prototype.clearHierarchy = function() {
+VariablesView.prototype.clearHierarchy = function () {
   this._prevHierarchy.clear();
   this._currHierarchy.clear();
 };
 
 /**
  * Perform operations on all the VariablesView Scopes, Variables and Properties
  * after you've added all the items you wanted.
  *
  * Calling this method is optional, and does the following:
  *   - styles the items overridden by other items in parent scopes
  *   - reopens the items which were previously expanded
  *   - flashes the items whose values changed
  */
-VariablesView.prototype.commitHierarchy = function() {
+VariablesView.prototype.commitHierarchy = function () {
   for (let [, currItem] of this._currHierarchy) {
     // Avoid performing expensive operations.
     if (this.commitHierarchyIgnoredItems[currItem._nameString]) {
       continue;
     }
     let overridden = this.isOverridden(currItem);
     if (overridden) {
       currItem.setOverridden(true);
@@ -3172,34 +3172,34 @@ VariablesView.prototype.commitHierarchyI
  * Checks if the an item was previously expanded, if it existed in a
  * previous hierarchy.
  *
  * @param Scope | Variable | Property aItem
  *        The item to verify.
  * @return boolean
  *         Whether the item was expanded.
  */
-VariablesView.prototype.wasExpanded = function(aItem) {
+VariablesView.prototype.wasExpanded = function (aItem) {
   if (!(aItem instanceof Scope)) {
     return false;
   }
   let prevItem = this._prevHierarchy.get(aItem.absoluteName || aItem._nameString);
   return prevItem ? prevItem._isExpanded : false;
 };
 
 /**
  * Checks if the an item's displayed value (a representation of the grip)
  * has changed, if it existed in a previous hierarchy.
  *
  * @param Variable | Property aItem
  *        The item to verify.
  * @return boolean
  *         Whether the item has changed.
  */
-VariablesView.prototype.hasChanged = function(aItem) {
+VariablesView.prototype.hasChanged = function (aItem) {
   // Only analyze Variables and Properties for displayed value changes.
   // Scopes are just collections of Variables and Properties and
   // don't have a "value", so they can't change.
   if (!(aItem instanceof Variable)) {
     return false;
   }
   let prevItem = this._prevHierarchy.get(aItem.absoluteName);
   return prevItem ? prevItem._valueString != aItem._valueString : false;
@@ -3209,17 +3209,17 @@ VariablesView.prototype.hasChanged = fun
  * Checks if the an item was previously expanded, if it existed in a
  * previous hierarchy.
  *
  * @param Scope | Variable | Property aItem
  *        The item to verify.
  * @return boolean
  *         Whether the item was expanded.
  */
-VariablesView.prototype.isOverridden = function(aItem) {
+VariablesView.prototype.isOverridden = function (aItem) {
   // Only analyze Variables for being overridden in different Scopes.
   if (!(aItem instanceof Variable) || aItem instanceof Property) {
     return false;
   }
   let currVariableName = aItem._nameString;
   let parentScopes = this.getParentScopesForVariableOrProperty(aItem);
 
   for (let otherScope of parentScopes) {
@@ -3234,17 +3234,17 @@ VariablesView.prototype.isOverridden = f
 
 /**
  * Returns true if the descriptor represents an undefined, null or
  * primitive value.
  *
  * @param object aDescriptor
  *        The variable's descriptor.
  */
-VariablesView.isPrimitive = function(aDescriptor) {
+VariablesView.isPrimitive = function (aDescriptor) {
   // For accessor property descriptors, the getter and setter need to be
   // contained in 'get' and 'set' properties.
   let getter = aDescriptor.get;
   let setter = aDescriptor.set;
   if (getter || setter) {
     return false;
   }
 
@@ -3273,17 +3273,17 @@ VariablesView.isPrimitive = function(aDe
 };
 
 /**
  * Returns true if the descriptor represents an undefined value.
  *
  * @param object aDescriptor
  *        The variable's descriptor.
  */
-VariablesView.isUndefined = function(aDescriptor) {
+VariablesView.isUndefined = function (aDescriptor) {
   // For accessor property descriptors, the getter and setter need to be
   // contained in 'get' and 'set' properties.
   let getter = aDescriptor.get;
   let setter = aDescriptor.set;
   if (typeof getter == "object" && getter.type == "undefined" &&
       typeof setter == "object" && setter.type == "undefined") {
     return true;
   }
@@ -3299,17 +3299,17 @@ VariablesView.isUndefined = function(aDe
 };
 
 /**
  * Returns true if the descriptor represents a falsy value.
  *
  * @param object aDescriptor
  *        The variable's descriptor.
  */
-VariablesView.isFalsy = function(aDescriptor) {
+VariablesView.isFalsy = function (aDescriptor) {
   // As described in the remote debugger protocol, the value grip
   // must be contained in a 'value' property.
   let grip = aDescriptor.value;
   if (typeof grip != "object") {
     return !grip;
   }
 
   // For convenience, undefined, null, NaN, and -0 are all considered types.
@@ -3325,29 +3325,29 @@ VariablesView.isFalsy = function(aDescri
 };
 
 /**
  * Returns true if the value is an instance of Variable or Property.
  *
  * @param any aValue
  *        The value to test.
  */
-VariablesView.isVariable = function(aValue) {
+VariablesView.isVariable = function (aValue) {
   return aValue instanceof Variable;
 };
 
 /**
  * Returns a standard grip for a value.
  *
  * @param any aValue
  *        The raw value to get a grip for.
  * @return any
  *         The value's grip.
  */
-VariablesView.getGrip = function(aValue) {
+VariablesView.getGrip = function (aValue) {
   switch (typeof aValue) {
     case "boolean":
     case "string":
       return aValue;
     case "number":
       if (aValue === Infinity) {
         return { type: "Infinity" };
       } else if (aValue === -Infinity) {
@@ -3386,17 +3386,17 @@ VariablesView.getGrip = function(aValue)
  *        Options:
  *        - concise: boolean that tells you want a concisely formatted string.
  *        - noStringQuotes: boolean that tells to not quote strings.
  *        - noEllipsis: boolean that tells to not add an ellipsis after the
  *        initial text of a longString.
  * @return string
  *         The formatted property string.
  */
-VariablesView.getString = function(aGrip, aOptions = {}) {
+VariablesView.getString = function (aGrip, aOptions = {}) {
   if (aGrip && typeof aGrip == "object") {
     switch (aGrip.type) {
       case "undefined":
       case "null":
       case "NaN":
       case "Infinity":
       case "-Infinity":
       case "-0":
@@ -3444,116 +3444,116 @@ VariablesView.getString = function(aGrip
  *
  * Any stringifier function must return a string. If null is returned, * then
  * the default stringifier will be used. When invoked, the stringifier is
  * given the same two arguments as those given to VariablesView.getString().
  */
 VariablesView.stringifiers = {};
 
 VariablesView.stringifiers.byType = {
-  string: function(aGrip, {noStringQuotes}) {
+  string: function (aGrip, {noStringQuotes}) {
     if (noStringQuotes) {
       return aGrip;
     }
     return '"' + aGrip + '"';
   },
 
-  longString: function({initial}, {noStringQuotes, noEllipsis}) {
+  longString: function ({initial}, {noStringQuotes, noEllipsis}) {
     let ellipsis = noEllipsis ? "" : Scope.ellipsis;
     if (noStringQuotes) {
       return initial + ellipsis;
     }
     let result = '"' + initial + '"';
     if (!ellipsis) {
       return result;
     }
     return result.substr(0, result.length - 1) + ellipsis + '"';
   },
 
-  object: function(aGrip, aOptions) {
+  object: function (aGrip, aOptions) {
     let {preview} = aGrip;
     let stringifier;
     if (aGrip.class) {
       stringifier = VariablesView.stringifiers.byObjectClass[aGrip.class];
     }
     if (!stringifier && preview && preview.kind) {
       stringifier = VariablesView.stringifiers.byObjectKind[preview.kind];
     }
     if (stringifier) {
       return stringifier(aGrip, aOptions);
     }
     return null;
   },
 
-  symbol: function(aGrip, aOptions) {
+  symbol: function (aGrip, aOptions) {
     const name = aGrip.name || "";
     return "Symbol(" + name + ")";
   },
 
-  mapEntry: function(aGrip, {concise}) {
+  mapEntry: function (aGrip, {concise}) {
     let { preview: { key, value }} = aGrip;
 
     let keyString = VariablesView.getString(key, {
       concise: true,
       noStringQuotes: true,
     });
     let valueString = VariablesView.getString(value, { concise: true });
 
     return keyString + " \u2192 " + valueString;
   },
 
 }; // VariablesView.stringifiers.byType
 
 VariablesView.stringifiers.byObjectClass = {
-  Function: function(aGrip, {concise}) {
+  Function: function (aGrip, {concise}) {
     // TODO: Bug 948484 - support arrow functions and ES6 generators
 
     let name = aGrip.userDisplayName || aGrip.displayName || aGrip.name || "";
     name = VariablesView.getString(name, { noStringQuotes: true });
 
     // TODO: Bug 948489 - Support functions with destructured parameters and
     // rest parameters
     let params = aGrip.parameterNames || "";
     if (!concise) {
       return "function " + name + "(" + params + ")";
     }
     return (name || "function ") + "(" + params + ")";
   },
 
-  RegExp: function({displayString}) {
+  RegExp: function ({displayString}) {
     return VariablesView.getString(displayString, { noStringQuotes: true });
   },
 
-  Date: function({preview}) {
+  Date: function ({preview}) {
     if (!preview || !("timestamp" in preview)) {
       return null;
     }
 
     if (typeof preview.timestamp != "number") {
       return new Date(preview.timestamp).toString(); // invalid date
     }
 
     return "Date " + new Date(preview.timestamp).toISOString();
   },
 
-  Number: function(aGrip) {
+  Number: function (aGrip) {
     let {preview} = aGrip;
     if (preview === undefined) {
       return null;
     }
     return aGrip.class + " { " + VariablesView.getString(preview.wrappedValue) +
       " }";
   },
 }; // VariablesView.stringifiers.byObjectClass
 
 VariablesView.stringifiers.byObjectClass.Boolean =
   VariablesView.stringifiers.byObjectClass.Number;
 
 VariablesView.stringifiers.byObjectKind = {
-  ArrayLike: function(aGrip, {concise}) {
+  ArrayLike: function (aGrip, {concise}) {
     let {preview} = aGrip;
     if (concise) {
       return aGrip.class + "[" + preview.length + "]";
     }
 
     if (!preview.items) {
       return null;
     }
@@ -3581,17 +3581,17 @@ VariablesView.stringifiers.byObjectKind 
       // make sure we have the right number of commas...
       result[lastHole] += ",";
     }
 
     let prefix = aGrip.class == "Array" ? "" : aGrip.class + " ";
     return prefix + "[" + result.join(", ") + "]";
   },
 
-  MapLike: function(aGrip, {concise}) {
+  MapLike: function (aGrip, {concise}) {
     let {preview} = aGrip;
     if (concise || !preview.entries) {
       let size = typeof preview.size == "number" ?
                    "[" + preview.size + "]" : "";
       return aGrip.class + size;
     }
 
     let entries = [];
@@ -3607,35 +3607,35 @@ VariablesView.stringifiers.byObjectKind 
     if (typeof preview.size == "number" && preview.size > entries.length) {
       let n = preview.size - entries.length;
       entries.push(VariablesView.stringifiers._getNMoreString(n));
     }
 
     return aGrip.class + " {" + entries.join(", ") + "}";
   },
 
-  ObjectWithText: function(aGrip, {concise}) {
+  ObjectWithText: function (aGrip, {concise}) {
     if (concise) {
       return aGrip.class;
     }
 
     return aGrip.class + " " + VariablesView.getString(aGrip.preview.text);
   },
 
-  ObjectWithURL: function(aGrip, {concise}) {
+  ObjectWithURL: function (aGrip, {concise}) {
     let result = aGrip.class;
     let url = aGrip.preview.url;
     if (!VariablesView.isFalsy({ value: url })) {
       result += ` \u2192 ${getSourceNames(url)[concise ? "short" : "long"]}`;
     }
     return result;
   },
 
   // Stringifier for any kind of object.
-  Object: function(aGrip, {concise}) {
+  Object: function (aGrip, {concise}) {
     if (concise) {
       return aGrip.class;
     }
 
     let {preview} = aGrip;
     let props = [];
 
     if (aGrip.class == "Promise" && aGrip.promiseState) {
@@ -3679,17 +3679,17 @@ VariablesView.stringifiers.byObjectKind 
         props.push(VariablesView.stringifiers._getNMoreString(diff));
       }
     }
 
     let prefix = aGrip.class != "Object" ? aGrip.class + " " : "";
     return prefix + "{" + props.join(", ") + "}";
   }, // Object
 
-  Error: function(aGrip, {concise}) {
+  Error: function (aGrip, {concise}) {
     let {preview} = aGrip;
     let name = VariablesView.getString(preview.name, { noStringQuotes: true });
     if (concise) {
       return name || aGrip.class;
     }
 
     let msg = name + ": " +
               VariablesView.getString(preview.message, { noStringQuotes: true });
@@ -3697,17 +3697,17 @@ VariablesView.stringifiers.byObjectKind 
     if (!VariablesView.isFalsy({ value: preview.stack })) {
       msg += "\n" + STR.GetStringFromName("variablesViewErrorStacktrace") +
              "\n" + preview.stack;
     }
 
     return msg;
   },
 
-  DOMException: function(aGrip, {concise}) {
+  DOMException: function (aGrip, {concise}) {
     let {preview} = aGrip;
     if (concise) {
       return preview.name || aGrip.class;
     }
 
     let msg = aGrip.class + " [" + preview.name + ": " +
               VariablesView.getString(preview.message) + "\n" +
               "code: " + preview.code + "\n" +
@@ -3718,17 +3718,17 @@ VariablesView.stringifiers.byObjectKind 
       if (preview.lineNumber) {
         msg += ":" + preview.lineNumber;
       }
     }
 
     return msg + "]";
   },
 
-  DOMEvent: function(aGrip, {concise}) {
+  DOMEvent: function (aGrip, {concise}) {
     let {preview} = aGrip;
     if (!preview.type) {
       return null;
     }
 
     if (concise) {
       return aGrip.class + " " + preview.type;
     }
@@ -3749,17 +3749,17 @@ VariablesView.stringifiers.byObjectKind 
     for (let prop in preview.properties) {
       let value = preview.properties[prop];
       props.push(prop + ": " + VariablesView.getString(value, { concise: true }));
     }
 
     return result + " {" + props.join(", ") + "}";
   }, // DOMEvent
 
-  DOMNode: function(aGrip, {concise}) {
+  DOMNode: function (aGrip, {concise}) {
     let {preview} = aGrip;
 
     switch (preview.nodeType) {
       case Ci.nsIDOMNode.DOCUMENT_NODE: {
         let result = aGrip.class;
         if (preview.location) {
           result += ` \u2192 ${getSourceNames(preview.location)[concise ? "short" : "long"]}`;
         }
@@ -3834,30 +3834,30 @@ VariablesView.stringifiers.byObjectKind 
 /**
  * Get the "N more…" formatted string, given an N. This is used for displaying
  * how many elements are not displayed in an object preview (eg. an array).
  *
  * @private
  * @param number aNumber
  * @return string
  */
-VariablesView.stringifiers._getNMoreString = function(aNumber) {
+VariablesView.stringifiers._getNMoreString = function (aNumber) {
   let str = STR.GetStringFromName("variablesViewMoreObjects");
   return PluralForm.get(aNumber, str).replace("#1", aNumber);
 };
 
 /**
  * Returns a custom class style for a grip.
  *
  * @param any aGrip
  *        @see Variable.setGrip
  * @return string
  *         The custom class style.
  */
-VariablesView.getClass = function(aGrip) {
+VariablesView.getClass = function (aGrip) {
   if (aGrip && typeof aGrip == "object") {
     if (aGrip.preview) {
       switch (aGrip.preview.kind) {
         case "DOMNode":
           return "token-domnode";
       }
     }
 
@@ -3891,19 +3891,19 @@ VariablesView.getClass = function(aGrip)
  * A monotonically-increasing counter, that guarantees the uniqueness of scope,
  * variables and properties ids.
  *
  * @param string aName
  *        An optional string to prefix the id with.
  * @return number
  *         A unique id.
  */
-var generateId = (function() {
+var generateId = (function () {
   let count = 0;
-  return function(aName = "") {
+  return function (aName = "") {
     return aName.toLowerCase().trim().replace(/\s+/g, "-") + (++count);
   };
 })();
 
 /**
  * Escape some HTML special characters. We do not need full HTML serialization
  * here, we just want to make strings safe to display in HTML attributes, for
  * the stringifiers.
@@ -3932,17 +3932,17 @@ function escapeHTML(aString) {
  *          The callback to call when the editable is removed for any reason.
  */
 function Editable(aVariable, aOptions) {
   this._variable = aVariable;
   this._onSave = aOptions.onSave;
   this._onCleanup = aOptions.onCleanup;
 }
 
-Editable.create = function(aVariable, aOptions, aEvent) {
+Editable.create = function (aVariable, aOptions, aEvent) {
   let editable = new this(aVariable, aOptions);
   editable.activate(aEvent);
   return editable;
 };
 
 Editable.prototype = {
   /**
    * The class name for targeting this Editable type's label element. Overridden
@@ -3963,17 +3963,17 @@ Editable.prototype = {
 
   /**
    * Activate this editable by replacing the input box it overlays and
    * initialize the handlers.
    *
    * @param Event e [optional]
    *        Optionally, the Event object that was used to activate the Editable.
    */
-  activate: function(e) {
+  activate: function (e) {
     if (!this.shouldActivate) {
       this._onCleanup && this._onCleanup();
       return;
     }
 
     let { label } = this;
     let initialString = label.getAttribute("value");
 
@@ -4014,17 +4014,17 @@ Editable.prototype = {
     this._variable.locked = true;
     this._variable.editing = true;
   },
 
   /**
    * Remove the input box and restore the Variable or Property to its previous
    * state.
    */
-  deactivate: function() {
+  deactivate: function () {
     this._input.removeEventListener("keypress", this._onKeypress);
     this._input.removeEventListener("blur", this.deactivate);
     this._input.parentNode.replaceChild(this.label, this._input);
     this._input = null;
 
     let { boxObject } = this._variable._variablesView;
     boxObject.scrollBy(-this._variable._target, 0);
     this._variable.locked = false;
@@ -4032,53 +4032,53 @@ Editable.prototype = {
     this._variable.expanded = this._prevExpanded;
     this._variable.editing = false;
     this._onCleanup && this._onCleanup();
   },
 
   /**
    * Save the current value and deactivate the Editable.
    */
-  _save: function() {
+  _save: function () {
     let initial = this.label.getAttribute("value");
     let current = this._input.value.trim();
     this.deactivate();
     if (initial != current) {
       this._onSave(current);
     }
   },
 
   /**
    * Called when tab is pressed, allowing subclasses to link different
    * behavior to tabbing if desired.
    */
-  _next: function() {
+  _next: function () {
     this._save();
   },
 
   /**
    * Called when escape is pressed, indicating a cancelling of editing without
    * saving.
    */
-  _reset: function() {
+  _reset: function () {
     this.deactivate();
     this._variable.focus();
   },
 
   /**
    * Event handler for when the input loses focus.
    */
-  _onBlur: function() {
+  _onBlur: function () {
     this.deactivate();
   },
 
   /**
    * Event handler for when the input receives a key press.
    */
-  _onKeypress: function(e) {
+  _onKeypress: function (e) {
     e.stopPropagation();
 
     switch (e.keyCode) {
       case e.DOM_VK_TAB:
         this._next();
         break;
       case e.DOM_VK_RETURN:
         this._save();
@@ -4140,35 +4140,35 @@ EditableValue.prototype = Heritage.exten
  */
 function EditableNameAndValue(aVariable, aOptions) {
   EditableName.call(this, aVariable, aOptions);
 }
 
 EditableNameAndValue.create = Editable.create;
 
 EditableNameAndValue.prototype = Heritage.extend(EditableName.prototype, {
-  _reset: function(e) {
+  _reset: function (e) {
     // Hide the Variable or Property if the user presses escape.
     this._variable.remove();
     this.deactivate();
   },
 
-  _next: function(e) {
+  _next: function (e) {
     // Override _next so as to set both key and value at the same time.
     let key = this._input.value;
     this.label.setAttribute("value", key);
 
     let valueEditable = EditableValue.create(this._variable, {
       onSave: aValue => {
         this._onSave([key, aValue]);
       }
     });
     valueEditable._reset = () => {
       this._variable.remove();
       valueEditable.deactivate();
     };
   },
 
-  _save: function(e) {
+  _save: function (e) {
     // Both _save and _next activate the value edit box.
     this._next(e);
   }
 });
--- a/devtools/client/shared/widgets/VariablesViewController.jsm
+++ b/devtools/client/shared/widgets/VariablesViewController.jsm
@@ -10,17 +10,17 @@ const { classes: Cc, interfaces: Ci, uti
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://devtools/client/shared/widgets/VariablesView.jsm");
 var {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
 var Services = require("Services");
 var promise = require("promise");
 var {LocalizationHelper} = require("devtools/client/shared/l10n");
 
 Object.defineProperty(this, "WebConsoleUtils", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/utils").Utils;
   },
   configurable: true,
   enumerable: true
 });
 
 XPCOMUtils.defineLazyGetter(this, "VARIABLES_SORTING_ENABLED", () =>
   Services.prefs.getBoolPref("devtools.debugger.ui.variables-sorting-enabled")
@@ -90,17 +90,17 @@ VariablesViewController.prototype = {
    *
    * @param object aOptions
    *        Options for getting the client grips. Supported options:
    *        - getObjectClient: callback for creating an object grip client
    *        - getLongStringClient: callback for creating a long string grip client
    *        - getEnvironmentClient: callback for creating an environment client
    *        - releaseActor: callback for releasing an actor when it's no longer needed
    */
-  _setClientGetters: function(aOptions) {
+  _setClientGetters: function (aOptions) {
     if (aOptions.getObjectClient) {
       this._getObjectClient = aOptions.getObjectClient;
     }
     if (aOptions.getLongStringClient) {
       this._getLongStringClient = aOptions.getLongStringClient;
     }
     if (aOptions.getEnvironmentClient) {
       this._getEnvironmentClient = aOptions.getEnvironmentClient;
@@ -114,17 +114,17 @@ VariablesViewController.prototype = {
    * Sets the functions used when evaluating strings in the variables view.
    *
    * @param object aOptions
    *        Options for configuring the macros. Supported options:
    *        - overrideValueEvalMacro: callback for creating an overriding eval macro
    *        - getterOrSetterEvalMacro: callback for creating a getter/setter eval macro
    *        - simpleValueEvalMacro: callback for creating a simple value eval macro
    */
-  _setEvaluationMacros: function(aOptions) {
+  _setEvaluationMacros: function (aOptions) {
     if (aOptions.overrideValueEvalMacro) {
       this._overrideValueEvalMacro = aOptions.overrideValueEvalMacro;
     }
     if (aOptions.getterOrSetterEvalMacro) {
       this._getterOrSetterEvalMacro = aOptions.getterOrSetterEvalMacro;
     }
     if (aOptions.simpleValueEvalMacro) {
       this._simpleValueEvalMacro = aOptions.simpleValueEvalMacro;
@@ -136,17 +136,17 @@ VariablesViewController.prototype = {
    *
    * @param Variable aTarget
    *        The target Variable/Property to put the retrieved string into.
    * @param LongStringActor aGrip
    *        The long string grip that use to retrieve the full string.
    * @return Promise
    *         The promise that will be resolved when the string is retrieved.
    */
-  _populateFromLongString: function(aTarget, aGrip){
+  _populateFromLongString: function (aTarget, aGrip) {
     let deferred = promise.defer();
 
     let from = aGrip.initial.length;
     let to = Math.min(aGrip.length, MAX_LONG_STRING_LENGTH);
 
     this._getLongStringClient(aGrip).substring(from, to, aResponse => {
       // Stop tracking the actor because it's no longer needed.
       this.releaseActor(aGrip);
@@ -166,26 +166,26 @@ VariablesViewController.prototype = {
    * Adds pseudo items in case there is too many properties to display.
    * Each item can expand into property slices.
    *
    * @param Scope aTarget
    *        The Scope where the properties will be placed into.
    * @param object aGrip
    *        The property iterator grip.
    */
-  _populatePropertySlices: function(aTarget, aGrip) {
+  _populatePropertySlices: function (aTarget, aGrip) {
     if (aGrip.count < MAX_PROPERTY_ITEMS) {
       return this._populateFromPropertyIterator(aTarget, aGrip);
     }
 
     // Divide the keys into quarters.
     let items = Math.ceil(aGrip.count / 4);
     let iterator = aGrip.propertyIterator;
     let promises = [];
-    for(let i = 0; i < 4; i++) {
+    for (let i = 0; i < 4; i++) {
       let start = aGrip.start + i * items;
       let count = i != 3 ? items : aGrip.count - i * items;
 
       // Create a new kind of grip, with additional fields to define the slice
       let sliceGrip = {
         type: "property-iterator",
         propertyIterator: iterator,
         start: start,
@@ -211,17 +211,17 @@ VariablesViewController.prototype = {
    * Adds a property slice for a Variable in the view using the already
    * property iterator
    *
    * @param Scope aTarget
    *        The Scope where the properties will be placed into.
    * @param object aGrip
    *        The property iterator grip.
    */
-  _populateFromPropertyIterator: function(aTarget, aGrip) {
+  _populateFromPropertyIterator: function (aTarget, aGrip) {
     if (aGrip.count >= MAX_PROPERTY_ITEMS) {
       // We already started to split, but there is still too many properties, split again.
       return this._populatePropertySlices(aTarget, aGrip);
     }
     // We started slicing properties, and the slice is now small enough to be displayed
     let deferred = promise.defer();
     aGrip.propertyIterator.slice(aGrip.start, aGrip.count,
       ({ ownProperties }) => {
@@ -244,17 +244,17 @@ VariablesViewController.prototype = {
    *
    * @param Scope aTarget
    *        The Scope where the properties will be placed into.
    * @param object aGrip
    *        The grip to use to populate the target.
    * @param string aQuery [optional]
    *        The query string used to fetch only a subset of properties
    */
-  _populateFromObjectWithIterator: function(aTarget, aGrip, aQuery) {
+  _populateFromObjectWithIterator: function (aTarget, aGrip, aQuery) {
     // FF40+ starts exposing `ownPropertyLength` on ObjectActor's grip,
     // as well as `enumProperties` request.
     let deferred = promise.defer();
     let objectClient = this._getObjectClient(aGrip);
     let isArray = aGrip.preview && aGrip.preview.kind === "ArrayLike";
     if (isArray) {
       // First enumerate array items, e.g. properties from `0` to `array.length`.
       let options = {
@@ -267,31 +267,31 @@ VariablesViewController.prototype = {
           type: "property-iterator",
           propertyIterator: iterator,
           start: 0,
           count: iterator.count
         };
         this._populatePropertySlices(aTarget, sliceGrip)
             .then(() => {
           // Then enumerate the rest of the properties, like length, buffer, etc.
-          let options = {
-            ignoreIndexedProperties: true,
-            sort: true,
-            query: aQuery
-          };
-          objectClient.enumProperties(options, ({ iterator }) => {
-            let sliceGrip = {
-              type: "property-iterator",
-              propertyIterator: iterator,
-              start: 0,
-              count: iterator.count
-            };
-            deferred.resolve(this._populatePropertySlices(aTarget, sliceGrip));
-          });
-        });
+              let options = {
+                ignoreIndexedProperties: true,
+                sort: true,
+                query: aQuery
+              };
+              objectClient.enumProperties(options, ({ iterator }) => {
+                let sliceGrip = {
+                  type: "property-iterator",
+                  propertyIterator: iterator,
+                  start: 0,
+                  count: iterator.count
+                };
+                deferred.resolve(this._populatePropertySlices(aTarget, sliceGrip));
+              });
+            });
       });
     } else {
       // For objects, we just enumerate all the properties sorted by name.
       objectClient.enumProperties({ sort: true, query: aQuery }, ({ iterator }) => {
         let sliceGrip = {
           type: "property-iterator",
           propertyIterator: iterator,
           start: 0,
@@ -307,34 +307,34 @@ VariablesViewController.prototype = {
   /**
    * Adds the given prototype in the view.
    *
    * @param Scope aTarget
    *        The Scope where the properties will be placed into.
    * @param object aProtype
    *        The prototype grip.
    */
-  _populateObjectPrototype: function(aTarget, aPrototype) {
+  _populateObjectPrototype: function (aTarget, aPrototype) {
     // Add the variable's __proto__.
     if (aPrototype && aPrototype.type != "null") {
       let proto = aTarget.addItem("__proto__", { value: aPrototype });
       this.addExpander(proto, aPrototype);
     }
   },
 
   /**
    * Adds properties to a Scope, Variable, or Property in the view. Triggered
    * when a scope is expanded or certain variables are hovered.
    *
    * @param Scope aTarget
    *        The Scope where the properties will be placed into.
    * @param object aGrip
    *        The grip to use to populate the target.
    */
-  _populateFromObject: function(aTarget, aGrip) {
+  _populateFromObject: function (aTarget, aGrip) {
     if (aGrip.class === "Promise" && aGrip.promiseState) {
       const { state, value, reason } = aGrip.promiseState;
       aTarget.addItem("<state>", { value: state }, { internalItem: true });
       if (state === "fulfilled") {
         this.addExpander(
           aTarget.addItem("<value>", { value }, { internalItem: true }),
           value);
       } else if (state === "rejected") {
@@ -363,17 +363,17 @@ VariablesViewController.prototype = {
                    });
                    return deferred.promise;
                  });
     }
 
     return this._populateProperties(aTarget, aGrip);
   },
 
-  _populateProperties: function(aTarget, aGrip, aOptions) {
+  _populateProperties: function (aTarget, aGrip, aOptions) {
     let deferred = promise.defer();
 
     let objectClient = this._getObjectClient(aGrip);
     objectClient.getPrototypeAndProperties(aResponse => {
       let ownProperties = aResponse.ownProperties || {};
       let prototype = aResponse.prototype || null;
       // 'safeGetterValues' is new and isn't necessary defined on old actors.
       let safeGetterValues = aResponse.safeGetterValues || {};
@@ -426,17 +426,17 @@ VariablesViewController.prototype = {
   /**
    * Adds the scope chain elements (closures) of a function variable.
    *
    * @param Variable aTarget
    *        The variable where the properties will be placed into.
    * @param Scope aScope
    *        The lexical environment form as specified in the protocol.
    */
-  _populateWithClosure: function(aTarget, aScope) {
+  _populateWithClosure: function (aTarget, aScope) {
     let objectScopes = [];
     let environment = aScope;
     let funcScope = aTarget.addItem("<Closure>");
     funcScope.target.setAttribute("scope", "");
     funcScope.showArrow();
 
     do {
       // Create a scope to contain all the inspected variables.
@@ -469,17 +469,17 @@ VariablesViewController.prototype = {
   /**
    * Adds nodes for every specified binding to the closure node.
    *
    * @param Variable aTarget
    *        The variable where the bindings will be placed into.
    * @param object aBindings
    *        The bindings form as specified in the protocol.
    */
-  _populateWithEnvironmentBindings: function(aTarget, aBindings) {
+  _populateWithEnvironmentBindings: function (aTarget, aBindings) {
     // Add nodes for every argument in the scope.
     aTarget.addItems(aBindings.arguments.reduce((accumulator, arg) => {
       let name = Object.getOwnPropertyNames(arg)[0];
       let descriptor = arg[name];
       accumulator[name] = descriptor;
       return accumulator;
     }, {}), {
       // Arguments aren't sorted.
@@ -492,17 +492,17 @@ VariablesViewController.prototype = {
     aTarget.addItems(aBindings.variables, {
       // Not all variables need to force sorted properties.
       sorted: VARIABLES_SORTING_ENABLED,
       // Expansion handlers must be set after the properties are added.
       callback: this.addExpander
     });
   },
 
-  _populateFromEntries: function(target, grip) {
+  _populateFromEntries: function (target, grip) {
     let objGrip = grip.obj;
     let objectClient = this._getObjectClient(objGrip);
 
     return new promise((resolve, reject) => {
       objectClient.enumEntries((response) => {
         if (response.error) {
           // Older server might not support the enumEntries method
           console.warn(response.error + ": " + response.message);
@@ -525,17 +525,17 @@ VariablesViewController.prototype = {
    * Adds an 'onexpand' callback for a variable, lazily handling
    * the addition of new properties.
    *
    * @param Variable aTarget
    *        The variable where the properties will be placed into.
    * @param any aSource
    *        The source to use to populate the target.
    */
-  addExpander: function(aTarget, aSource) {
+  addExpander: function (aTarget, aSource) {
     // Attach evaluation macros as necessary.
     if (aTarget.getter || aTarget.setter) {
       aTarget.evaluationMacro = this._overrideValueEvalMacro;
       let getter = aTarget.get("get");
       if (getter) {
         getter.evaluationMacro = this._getterOrSetterEvalMacro;
       }
       let setter = aTarget.get("set");
@@ -581,17 +581,17 @@ VariablesViewController.prototype = {
    *
    * @param Scope aTarget
    *        The Scope to be expanded.
    * @param object aSource
    *        The source to use to populate the target.
    * @return Promise
    *         The promise that is resolved once the target has been expanded.
    */
-  populate: function(aTarget, aSource) {
+  populate: function (aTarget, aSource) {
     // Fetch the variables only once.
     if (aTarget._fetched) {
       return aTarget._fetched;
     }
     // Make sure the source grip is available.
     if (!aSource) {
       return promise.reject(new Error("No actor grip was given for the variable."));
     }
@@ -681,43 +681,43 @@ VariablesViewController.prototype = {
   /**
    * Try to use the actor to perform an attribute search.
    *
    * @param Scope aScope
    *        The Scope instance to populate with properties
    * @param string aToken
    *        The query string
    */
-  performSearch: function(aScope, aToken) {
+  performSearch: function (aScope, aToken) {
     this._populateFromObjectWithIterator(aScope, this.objectActor, aToken)
         .then(() => {
           this.view.emit("fetched", "search", aScope);
         });
   },
 
   /**
    * Release an actor from the controller.
    *
    * @param object aActor
    *        The actor to release.
    */
-  releaseActor: function(aActor){
+  releaseActor: function (aActor) {
     if (this._releaseActor) {
       this._releaseActor(aActor);
     }
     this._actors.delete(aActor);
   },
 
   /**
    * Release all the actors referenced by the controller, optionally filtered.
    *
    * @param function aFilter [optional]
    *        Callback to filter which actors are released.
    */
-  releaseActors: function(aFilter) {
+  releaseActors: function (aFilter) {
     for (let actor of this._actors) {
       if (!aFilter || aFilter(actor)) {
         this.releaseActor(actor);
       }
     }
   },
 
   /**
@@ -735,17 +735,17 @@ VariablesViewController.prototype = {
    *        Additional options for the controller:
    *        - overrideValueEvalMacro: @see _setEvaluationMacros
    *        - getterOrSetterEvalMacro: @see _setEvaluationMacros
    *        - simpleValueEvalMacro: @see _setEvaluationMacros
    * @return Object
    *         - variable: the created Variable.
    *         - expanded: the Promise that resolves when the variable expands.
    */
-  setSingleVariable: function(options, configuration = {}) {
+  setSingleVariable: function (options, configuration = {}) {
     this._setEvaluationMacros(configuration);
     this.view.empty();
 
     let scope = this.view.addScope(options.label);
     scope.expanded = true; // Expand the scope by default.
     scope.locked = true; // Prevent collapsing the scope.
 
     let variable = scope.addItem("", { enumerable: true });
@@ -775,17 +775,17 @@ VariablesViewController.prototype = {
  * have one.
  *
  * @param VariablesView aView
  *        The view to attach to.
  * @param object aOptions
  *        The options to use in creating the controller.
  * @return VariablesViewController
  */
-VariablesViewController.attach = function(aView, aOptions) {
+VariablesViewController.attach = function (aView, aOptions) {
   if (aView.controller) {
     return aView.controller;
   }
   return new VariablesViewController(aView, aOptions);
 };
 
 /**
  * Utility functions for handling stackframes.
@@ -793,33 +793,33 @@ VariablesViewController.attach = functio
 var StackFrameUtils = this.StackFrameUtils = {
   /**
    * Create a textual representation for the specified stack frame
    * to display in the stackframes container.
    *
    * @param object aFrame
    *        The stack frame to label.
    */
-  getFrameTitle: function(aFrame) {
+  getFrameTitle: function (aFrame) {
     if (aFrame.type == "call") {
       let c = aFrame.callee;
       return (c.name || c.userDisplayName || c.displayName || "(anonymous)");
     }
     return "(" + aFrame.type + ")";
   },
 
   /**
    * Constructs a scope label based on its environment.
    *
    * @param object aEnv
    *        The scope's environment.
    * @return string
    *         The scope's label.
    */
-  getScopeLabel: function(aEnv) {
+  getScopeLabel: function (aEnv) {
     let name = "";
 
     // Name the outermost scope Global.
     if (!aEnv.parent) {
       name = L10N.getStr("globalScopeLabel");
     }
     // Otherwise construct the scope name.
     else {
--- a/devtools/client/shared/widgets/view-helpers.js
+++ b/devtools/client/shared/widgets/view-helpers.js
@@ -15,24 +15,24 @@ const WIDGET_FOCUSABLE_NODES = new Set([
 /**
  * Inheritance helpers from the addon SDK's core/heritage.
  * Remove these when all devtools are loadered.
  */
 exports.Heritage = {
   /**
    * @see extend in sdk/core/heritage.
    */
-  extend: function(aPrototype, aProperties = {}) {
+  extend: function (aPrototype, aProperties = {}) {
     return Object.create(aPrototype, this.getOwnPropertyDescriptors(aProperties));
   },
 
   /**
    * @see getOwnPropertyDescriptors in sdk/core/heritage.
    */
-  getOwnPropertyDescriptors: function(aObject) {
+  getOwnPropertyDescriptors: function (aObject) {
     return Object.getOwnPropertyNames(aObject).reduce((aDescriptor, aName) => {
       aDescriptor[aName] = Object.getOwnPropertyDescriptor(aObject, aName);
       return aDescriptor;
     }, {});
   }
 };
 
 /**
@@ -46,17 +46,17 @@ exports.Heritage = {
  * @param function aCallback
  *        Invoked when no more events are fired after the specified time.
  */
 const setNamedTimeout = function setNamedTimeout(aId, aWait, aCallback) {
   clearNamedTimeout(aId);
 
   namedTimeoutsStore.set(aId, setTimeout(() =>
     namedTimeoutsStore.delete(aId) && aCallback(), aWait));
-}
+};
 exports.setNamedTimeout = setNamedTimeout;
 
 /**
  * Clears a named timeout.
  * @see setNamedTimeout
  *
  * @param string aId
  *        A string identifier for the named timeout.
@@ -121,17 +121,17 @@ const ViewHelpers = exports.ViewHelpers 
    * @param string aType
    *        The name of the event.
    * @param any aDetail
    *        The data passed when initializing the event.
    * @return boolean
    *         True if the event was cancelled or a registered handler
    *         called preventDefault.
    */
-  dispatchEvent: function(aTarget, aType, aDetail) {
+  dispatchEvent: function (aTarget, aType, aDetail) {
     if (!(aTarget instanceof Ci.nsIDOMNode)) {
       return true; // Event cancelled.
     }
     let document = aTarget.ownerDocument || aTarget;
     let dispatcher = aTarget.ownerDocument ? aTarget : document.documentElement;
 
     let event = document.createEvent("CustomEvent");
     event.initCustomEvent(aType, true, true, aDetail);
@@ -141,70 +141,70 @@ const ViewHelpers = exports.ViewHelpers 
   /**
    * Helper delegating some of the DOM attribute methods of a node to a widget.
    *
    * @param object aWidget
    *        The widget to assign the methods to.
    * @param nsIDOMNode aNode
    *        A node to delegate the methods to.
    */
-  delegateWidgetAttributeMethods: function(aWidget, aNode) {
+  delegateWidgetAttributeMethods: function (aWidget, aNode) {
     aWidget.getAttribute =
       aWidget.getAttribute || aNode.getAttribute.bind(aNode);
     aWidget.setAttribute =
       aWidget.setAttribute || aNode.setAttribute.bind(aNode);
     aWidget.removeAttribute =
       aWidget.removeAttribute || aNode.removeAttribute.bind(aNode);
   },
 
   /**
    * Helper delegating some of the DOM event methods of a node to a widget.
    *
    * @param object aWidget
    *        The widget to assign the methods to.
    * @param nsIDOMNode aNode
    *        A node to delegate the methods to.
    */
-  delegateWidgetEventMethods: function(aWidget, aNode) {
+  delegateWidgetEventMethods: function (aWidget, aNode) {
     aWidget.addEventListener =
       aWidget.addEventListener || aNode.addEventListener.bind(aNode);
     aWidget.removeEventListener =
       aWidget.removeEventListener || aNode.removeEventListener.bind(aNode);
   },
 
   /**
    * Checks if the specified object looks like it's been decorated by an
    * event emitter.
    *
    * @return boolean
    *         True if it looks, walks and quacks like an event emitter.
    */
-  isEventEmitter: function(aObject) {
+  isEventEmitter: function (aObject) {
     return aObject && aObject.on && aObject.off && aObject.once && aObject.emit;
   },
 
   /**
    * Checks if the specified object is an instance of a DOM node.
    *
    * @return boolean
    *         True if it's a node, false otherwise.
    */
-  isNode: function(aObject) {
+  isNode: function (aObject) {
     return aObject instanceof Ci.nsIDOMNode ||
            aObject instanceof Ci.nsIDOMElement ||
            aObject instanceof Ci.nsIDOMDocumentFragment;
   },
 
   /**
    * Prevents event propagation when navigation keys are pressed.
    *
    * @param Event e
    *        The event to be prevented.
    */
-  preventScrolling: function(e) {
+  preventScrolling: function (e) {
     switch (e.keyCode) {
       case e.DOM_VK_UP:
       case e.DOM_VK_DOWN:
       case e.DOM_VK_LEFT:
       case e.DOM_VK_RIGHT:
       case e.DOM_VK_PAGE_UP:
       case e.DOM_VK_PAGE_DOWN:
       case e.DOM_VK_HOME:
@@ -222,17 +222,17 @@ const ViewHelpers = exports.ViewHelpers 
    *        An object containing some of the following properties:
    *        - visible: true if the pane should be shown, false to hide
    *        - animated: true to display an animation on toggle
    *        - delayed: true to wait a few cycles before toggle
    *        - callback: a function to invoke when the toggle finishes
    * @param nsIDOMNode aPane
    *        The element representing the pane to toggle.
    */
-  togglePane: function(aFlags, aPane) {
+  togglePane: function (aFlags, aPane) {
     // Make sure a pane is actually available first.
     if (!aPane) {
       return;
     }
 
     // Hiding is always handled via margins, not the hidden attribute.
     aPane.removeAttribute("hidden");
 
@@ -317,17 +317,17 @@ const ViewHelpers = exports.ViewHelpers 
  * @param any aAttachment
  *        Some attached primitive/object.
  */
 function Item(aOwnerView, aElement, aValue, aAttachment) {
   this.ownerView = aOwnerView;
   this.attachment = aAttachment;
   this._value = aValue + "";
   this._prebuiltNode = aElement;
-};
+}
 
 Item.prototype = {
   get value() { return this._value; },
   get target() { return this._target; },
   get prebuiltNode() { return this._prebuiltNode; },
 
   /**
    * Immediately appends a child item to this item.
@@ -337,17 +337,17 @@ Item.prototype = {
    * @param object aOptions [optional]
    *        Additional options or flags supported by this operation:
    *          - attachment: some attached primitive/object for the item
    *          - attributes: a batch of attributes set to the displayed element
    *          - finalize: function invoked when the child item is removed
    * @return Item
    *         The item associated with the displayed element.
    */
-  append: function(aElement, aOptions = {}) {
+  append: function (aElement, aOptions = {}) {
     let item = new Item(this, aElement, "", aOptions.attachment);
 
     // Entangle the item with the newly inserted child node.
     // Make sure this is done with the value returned by appendChild(),
     // to avoid storing a potential DocumentFragment.
     this._entangleItem(item, this._target.appendChild(aElement));
 
     // Handle any additional options after entangling the item.
@@ -363,44 +363,44 @@ Item.prototype = {
   },
 
   /**
    * Immediately removes the specified child item from this item.
    *
    * @param Item aItem
    *        The item associated with the element to remove.
    */
-  remove: function(aItem) {
+  remove: function (aItem) {
     if (!aItem) {
       return;
     }
     this._target.removeChild(aItem._target);
     this._untangleItem(aItem);
   },
 
   /**
    * Entangles an item (model) with a displayed node element (view).
    *
    * @param Item aItem
    *        The item describing a target element.
    * @param nsIDOMNode aElement
    *        The element displaying the item.
    */
-  _entangleItem: function(aItem, aElement) {
+  _entangleItem: function (aItem, aElement) {
     this._itemsByElement.set(aElement, aItem);
     aItem._target = aElement;
   },
 
   /**
    * Untangles an item (model) from a displayed node element (view).
    *
    * @param Item aItem
    *        The item describing a target element.
    */
-  _untangleItem: function(aItem) {
+  _untangleItem: function (aItem) {
     if (aItem.finalize) {
       aItem.finalize(aItem);
     }
     for (let childItem of aItem) {
       aItem.remove(childItem);
     }
 
     this._unlinkItem(aItem);
@@ -408,26 +408,26 @@ Item.prototype = {
   },
 
   /**
    * Deletes an item from the its parent's storage maps.
    *
    * @param Item aItem
    *        The item describing a target element.
    */
-  _unlinkItem: function(aItem) {
+  _unlinkItem: function (aItem) {
     this._itemsByElement.delete(aItem._target);
   },
 
   /**
    * Returns a string representing the object.
    * Avoid using `toString` to avoid accidental JSONification.
    * @return string
    */
-  stringify: function() {
+  stringify: function () {
     return JSON.stringify({
       value: this._value,
       target: this._target + "",
       prebuiltNode: this._prebuiltNode + "",
       attachment: this.attachment
     }, null, 2);
   },
 
@@ -543,17 +543,17 @@ const WidgetMethods = exports.WidgetMeth
    *          - staged: true to stage the item to be appended later
    *          - index: specifies on which position should the item be appended
    *          - attributes: a batch of attributes set to the displayed element
    *          - finalize: function invoked when the item is removed
    * @return Item
    *         The item associated with the displayed element if an unstaged push,
    *         undefined if the item was staged for a later commit.
    */
-  push: function([aElement, aValue], aOptions = {}) {
+  push: function ([aElement, aValue], aOptions = {}) {
     let item = new Item(this, aElement, aValue, aOptions.attachment);
 
     // Batch the item to be added later.
     if (aOptions.staged) {
       // An ulterior commit operation will ignore any specified index, so
       // no reason to keep it around.
       aOptions.index = undefined;
       return void this._stagedItems.push({ item: item, options: aOptions });
@@ -570,17 +570,17 @@ const WidgetMethods = exports.WidgetMeth
   /**
    * Flushes all the prepared items into this container.
    * Any specified index on the items will be ignored. Everything is appended.
    *
    * @param object aOptions [optional]
    *        Additional options or flags supported by this operation:
    *          - sorted: true to sort all the items before adding them
    */
-  commit: function(aOptions = {}) {
+  commit: function (aOptions = {}) {
     let stagedItems = this._stagedItems;
 
     // Sort the items before adding them to this container, if preferred.
     if (aOptions.sorted) {
       stagedItems.sort((a, b) => this._currentSortPredicate(a.item, b.item));
     }
     // Append the prepared items to this container.
     for (let { item, options } of stagedItems) {
@@ -591,17 +591,17 @@ const WidgetMethods = exports.WidgetMeth
   },
 
   /**
    * Immediately removes the specified item from this container.
    *
    * @param Item aItem
    *        The item associated with the element to remove.
    */
-  remove: function(aItem) {
+  remove: function (aItem) {
     if (!aItem) {
       return;
     }
     this._widget.removeChild(aItem._target);
     this._untangleItem(aItem);
 
     if (!this._itemsByElement.size) {
       this._preferredValue = this.selectedValue;
@@ -611,34 +611,34 @@ const WidgetMethods = exports.WidgetMeth
   },
 
   /**
    * Removes the item at the specified index from this container.
    *
    * @param number aIndex
    *        The index of the item to remove.
    */
-  removeAt: function(aIndex) {
+  removeAt: function (aIndex) {
     this.remove(this.getItemAtIndex(aIndex));
   },
 
   /**
    * Removes the items in this container based on a predicate.
    */
-  removeForPredicate: function(aPredicate) {
+  removeForPredicate: function (aPredicate) {
     let item;
     while ((item = this.getItemForPredicate(aPredicate))) {
       this.remove(item);
     }
   },
 
   /**
    * Removes all items from this container.
    */
-  empty: function() {
+  empty: function () {
     this._preferredValue = this.selectedValue;
     this._widget.selectedItem = null;
     this._widget.removeAllItems();
     this._widget.setAttribute("emptyText", this._emptyText);
 
     for (let [, item] of this._itemsByElement) {
       this._untangleItem(item);
     }
@@ -649,34 +649,34 @@ const WidgetMethods = exports.WidgetMeth
   },
 
   /**
    * Ensures the specified item is visible in this container.
    *
    * @param Item aItem
    *        The item to bring into view.
    */
-  ensureItemIsVisible: function(aItem) {
+  ensureItemIsVisible: function (aItem) {
     this._widget.ensureElementIsVisible(aItem._target);
   },
 
   /**
    * Ensures the item at the specified index is visible in this container.
    *
    * @param number aIndex
    *        The index of the item to bring into view.
    */
-  ensureIndexIsVisible: function(aIndex) {
+  ensureIndexIsVisible: function (aIndex) {
     this.ensureItemIsVisible(this.getItemAtIndex(aIndex));
   },
 
   /**
    * Sugar for ensuring the selected item is visible in this container.
    */
-  ensureSelectedItemIsVisible: function() {
+  ensureSelectedItemIsVisible: function () {
     this.ensureItemIsVisible(this.selectedItem);
   },
 
   /**
    * If supported by the widget, the label string temporarily added to this
    * container when there are no child items present.
    */
   set emptyText(aValue) {
@@ -702,63 +702,63 @@ const WidgetMethods = exports.WidgetMeth
    * Toggles all the items in this container hidden or visible.
    *
    * This does not change the default filtering predicate, so newly inserted
    * items will always be visible. Use WidgetMethods.filterContents if you care.
    *
    * @param boolean aVisibleFlag
    *        Specifies the intended visibility.
    */
-  toggleContents: function(aVisibleFlag) {
+  toggleContents: function (aVisibleFlag) {
     for (let [element, item] of this._itemsByElement) {
       element.hidden = !aVisibleFlag;
     }
   },
 
   /**
    * Toggles all items in this container hidden or visible based on a predicate.
    *
    * @param function aPredicate [optional]
    *        Items are toggled according to the return value of this function,
    *        which will become the new default filtering predicate in this container.
    *        If unspecified, all items will be toggled visible.
    */
-  filterContents: function(aPredicate = this._currentFilterPredicate) {
+  filterContents: function (aPredicate = this._currentFilterPredicate) {
     this._currentFilterPredicate = aPredicate;
 
     for (let [element, item] of this._itemsByElement) {
       element.hidden = !aPredicate(item);
     }
   },
 
   /**
    * Sorts all the items in this container based on a predicate.
    *
    * @param function aPredicate [optional]
    *        Items are sorted according to the return value of the function,
    *        which will become the new default sorting predicate in this container.
    *        If unspecified, all items will be sorted by their value.
    */
-  sortContents: function(aPredicate = this._currentSortPredicate) {
+  sortContents: function (aPredicate = this._currentSortPredicate) {
     let sortedItems = this.items.sort(this._currentSortPredicate = aPredicate);
 
     for (let i = 0, len = sortedItems.length; i < len; i++) {
       this.swapItems(this.getItemAtIndex(i), sortedItems[i]);
     }
   },
 
   /**
    * Visually swaps two items in this container.
    *
    * @param Item aFirst
    *        The first item to be swapped.
    * @param Item aSecond
    *        The second item to be swapped.
    */
-  swapItems: function(aFirst, aSecond) {
+  swapItems: function (aFirst, aSecond) {
     if (aFirst == aSecond) { // We're just dandy, thank you.
       return;
     }
     let { _prebuiltNode: firstPrebuiltTarget, _target: firstTarget } = aFirst;
     let { _prebuiltNode: secondPrebuiltTarget, _target: secondTarget } = aSecond;
 
     // If the two items were constructed with prebuilt nodes as DocumentFragments,
     // then those DocumentFragments are now empty and need to be reassembled.
@@ -810,30 +810,30 @@ const WidgetMethods = exports.WidgetMeth
   /**
    * Visually swaps two items in this container at specific indices.
    *
    * @param number aFirst
    *        The index of the first item to be swapped.
    * @param number aSecond
    *        The index of the second item to be swapped.
    */
-  swapItemsAtIndices: function(aFirst, aSecond) {
+  swapItemsAtIndices: function (aFirst, aSecond) {
     this.swapItems(this.getItemAtIndex(aFirst), this.getItemAtIndex(aSecond));
   },
 
   /**
    * Checks whether an item with the specified value is among the elements
    * shown in this container.
    *
    * @param string aValue
    *        The item's value.
    * @return boolean
    *         True if the value is known, false otherwise.
    */
-  containsValue: function(aValue) {
+  containsValue: function (aValue) {
     return this._itemsByValue.has(aValue) ||
            this._stagedItems.some(({ item }) => item._value == aValue);
   },
 
   /**
    * Gets the "preferred value". This is the latest selected item's value,
    * remembered just before emptying this container.
    * @return string
@@ -885,17 +885,17 @@ const WidgetMethods = exports.WidgetMeth
   get selectedAttachment() {
     let selectedElement = this._widget.selectedItem;
     if (selectedElement) {
       return this._itemsByElement.get(selectedElement).attachment;
     }
     return null;
   },
 
-  _selectItem: function(aItem) {
+  _selectItem: function (aItem) {
     // A falsy item is allowed to invalidate the current selection.
     let targetElement = aItem ? aItem._target : null;
     let prevElement = this._widget.selectedItem;
 
     // Make sure the selected item's target element is focused and visible.
     if (this.autoFocusOnSelection && targetElement) {
       targetElement.focus();
     }
@@ -963,17 +963,17 @@ const WidgetMethods = exports.WidgetMeth
    * Deselects and re-selects an item in this container.
    *
    * Useful when you want a "select" event to be emitted, even though
    * the specified item was already selected.
    *
    * @param Item | function aItem
    * @see `set selectedItem`
    */
-  forceSelect: function(aItem) {
+  forceSelect: function (aItem) {
     this.selectedItem = null;
     this.selectedItem = aItem;
   },
 
   /**
    * Specifies if this container should try to keep the selected item visible.
    * (For example, when new items are added the selection is brought into view).
    */
@@ -1028,49 +1028,49 @@ const WidgetMethods = exports.WidgetMeth
    * keys are pressed. If falsy, then the page size will be based on the
    * number of visible items in the container.
    */
   pageSize: 0,
 
   /**
    * Focuses the first visible item in this container.
    */
-  focusFirstVisibleItem: function() {
+  focusFirstVisibleItem: function () {
     this.focusItemAtDelta(-this.itemCount);
   },
 
   /**
    * Focuses the last visible item in this container.
    */
-  focusLastVisibleItem: function() {
+  focusLastVisibleItem: function () {
     this.focusItemAtDelta(+this.itemCount);
   },
 
   /**
    * Focuses the next item in this container.
    */
-  focusNextItem: function() {
+  focusNextItem: function () {
     this.focusItemAtDelta(+1);
   },
 
   /**
    * Focuses the previous item in this container.
    */
-  focusPrevItem: function() {
+  focusPrevItem: function () {
     this.focusItemAtDelta(-1);
   },
 
   /**
    * Focuses another item in this container based on the index distance
    * from the currently focused item.
    *
    * @param number aDelta
    *        A scalar specifying by how many items should the selection change.
    */
-  focusItemAtDelta: function(aDelta) {
+  focusItemAtDelta: function (aDelta) {
     // Make sure the currently selected item is also focused, so that the
     // command dispatcher mechanism has a relative node to work with.
     // If there's no selection, just select an item at a corresponding index
     // (e.g. the first item in this container if aDelta <= 1).
     let selectedElement = this._widget.selectedItem;
     if (selectedElement) {
       selectedElement.focus();
     } else {
@@ -1094,17 +1094,17 @@ const WidgetMethods = exports.WidgetMeth
    * Focuses the next or previous item in this container.
    *
    * @param string aDirection
    *        Either "advanceFocus" or "rewindFocus".
    * @return boolean
    *         False if the focus went out of bounds and the first or last item
    *         in this container was focused instead.
    */
-  _focusChange: function(aDirection) {
+  _focusChange: function (aDirection) {
     let commandDispatcher = this._commandDispatcher;
     let prevFocusedElement = commandDispatcher.focusedElement;
     let currFocusedElement;
 
     do {
       commandDispatcher.suppressFocusScroll = true;
       commandDispatcher[aDirection]();
       currFocusedElement = commandDispatcher.focusedElement;
@@ -1155,45 +1155,45 @@ const WidgetMethods = exports.WidgetMeth
   /**
    * Gets the item in the container having the specified index.
    *
    * @param number aIndex
    *        The index used to identify the element.
    * @return Item
    *         The matched item, or null if nothing is found.
    */
-  getItemAtIndex: function(aIndex) {
+  getItemAtIndex: function (aIndex) {
     return this.getItemForElement(this._widget.getItemAtIndex(aIndex));
   },
 
   /**
    * Gets the item in the container having the specified value.
    *
    * @param string aValue
    *        The value used to identify the element.
    * @return Item
    *         The matched item, or null if nothing is found.
    */
-  getItemByValue: function(aValue) {
+  getItemByValue: function (aValue) {
     return this._itemsByValue.get(aValue);
   },
 
   /**
    * Gets the item in the container associated with the specified element.
    *
    * @param nsIDOMNode aElement
    *        The element used to identify the item.
    * @param object aFlags [optional]
    *        Additional options for showing the source. Supported options:
    *          - noSiblings: if siblings shouldn't be taken into consideration
    *                        when searching for the associated item.
    * @return Item
    *         The matched item, or null if nothing is found.
    */
-  getItemForElement: function(aElement, aFlags = {}) {
+  getItemForElement: function (aElement, aFlags = {}) {
     while (aElement) {
       let item = this._itemsByElement.get(aElement);
 
       // Also search the siblings if allowed.
       if (!aFlags.noSiblings) {
         item = item ||
           this._itemsByElement.get(aElement.nextElementSibling) ||
           this._itemsByElement.get(aElement.previousElementSibling);
@@ -1209,17 +1209,17 @@ const WidgetMethods = exports.WidgetMeth
   /**
    * Gets a visible item in this container validating a specified predicate.
    *
    * @param function aPredicate
    *        The first item which validates this predicate is returned
    * @return Item
    *         The matched item, or null if nothing is found.
    */
-  getItemForPredicate: function(aPredicate, aOwner = this) {
+  getItemForPredicate: function (aPredicate, aOwner = this) {
     // Recursively check the items in this widget for a predicate match.
     for (let [element, item] of aOwner._itemsByElement) {
       let match;
       if (aPredicate(item) && !element.hidden) {
         match = item;
       } else {
         match = this.getItemForPredicate(aPredicate, item);
       }
@@ -1236,41 +1236,41 @@ const WidgetMethods = exports.WidgetMeth
     }
     return null;
   },
 
   /**
    * Shortcut function for getItemForPredicate which works on item attachments.
    * @see getItemForPredicate
    */
-  getItemForAttachment: function(aPredicate, aOwner = this) {
+  getItemForAttachment: function (aPredicate, aOwner = this) {
     return this.getItemForPredicate(e => aPredicate(e.attachment));
   },
 
   /**
    * Finds the index of an item in the container.
    *
    * @param Item aItem
    *        The item get the index for.
    * @return number
    *         The index of the matched item, or -1 if nothing is found.
    */
-  indexOfItem: function(aItem) {
+  indexOfItem: function (aItem) {
     return this._indexOfElement(aItem._target);
   },
 
   /**
    * Finds the index of an element in the container.
    *
    * @param nsIDOMNode aElement
    *        The element get the index for.
    * @return number
    *         The index of the matched element, or -1 if nothing is found.
    */
-  _indexOfElement: function(aElement) {
+  _indexOfElement: function (aElement) {
     for (let i = 0; i < this._itemsByElement.size; i++) {
       if (this._widget.getItemAtIndex(i) == aElement) {
         return i;
       }
     }
     return -1;
   },
 
@@ -1324,47 +1324,47 @@ const WidgetMethods = exports.WidgetMeth
    * Checks if an item is unique in this container. If an item's value is an
    * empty string, "undefined" or "null", it is considered unique.
    *
    * @param Item aItem
    *        The item for which to verify uniqueness.
    * @return boolean
    *         True if the item is unique, false otherwise.
    */
-  isUnique: function(aItem) {
+  isUnique: function (aItem) {
     let value = aItem._value;
     if (value == "" || value == "undefined" || value == "null") {
       return true;
     }
     return !this._itemsByValue.has(value);
   },
 
   /**
    * Checks if an item is eligible for this container. By default, this checks
    * whether an item is unique and has a prebuilt target node.
    *
    * @param Item aItem
    *        The item for which to verify eligibility.
    * @return boolean
    *         True if the item is eligible, false otherwise.
    */
-  isEligible: function(aItem) {
+  isEligible: function (aItem) {
     return this.isUnique(aItem) && aItem._prebuiltNode;
   },
 
   /**
    * Finds the expected item index in this container based on the default
    * sort predicate.
    *
    * @param Item aItem
    *        The item for which to get the expected index.
    * @return number
    *         The expected item index.
    */
-  _findExpectedIndexFor: function(aItem) {
+  _findExpectedIndexFor: function (aItem) {
     let itemCount = this.itemCount;
     for (let i = 0; i < itemCount; i++) {
       if (this._currentSortPredicate(this.getItemAtIndex(i), aItem) > 0) {
         return i;
       }
     }
     return itemCount;
   },
@@ -1378,17 +1378,17 @@ const WidgetMethods = exports.WidgetMeth
    *        The item describing a target element.
    * @param object aOptions [optional]
    *        Additional options or flags supported by this operation:
    *          - attributes: a batch of attributes set to the displayed element
    *          - finalize: function when the item is untangled (removed)
    * @return Item
    *         The item associated with the displayed element, null if rejected.
    */
-  _insertItemAt: function(aIndex, aItem, aOptions = {}) {
+  _insertItemAt: function (aIndex, aItem, aOptions = {}) {
     if (!this.isEligible(aItem)) {
       return null;
     }
 
     // Entangle the item with the newly inserted node.
     // Make sure this is done with the value returned by insertItemAt(),
     // to avoid storing a potential DocumentFragment.
     let node = aItem._prebuiltNode;
@@ -1419,29 +1419,29 @@ const WidgetMethods = exports.WidgetMeth
   /**
    * Entangles an item (model) with a displayed node element (view).
    *
    * @param Item aItem
    *        The item describing a target element.
    * @param nsIDOMNode aElement
    *        The element displaying the item.
    */
-  _entangleItem: function(aItem, aElement) {
+  _entangleItem: function (aItem, aElement) {
     this._itemsByValue.set(aItem._value, aItem);
     this._itemsByElement.set(aElement, aItem);
     aItem._target = aElement;
   },
 
   /**
    * Untangles an item (model) from a displayed node element (view).
    *
    * @param Item aItem
    *        The item describing a target element.
    */
-  _untangleItem: function(aItem) {
+  _untangleItem: function (aItem) {
     if (aItem.finalize) {
       aItem.finalize(aItem);
     }
     for (let childItem of aItem) {
       aItem.remove(childItem);
     }
 
     this._unlinkItem(aItem);
@@ -1449,27 +1449,27 @@ const WidgetMethods = exports.WidgetMeth
   },
 
   /**
    * Deletes an item from the its parent's storage maps.
    *
    * @param Item aItem
    *        The item describing a target element.
    */
-  _unlinkItem: function(aItem) {
+  _unlinkItem: function (aItem) {
     this._itemsByValue.delete(aItem._value);
     this._itemsByElement.delete(aItem._target);
   },
 
   /**
    * The keyPress event listener for this container.
    * @param string aName
    * @param KeyboardEvent aEvent
    */
-  _onWidgetKeyPress: function(aName, aEvent) {
+  _onWidgetKeyPress: function (aName, aEvent) {
     // Prevent scrolling when pressing navigation keys.
     ViewHelpers.preventScrolling(aEvent);
 
     switch (aEvent.keyCode) {
       case aEvent.DOM_VK_UP:
       case aEvent.DOM_VK_LEFT:
         this.focusPrevItem();
         return;
@@ -1492,17 +1492,17 @@ const WidgetMethods = exports.WidgetMeth
     }
   },
 
   /**
    * The mousePress event listener for this container.
    * @param string aName
    * @param MouseEvent aEvent
    */
-  _onWidgetMousePress: function(aName, aEvent) {
+  _onWidgetMousePress: function (aName, aEvent) {
     if (aEvent.button != 0 && !this.allowFocusOnRightClick) {
       // Only allow left-click to trigger this event.
       return;
     }
 
     let item = this.getItemForElement(aEvent.target);
     if (item) {
       // The container is not empty and we clicked on an actual item.
@@ -1516,56 +1516,56 @@ const WidgetMethods = exports.WidgetMeth
    * The predicate used when filtering items. By default, all items in this
    * view are visible.
    *
    * @param Item aItem
    *        The item passing through the filter.
    * @return boolean
    *         True if the item should be visible, false otherwise.
    */
-  _currentFilterPredicate: function(aItem) {
+  _currentFilterPredicate: function (aItem) {
     return true;
   },
 
   /**
    * The predicate used when sorting items. By default, items in this view
    * are sorted by their label.
    *
    * @param Item aFirst
    *        The first item used in the comparison.
    * @param Item aSecond
    *        The second item used in the comparison.
    * @return number
    *         -1 to sort aFirst to a lower index than aSecond
    *          0 to leave aFirst and aSecond unchanged with respect to each other
    *          1 to sort aSecond to a lower index than aFirst
    */
-  _currentSortPredicate: function(aFirst, aSecond) {
+  _currentSortPredicate: function (aFirst, aSecond) {
     return +(aFirst._value.toLowerCase() > aSecond._value.toLowerCase());
   },
 
   /**
    * Call a method on this widget named `aMethodName`. Any further arguments are
    * passed on to the method. Returns the result of the method call.
    *
    * @param String aMethodName
    *        The name of the method you want to call.
    * @param aArgs
    *        Optional. Any arguments you want to pass through to the method.
    */
-  callMethod: function(aMethodName, ...aArgs) {
+  callMethod: function (aMethodName, ...aArgs) {
     return this._widget[aMethodName].apply(this._widget, aArgs);
   },
 
   _widget: null,
   _emptyText: "",
   _headerText: "",
   _preferredValue: "",
   _cachedCommandDispatcher: null
 };
 
 /**
  * A generator-iterator over all the items in this container.
  */
 Item.prototype[Symbol.iterator] =
-WidgetMethods[Symbol.iterator] = function*() {
+WidgetMethods[Symbol.iterator] = function* () {
   yield* this._itemsByElement.values();
 };
--- a/devtools/client/sourceeditor/autocomplete.js
+++ b/devtools/client/sourceeditor/autocomplete.js
@@ -41,17 +41,17 @@ function initializeAutoCompletion(ctx, o
       "./tern/browser",
       "./tern/ecma5",
     ].map(require);
 
     CM_TERN_SCRIPTS.forEach(ed.loadScript, ed);
     win.tern = require("./tern/tern");
     cm.tern = new CodeMirror.TernServer({
       defs: defs,
-      typeTip: function(data) {
+      typeTip: function (data) {
         let tip = document.createElement("span");
         tip.className = "CodeMirror-Tern-information";
         let tipType = document.createElement("strong");
         let tipText = document.createTextNode(data.type ||
           cm.l10n("autocompletion.notFound"));
         tipType.appendChild(tipText);
         tip.appendChild(tipType);
 
@@ -88,17 +88,17 @@ function initializeAutoCompletion(ctx, o
 
     keyMap[Editor.keyFor("showInformation2", { noaccel: true })] = cm => {
       cm.tern.showType(cm, null, () => {
         ed.emit("show-information");
       });
     };
     cm.addKeyMap(keyMap);
 
-    let destroyTern = function() {
+    let destroyTern = function () {
       ed.off("destroy", destroyTern);
       cm.off("cursorActivity", updateArgHintsCallback);
       cm.removeKeyMap(keyMap);
       win.tern = cm.tern = null;
       autocompleteMap.delete(ed);
     };
 
     ed.on("destroy", destroyTern);
--- a/devtools/client/sourceeditor/css-autocompleter.js
+++ b/devtools/client/sourceeditor/css-autocompleter.js
@@ -100,17 +100,17 @@ CSSCompleter.prototype = {
    * @param source {String} String of the source code.
    * @param caret {Object} Cursor location with line and ch properties.
    *
    * @returns [{object}] A sorted list of objects containing the following
    *          peroperties:
    *          - label {String} Full keyword for the suggestion
    *          - preLabel {String} Already entered part of the label
    */
-  complete: function(source, caret) {
+  complete: function (source, caret) {
     // Getting the context from the caret position.
     if (!this.resolveState(source, caret)) {
       // We couldn't resolve the context, we won't be able to complete.
       return Promise.resolve([]);
     }
 
     // Properly suggest based on the state.
     switch (this.state) {
@@ -150,17 +150,17 @@ CSSCompleter.prototype = {
    * selector, etc.
    *
    * @param source {String} String of the source code.
    * @param caret {Object} Cursor location with line and ch properties.
    *
    * @returns CSS_STATE
    *          One of CSS_STATE enum or null if the state cannot be resolved.
    */
-  resolveState: function(source, {line, ch}) {
+  resolveState: function (source, {line, ch}) {
     // Function to return the last element of an array
     let peek = arr => arr[arr.length - 1];
     // _state can be one of CSS_STATES;
     let _state = CSS_STATES.null;
     let selector = "";
     let selectorState = SELECTOR_STATES.null;
     let propertyName = null;
     let scopeStack = [];
@@ -710,17 +710,17 @@ CSSCompleter.prototype = {
     }
     return _state;
   },
 
   /**
    * Queries the DOM Walker actor for suggestions regarding the selector being
    * completed
    */
-  suggestSelectors: function() {
+  suggestSelectors: function () {
     let walker = this.walker;
     if (!walker) {
       return Promise.resolve([]);
     }
 
     let query = this.selector;
     // Even though the selector matched atleast one node, there is still
     // possibility of suggestions.
@@ -760,17 +760,17 @@ CSSCompleter.prototype = {
     return walker.getSuggestionsForQuery(query, this.completing,
                                          this.selectorState)
                  .then(result => this.prepareSelectorResults(result));
   },
 
  /**
   * Prepares the selector suggestions returned by the walker actor.
   */
-  prepareSelectorResults: function(result) {
+  prepareSelectorResults: function (result) {
     if (this._currentQuery != result.query) {
       return [];
     }
 
     result = result.suggestions;
     let query = this.selector;
     let completion = [];
     for (let [value, count, state] of result) {
@@ -828,17 +828,17 @@ CSSCompleter.prototype = {
     return completion;
   },
 
   /**
    * Returns CSS property name suggestions based on the input.
    *
    * @param startProp {String} Initial part of the property being completed.
    */
-  completeProperties: function(startProp) {
+  completeProperties: function (startProp) {
     let finalList = [];
     if (!startProp) {
       return Promise.resolve(finalList);
     }
 
     let length = propertyNames.length;
     let i = 0, count = 0;
     for (; i < length && count < this.maxEntries; i++) {
@@ -860,17 +860,17 @@ CSSCompleter.prototype = {
 
   /**
    * Returns CSS value suggestions based on the corresponding property.
    *
    * @param propName {String} The property to which the value being completed
    *        belongs.
    * @param startValue {String} Initial part of the value being completed.
    */
-  completeValues: function(propName, startValue) {
+  completeValues: function (propName, startValue) {
     let finalList = [];
     let list = ["!important;", ...(properties[propName] || [])];
     // If there is no character being completed, we are showing an initial list
     // of possible values. Skipping '!important' in this case.
     if (!startValue) {
       list.splice(0, 1);
     }
 
@@ -899,17 +899,17 @@ CSSCompleter.prototype = {
    * iteration.
    *
    * This method returns the index of the closest null state from the passed
    * `line` argument. Once we have the closest null state, we can start applying
    * the state machine logic from that location instead of the absolute starting
    * of the CSS source. This speeds up the tokenizing and the state machine a
    * lot while using autocompletion at high line numbers in a CSS source.
    */
-  findNearestNullState: function(line) {
+  findNearestNullState: function (line) {
     let arr = this.nullStates;
     let high = arr.length - 1;
     let low = 0;
     let target = 0;
 
     if (high < 0) {
       return -1;
     }
@@ -943,17 +943,17 @@ CSSCompleter.prototype = {
     }
 
     return -1;
   },
 
   /**
    * Invalidates the state cache for and above the line.
    */
-  invalidateCache: function(line) {
+  invalidateCache: function (line) {
     this.nullStates.length = this.findNearestNullState(line) + 1;
   },
 
   /**
    * Get the state information about a token surrounding the {line, ch} position
    *
    * @param {string} source
    *        The complete source of the CSS file. Unlike resolve state method,
@@ -973,17 +973,17 @@ CSSCompleter.prototype = {
    *           - propertyName {string} The property name at the current caret or
    *                          the property name corresponding to the value at
    *                          the caret.
    *           - value {string} The css value at the current caret.
    *           - loc {object} An object containing the starting and the ending
    *                 caret position of the whole selector, value or property.
    *                  - { start: {line, ch}, end: {line, ch}}
    */
-  getInfoAt: function(source, caret) {
+  getInfoAt: function (source, caret) {
     // Limits the input source till the {line, ch} caret position
     function limit(source, {line, ch}) {
       line++;
       let list = source.split("\n");
       if (list.length < line) {
         return source;
       }
       if (line == 1) {
--- a/devtools/client/sourceeditor/debugger.js
+++ b/devtools/client/sourceeditor/debugger.js
@@ -36,33 +36,33 @@ function doSearch(ctx, rev, query) {
   let { cm } = ctx;
   let state = getSearchState(cm);
 
   if (state.query) {
     searchNext(ctx, rev);
     return;
   }
 
-  cm.operation(function() {
+  cm.operation(function () {
     if (state.query) {
       return;
     }
 
     state.query = query;
     state.posFrom = state.posTo = { line: 0, ch: 0 };
     searchNext(ctx, rev);
   });
 }
 
 /**
  * Selects the next result of a saved search.
  */
 function searchNext(ctx, rev) {
   let { cm, ed } = ctx;
-  cm.operation(function() {
+  cm.operation(function () {
     let state = getSearchState(cm);
     let cursor = getSearchCursor(cm, state.query,
                                  rev ? state.posFrom : state.posTo);
 
     if (!cursor.find(rev)) {
       cursor = getSearchCursor(cm, state.query, rev ?
         { line: cm.lastLine(), ch: null } : { line: cm.firstLine(), ch: 0 });
       if (!cursor.find(rev)) {
@@ -185,17 +185,17 @@ function addBreakpoint(ctx, line, cond) 
 function removeBreakpoints(ctx) {
   let { ed, cm } = ctx;
 
   let meta = dbginfo.get(ed);
   if (meta.breakpoints != null) {
     meta.breakpoints = {};
   }
 
-  cm.doc.iter((line) => { removeBreakpoint(ctx, line) });
+  cm.doc.iter((line) => { removeBreakpoint(ctx, line); });
 }
 
 /**
  * Removes a visual breakpoint from a specified line and
  * makes Editor emit a breakpointRemoved event.
  */
 function removeBreakpoint(ctx, line) {
   if (!hasBreakpoint(ctx, line)) {
--- a/devtools/client/sourceeditor/editor.js
+++ b/devtools/client/sourceeditor/editor.js
@@ -247,17 +247,17 @@ Editor.prototype = {
   /**
    * Appends the current Editor instance to the element specified by
    * 'el'. You can also provide your won iframe to host the editor as
    * an optional second parameter. This method actually creates and
    * loads CodeMirror and all its dependencies.
    *
    * This method is asynchronous and returns a promise.
    */
-  appendTo: function(el, env) {
+  appendTo: function (el, env) {
     let def = promise.defer();
     let cm = editors.get(this);
 
     if (!env) {
       env = el.ownerDocument.createElementNS(XUL_NS, "iframe");
     }
 
     env.flex = 1;
@@ -336,17 +336,17 @@ Editor.prototype = {
           return;
         }
 
         let popup = this.config.contextMenu;
         if (typeof popup == "string") {
           popup = el.ownerDocument.getElementById(this.config.contextMenu);
         }
 
-        this.emit("popupOpen",  ev, popup);
+        this.emit("popupOpen", ev, popup);
         popup.openPopupAtScreen(ev.screenX, ev.screenY, true);
       }, false);
 
       // Intercept the find and find again keystroke on CodeMirror, to avoid
       // the browser's search
 
       let findKey = L10N.GetStringFromName("find.commandkey");
       let findAgainKey = L10N.GetStringFromName("findAgain.commandkey");
@@ -463,102 +463,102 @@ Editor.prototype = {
     this.once("destroy", () => el.removeChild(env));
     return def.promise;
   },
 
   /**
    * Returns a boolean indicating whether the editor is ready to
    * use. Use appendTo(el).then(() => {}) for most cases
    */
-  isAppended: function() {
+  isAppended: function () {
     return editors.has(this);
   },
 
   /**
    * Returns the currently active highlighting mode.
    * See Editor.modes for the list of all suppoert modes.
    */
-  getMode: function() {
+  getMode: function () {
     return this.getOption("mode");
   },
 
   /**
    * Loads a script into editor's containing window.
    */
-  loadScript: function(url) {
+  loadScript: function (url) {
     if (!this.container) {
       throw new Error("Can't load a script until the editor is loaded.");
     }
     let win = this.container.contentWindow.wrappedJSObject;
     Services.scriptloader.loadSubScript(url, win, "utf8");
   },
 
   /**
    * Creates a CodeMirror Document
    * @returns CodeMirror.Doc
    */
-  createDocument: function() {
-     return new this.Doc("");
+  createDocument: function () {
+    return new this.Doc("");
   },
 
   /**
    * Replaces the current document with a new source document
    */
-  replaceDocument: function(doc) {
+  replaceDocument: function (doc) {
     let cm = editors.get(this);
     cm.swapDoc(doc);
   },
 
   /**
    * Changes the value of a currently used highlighting mode.
    * See Editor.modes for the list of all supported modes.
    */
-  setMode: function(value) {
+  setMode: function (value) {
     this.setOption("mode", value);
 
     // If autocomplete was set up and the mode is changing, then
     // turn it off and back on again so the proper mode can be used.
     if (this.config.autocomplete) {
       this.setOption("autocomplete", false);
       this.setOption("autocomplete", true);
     }
   },
 
   /**
    * Returns text from the text area. If line argument is provided
    * the method returns only that line.
    */
-  getText: function(line) {
+  getText: function (line) {
     let cm = editors.get(this);
 
     if (line == null) {
       return cm.getValue();
     }
 
     let info = cm.lineInfo(line);
     return info ? cm.lineInfo(line).text : "";
   },
 
   /**
    * Replaces whatever is in the text area with the contents of
    * the 'value' argument.
    */
-  setText: function(value) {
+  setText: function (value) {
     let cm = editors.get(this);
     cm.setValue(value);
 
     this.resetIndentUnit();
   },
 
   /**
    * Reloads the state of the editor based on all current preferences.
    * This is called automatically when any of the relevant preferences
    * change.
    */
-  reloadPreferences: function() {
+  reloadPreferences: function () {
     // Restore the saved autoCloseBrackets value if it is preffed on.
     let useAutoClose = Services.prefs.getBoolPref(AUTO_CLOSE);
     this.setOption("autoCloseBrackets",
       useAutoClose ? this.config.autoCloseBracketsSaved : false);
 
     // If alternative keymap is provided, use it.
     const keyMap = Services.prefs.getCharPref(KEYMAP);
     if (VALID_KEYMAPS.has(keyMap)) {
@@ -571,20 +571,20 @@ Editor.prototype = {
     this.resetIndentUnit();
     this.setupAutoCompletion();
   },
 
   /**
    * Sets the editor's indentation based on the current prefs and
    * re-detect indentation if we should.
    */
-  resetIndentUnit: function() {
+  resetIndentUnit: function () {
     let cm = editors.get(this);
 
-    let iterFn = function(start, end, callback) {
+    let iterFn = function (start, end, callback) {
       cm.eachLine(start, end, (line) => {
         return callback(line.text);
       });
     };
 
     let {indentUnit, indentWithTabs} = getIndentationFromIteration(iterFn);
 
     cm.setOption("tabSize", indentUnit);
@@ -593,17 +593,17 @@ Editor.prototype = {
   },
 
   /**
    * Replaces contents of a text area within the from/to {line, ch}
    * range. If neither `from` nor `to` arguments are provided works
    * exactly like setText. If only `from` object is provided, inserts
    * text at that point, *overwriting* as many characters as needed.
    */
-  replaceText: function(value, from, to) {
+  replaceText: function (value, from, to) {
     let cm = editors.get(this);
 
     if (!from) {
       this.setText(value);
       return;
     }
 
     if (!to) {
@@ -614,75 +614,75 @@ Editor.prototype = {
 
     cm.replaceRange(value, from, to);
   },
 
   /**
    * Inserts text at the specified {line, ch} position, shifting existing
    * contents as necessary.
    */
-  insertText: function(value, at) {
+  insertText: function (value, at) {
     let cm = editors.get(this);
     cm.replaceRange(value, at, at);
   },
 
   /**
    * Deselects contents of the text area.
    */
-  dropSelection: function() {
+  dropSelection: function () {
     if (!this.somethingSelected()) {
       return;
     }
 
     this.setCursor(this.getCursor());
   },
 
   /**
    * Returns true if there is more than one selection in the editor.
    */
-  hasMultipleSelections: function() {
+  hasMultipleSelections: function () {
     let cm = editors.get(this);
     return cm.listSelections().length > 1;
   },
 
   /**
    * Gets the first visible line number in the editor.
    */
-  getFirstVisibleLine: function() {
+  getFirstVisibleLine: function () {
     let cm = editors.get(this);
     return cm.lineAtHeight(0, "local");
   },
 
   /**
    * Scrolls the view such that the given line number is the first visible line.
    */
-  setFirstVisibleLine: function(line) {
+  setFirstVisibleLine: function (line) {
     let cm = editors.get(this);
     let { top } = cm.charCoords({line: line, ch: 0}, "local");
     cm.scrollTo(0, top);
   },
 
   /**
    * Sets the cursor to the specified {line, ch} position with an additional
    * option to align the line at the "top", "center" or "bottom" of the editor
    * with "top" being default value.
    */
-  setCursor: function({line, ch}, align) {
+  setCursor: function ({line, ch}, align) {
     let cm = editors.get(this);
     this.alignLine(line, align);
     cm.setCursor({line: line, ch: ch});
     this.emit("cursorActivity");
   },
 
   /**
    * Aligns the provided line to either "top", "center" or "bottom" of the
    * editor view with a maximum margin of MAX_VERTICAL_OFFSET lines from top or
    * bottom.
    */
-  alignLine: function(line, align) {
+  alignLine: function (line, align) {
     let cm = editors.get(this);
     let from = cm.lineAtHeight(0, "page");
     let to = cm.lineAtHeight(cm.getWrapperElement().clientHeight, "page");
     let linesVisible = to - from;
     let halfVisible = Math.round(linesVisible / 2);
 
     // If the target line is in view, skip the vertical alignment part.
     if (line <= to && line >= from) {
@@ -703,30 +703,30 @@ Editor.prototype = {
     // Bringing down the topLine to total lines in the editor if exceeding.
     topLine = Math.min(topLine, this.lineCount());
     this.setFirstVisibleLine(topLine);
   },
 
   /**
    * Returns whether a marker of a specified class exists in a line's gutter.
    */
-  hasMarker: function(line, gutterName, markerClass) {
+  hasMarker: function (line, gutterName, markerClass) {
     let marker = this.getMarker(line, gutterName);
     if (!marker) {
       return false;
     }
 
     return marker.classList.contains(markerClass);
   },
 
   /**
    * Adds a marker with a specified class to a line's gutter. If another marker
    * exists on that line, the new marker class is added to its class list.
    */
-  addMarker: function(line, gutterName, markerClass) {
+  addMarker: function (line, gutterName, markerClass) {
     let cm = editors.get(this);
     let info = cm.lineInfo(line);
     if (!info) {
       return;
     }
 
     let gutterMarkers = info.gutterMarkers;
     let marker;
@@ -742,58 +742,58 @@ Editor.prototype = {
     marker.className = markerClass;
     cm.setGutterMarker(info.line, gutterName, marker);
   },
 
   /**
    * The reverse of addMarker. Removes a marker of a specified class from a
    * line's gutter.
    */
-  removeMarker: function(line, gutterName, markerClass) {
+  removeMarker: function (line, gutterName, markerClass) {
     if (!this.hasMarker(line, gutterName, markerClass)) {
       return;
     }
 
     let cm = editors.get(this);
     cm.lineInfo(line).gutterMarkers[gutterName].classList.remove(markerClass);
   },
 
   /**
    * Adds a marker with a specified class and an HTML content to a line's
    * gutter. If another marker exists on that line, it is overwritten by a new
    * marker.
    */
-  addContentMarker: function(line, gutterName, markerClass, content) {
+  addContentMarker: function (line, gutterName, markerClass, content) {
     let cm = editors.get(this);
     let info = cm.lineInfo(line);
     if (!info) {
       return;
     }
 
     let marker = cm.getWrapperElement().ownerDocument.createElement("div");
     marker.className = markerClass;
     marker.innerHTML = content;
     cm.setGutterMarker(info.line, gutterName, marker);
   },
 
   /**
    * The reverse of addContentMarker. Removes any line's markers in the
    * specified gutter.
    */
-  removeContentMarker: function(line, gutterName) {
+  removeContentMarker: function (line, gutterName) {
     let cm = editors.get(this);
     let info = cm.lineInfo(line);
     if (!info) {
       return;
     }
 
     cm.setGutterMarker(info.line, gutterName, null);
   },
 
-  getMarker: function(line, gutterName) {
+  getMarker: function (line, gutterName) {
     let cm = editors.get(this);
     let info = cm.lineInfo(line);
     if (!info) {
       return null;
     }
 
     let gutterMarkers = info.gutterMarkers;
     if (!gutterMarkers) {
@@ -801,80 +801,80 @@ Editor.prototype = {
     }
 
     return gutterMarkers[gutterName];
   },
 
   /**
    * Removes all gutter markers in the gutter with the given name.
    */
-  removeAllMarkers: function(gutterName) {
+  removeAllMarkers: function (gutterName) {
     let cm = editors.get(this);
     cm.clearGutter(gutterName);
   },
 
   /**
    * Handles attaching a set of events listeners on a marker. They should
    * be passed as an object literal with keys as event names and values as
    * function listeners. The line number, marker node and optional data
    * will be passed as arguments to the function listener.
    *
    * You don't need to worry about removing these event listeners.
    * They're automatically orphaned when clearing markers.
    */
-  setMarkerListeners: function(line, gutterName, markerClass, events, data) {
+  setMarkerListeners: function (line, gutterName, markerClass, events, data) {
     if (!this.hasMarker(line, gutterName, markerClass)) {
       return;
     }
 
     let cm = editors.get(this);
     let marker = cm.lineInfo(line).gutterMarkers[gutterName];
 
     for (let name in events) {
       let listener = events[name].bind(this, line, marker, data);
       marker.addEventListener(name, listener);
     }
   },
 
   /**
    * Returns whether a line is decorated using the specified class name.
    */
-  hasLineClass: function(line, className) {
+  hasLineClass: function (line, className) {
     let cm = editors.get(this);
     let info = cm.lineInfo(line);
 
     if (!info || !info.wrapClass) {
       return false;
     }
 
     return info.wrapClass.split(" ").indexOf(className) != -1;
   },
 
   /**
    * Sets a CSS class name for the given line, including the text and gutter.
    */
-  addLineClass: function(line, className) {
+  addLineClass: function (line, className) {
     let cm = editors.get(this);
     cm.addLineClass(line, "wrap", className);
   },
 
   /**
    * The reverse of addLineClass.
    */
-  removeLineClass: function(line, className) {
+  removeLineClass: function (line, className) {
     let cm = editors.get(this);
     cm.removeLineClass(line, "wrap", className);
   },
 
   /**
    * Mark a range of text inside the two {line, ch} bounds. Since the range may
    * be modified, for example, when typing text, this method returns a function
    * that can be used to remove the mark.
    */
-  markText: function(from, to, className = "marked-text") {
+  markText: function (from, to, className = "marked-text") {
     let cm = editors.get(this);
     let text = cm.getRange(from, to);
     let span = cm.getWrapperElement().ownerDocument.createElement("span");
     span.className = className;
     span.textContent = text;
 
     let mark = cm.markText(from, to, { replacedWith: span });
     return {
@@ -886,93 +886,93 @@ Editor.prototype = {
   /**
    * Calculates and returns one or more {line, ch} objects for
    * a zero-based index who's value is relative to the start of
    * the editor's text.
    *
    * If only one argument is given, this method returns a single
    * {line,ch} object. Otherwise it returns an array.
    */
-  getPosition: function(...args) {
+  getPosition: function (...args) {
     let cm = editors.get(this);
     let res = args.map((ind) => cm.posFromIndex(ind));
     return args.length === 1 ? res[0] : res;
   },
 
   /**
    * The reverse of getPosition. Similarly to getPosition this
    * method returns a single value if only one argument was given
    * and an array otherwise.
    */
-  getOffset: function(...args) {
+  getOffset: function (...args) {
     let cm = editors.get(this);
     let res = args.map((pos) => cm.indexFromPos(pos));
     return args.length > 1 ? res : res[0];
   },
 
   /**
    * Returns a {line, ch} object that corresponds to the
    * left, top coordinates.
    */
-  getPositionFromCoords: function({left, top}) {
+  getPositionFromCoords: function ({left, top}) {
     let cm = editors.get(this);
     return cm.coordsChar({ left: left, top: top });
   },
 
   /**
    * The reverse of getPositionFromCoords. Similarly, returns a {left, top}
    * object that corresponds to the specified line and character number.
    */
-  getCoordsFromPosition: function({line, ch}) {
+  getCoordsFromPosition: function ({line, ch}) {
     let cm = editors.get(this);
     return cm.charCoords({ line: ~~line, ch: ~~ch });
   },
 
   /**
    * Returns true if there's something to undo and false otherwise.
    */
-  canUndo: function() {
+  canUndo: function () {
     let cm = editors.get(this);
     return cm.historySize().undo > 0;
   },
 
   /**
    * Returns true if there's something to redo and false otherwise.
    */
-  canRedo: function() {
+  canRedo: function () {
     let cm = editors.get(this);
     return cm.historySize().redo > 0;
   },
 
   /**
    * Marks the contents as clean and returns the current
    * version number.
    */
-  setClean: function() {
+  setClean: function () {
     let cm = editors.get(this);
     this.version = cm.changeGeneration();
     this._lastDirty = false;
     this.emit("dirty-change");
     return this.version;
   },
 
   /**
    * Returns true if contents of the text area are
    * clean i.e. no changes were made since the last version.
    */
-  isClean: function() {
+  isClean: function () {
     let cm = editors.get(this);
     return cm.isClean(this.version);
   },
 
   /**
    * This method opens an in-editor dialog asking for a line to
    * jump to. Once given, it changes cursor to that line.
    */
-  jumpToLine: function() {
+  jumpToLine: function () {
     let doc = editors.get(this).getWrapperElement().ownerDocument;
     let div = doc.createElement("div");
     let inp = doc.createElement("input");
     let txt =
       doc.createTextNode(L10N.GetStringFromName("gotoLineCmd.promptTitle"));
 
     inp.type = "text";
     inp.style.width = "10em";
@@ -1003,17 +1003,17 @@ Editor.prototype = {
         this.setCursor({line: line - 1, ch: column ? column - 1 : 0 });
       }
     });
   },
 
   /**
    * Moves the content of the current line or the lines selected up a line.
    */
-  moveLineUp: function() {
+  moveLineUp: function () {
     let cm = editors.get(this);
     let start = cm.getCursor("start");
     let end = cm.getCursor("end");
 
     if (start.line === 0) {
       return;
     }
 
@@ -1034,17 +1034,17 @@ Editor.prototype = {
       { line: end.line, ch: cm.getLine(end.line).length });
     cm.setSelection({ line: start.line - 1, ch: start.ch },
       { line: end.line - 1, ch: end.ch });
   },
 
   /**
    * Moves the content of the current line or the lines selected down a line.
    */
-  moveLineDown: function() {
+  moveLineDown: function () {
     let cm = editors.get(this);
     let start = cm.getCursor("start");
     let end = cm.getCursor("end");
 
     if (end.line + 1 === cm.lineCount()) {
       return;
     }
 
@@ -1064,39 +1064,39 @@ Editor.prototype = {
       { line: end.line + 1, ch: cm.getLine(end.line + 1).length});
     cm.setSelection({ line: start.line + 1, ch: start.ch },
       { line: end.line + 1, ch: end.ch });
   },
 
   /**
    * Returns current font size for the editor area, in pixels.
    */
-  getFontSize: function() {
+  getFontSize: function () {
     let cm = editors.get(this);
     let el = cm.getWrapperElement();
     let win = el.ownerDocument.defaultView;
 
     return parseInt(win.getComputedStyle(el).getPropertyValue("font-size"), 10);
   },
 
   /**
    * Sets font size for the editor area.
    */
-  setFontSize: function(size) {
+  setFontSize: function (size) {
     let cm = editors.get(this);
     cm.getWrapperElement().style.fontSize = parseInt(size, 10) + "px";
     cm.refresh();
   },
 
   /**
    * Sets an option for the editor.  For most options it just defers to
    * CodeMirror.setOption, but certain ones are maintained within the editor
    * instance.
    */
-  setOption: function(o, v) {
+  setOption: function (o, v) {
     let cm = editors.get(this);
 
     // Save the state of a valid autoCloseBrackets string, so we can reset
     // it if it gets preffed off and back on.
     if (o === "autoCloseBrackets" && v) {
       this.config.autoCloseBracketsSaved = v;
     }
 
@@ -1115,34 +1115,34 @@ Editor.prototype = {
     }
   },
 
   /**
    * Gets an option for the editor.  For most options it just defers to
    * CodeMirror.getOption, but certain ones are maintained within the editor
    * instance.
    */
-  getOption: function(o) {
+  getOption: function (o) {
     let cm = editors.get(this);
     if (o === "autocomplete") {
       return this.config.autocomplete;
     }
 
     return cm.getOption(o);
   },
 
   /**
    * Sets up autocompletion for the editor. Lazily imports the required
    * dependencies because they vary by editor mode.
    *
    * Autocompletion is special, because we don't want to automatically use
    * it just because it is preffed on (it still needs to be requested by the
    * editor), but we do want to always disable it if it is preffed off.
    */
-  setupAutoCompletion: function() {
+  setupAutoCompletion: function () {
     // The autocomplete module will overwrite this.initializeAutoCompletion
     // with a mode specific autocompletion handler.
     if (!this.initializeAutoCompletion) {
       this.extend(require("./autocomplete"));
     }
 
     if (this.config.autocomplete && Services.prefs.getBoolPref(AUTOCOMPLETE)) {
       this.initializeAutoCompletion(this.config.autocompleteOpts);
@@ -1163,31 +1163,31 @@ Editor.prototype = {
    *   cm;   // CodeMirror instance
    *   ed;   // Editor instance
    *   name; // 'Mozilla'
    * }
    *
    * editor.extend({ hello: hello });
    * editor.hello('Mozilla');
    */
-  extend: function(funcs) {
+  extend: function (funcs) {
     Object.keys(funcs).forEach(name => {
       let cm = editors.get(this);
       let ctx = { ed: this, cm: cm, Editor: Editor};
 
       if (name === "initialize") {
         funcs[name](ctx);
         return;
       }
 
       this[name] = funcs[name].bind(null, ctx);
     });
   },
 
-  destroy: function() {
+  destroy: function () {
     this.container = null;
     this.config = null;
     this.version = null;
 
     if (this._prefObserver) {
       this._prefObserver.off(TAB_SIZE, this.reloadPreferences);
       this._prefObserver.off(EXPAND_TAB, this.reloadPreferences);
       this._prefObserver.off(KEYMAP, this.reloadPreferences);
@@ -1196,17 +1196,17 @@ Editor.prototype = {
       this._prefObserver.off(DETECT_INDENT, this.reloadPreferences);
       this._prefObserver.off(ENABLE_CODE_FOLDING, this.reloadPreferences);
       this._prefObserver.destroy();
     }
 
     this.emit("destroy");
   },
 
-  updateCodeFoldingGutter: function() {
+  updateCodeFoldingGutter: function () {
     let shouldFoldGutter = this.config.enableCodeFolding;
     let foldGutterIndex = this.config.gutters.indexOf("CodeMirror-foldgutter");
     let cm = editors.get(this);
 
     if (shouldFoldGutter === undefined) {
       shouldFoldGutter = Services.prefs.getBoolPref(ENABLE_CODE_FOLDING);
     }
 
@@ -1236,45 +1236,45 @@ Editor.prototype = {
     }
   }
 };
 
 // Since Editor is a thin layer over CodeMirror some methods
 // are mapped directly—without any changes.
 
 CM_MAPPING.forEach(name => {
-  Editor.prototype[name] = function(...args) {
+  Editor.prototype[name] = function (...args) {
     let cm = editors.get(this);
     return cm[name].apply(cm, args);
   };
 });
 
 // Static methods on the Editor object itself.
 
 /**
  * Returns a string representation of a shortcut 'key' with
  * a OS specific modifier. Cmd- for Macs, Ctrl- for other
  * platforms. Useful with extraKeys configuration option.
  *
  * CodeMirror defines all keys with modifiers in the following
  * order: Shift - Ctrl/Cmd - Alt - Key
  */
-Editor.accel = function(key, modifiers = {}) {
+Editor.accel = function (key, modifiers = {}) {
   return (modifiers.shift ? "Shift-" : "") +
          (Services.appinfo.OS == "Darwin" ? "Cmd-" : "Ctrl-") +
          (modifiers.alt ? "Alt-" : "") + key;
 };
 
 /**
  * Returns a string representation of a shortcut for a
  * specified command 'cmd'. Append Cmd- for macs, Ctrl- for other
  * platforms unless noaccel is specified in the options. Useful when overwriting
  * or disabling default shortcuts.
  */
-Editor.keyFor = function(cmd, opts = { noaccel: false }) {
+Editor.keyFor = function (cmd, opts = { noaccel: false }) {
   let key = L10N.GetStringFromName(cmd + ".commandkey");
   return opts.noaccel ? key : Editor.accel(key);
 };
 
 // Since Gecko already provide complete and up to date list of CSS property
 // names, values and color names, we compute them so that they can replace
 // the ones used in CodeMirror while initiating an editor object. This is done
 // here instead of the file codemirror/css.js so as to leave that file untouched
@@ -1313,33 +1313,33 @@ function getCSSKeywords() {
 
 /**
  * Returns a controller object that can be used for
  * editor-specific commands such as find, jump to line,
  * copy/paste, etc.
  */
 function controller(ed) {
   return {
-    supportsCommand: function(cmd) {
+    supportsCommand: function (cmd) {
       switch (cmd) {
         case "cmd_find":
         case "cmd_findAgain":
         case "cmd_findPrevious":
         case "cmd_gotoLine":
         case "cmd_undo":
         case "cmd_redo":
         case "cmd_delete":
         case "cmd_selectAll":
           return true;
       }
 
       return false;
     },
 
-    isCommandEnabled: function(cmd) {
+    isCommandEnabled: function (cmd) {
       let cm = editors.get(ed);
 
       switch (cmd) {
         case "cmd_find":
         case "cmd_gotoLine":
         case "cmd_selectAll":
           return true;
         case "cmd_findAgain":
@@ -1350,17 +1350,17 @@ function controller(ed) {
           return ed.canRedo();
         case "cmd_delete":
           return ed.somethingSelected();
       }
 
       return false;
     },
 
-    doCommand: function(cmd) {
+    doCommand: function (cmd) {
       let cm = editors.get(ed);
       let map = {
         "cmd_selectAll": "selectAll",
         "cmd_find": "find",
         "cmd_undo": "undo",
         "cmd_redo": "redo",
         "cmd_delete": "delCharAfter",
         "cmd_findAgain": "findNext"
@@ -1371,13 +1371,13 @@ function controller(ed) {
         return;
       }
 
       if (cmd == "cmd_gotoLine") {
         ed.jumpToLine();
       }
     },
 
-    onEvent: function() {}
+    onEvent: function () {}
   };
 }
 
 module.exports = Editor;
--- a/devtools/client/sourceeditor/test/browser_css_autocompletion.js
+++ b/devtools/client/sourceeditor/test/browser_css_autocompletion.js
@@ -107,18 +107,18 @@ function checkStateAndMoveOn() {
     return;
   }
 
   let test = tests[index];
   progress.dataset.progress = ++index;
   progressDiv.style.width = 100 * index / tests.length + "%";
   completer.complete(limit(source, test[0]),
                      {line: test[0][0], ch: test[0][1]}).then(suggestions => {
-    checkState(test[1], suggestions);
-  }).then(checkStateAndMoveOn);
+                       checkState(test[1], suggestions);
+                     }).then(checkStateAndMoveOn);
 }
 
 function checkState(expected, actual) {
   if (expected.length != actual.length) {
     ok(false, "Number of suggestions did not match up for state " + index +
               ". Expected: " + expected.length + ", Actual: " + actual.length);
     progress.classList.add("failed");
     return;
--- a/devtools/client/sourceeditor/test/browser_editor_autocomplete_events.js
+++ b/devtools/client/sourceeditor/test/browser_editor_autocomplete_events.js
@@ -7,17 +7,17 @@
 const {InspectorFront} = require("devtools/shared/fronts/inspector");
 const {TargetFactory} = require("devtools/client/framework/target");
 const AUTOCOMPLETION_PREF = "devtools.editor.autocomplete";
 const TEST_URI = "data:text/html;charset=UTF-8,<html><body><bar></bar>" +
                  "<div id='baz'></div><body></html>";
 
 const wait = (delay) => new Promise(resolve => setTimeout(resolve, delay));
 
-add_task(function*() {
+add_task(function* () {
   yield promiseTab(TEST_URI);
   yield runTests();
 });
 
 function* runTests() {
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   yield target.makeRemote();
   let inspector = InspectorFront(target.client, target.form);
--- a/devtools/client/sourceeditor/test/browser_editor_find_again.js
+++ b/devtools/client/sourceeditor/test/browser_editor_find_again.js
@@ -59,17 +59,17 @@ function testFindAgain(ed, inputLine, ex
   input.focus();
 
   EventUtils.synthesizeKey(FINDAGAIN_KEY, { accelKey: true, shiftKey }, edWin);
 
   ch(ed.getCursor(), expectCursor,
     "find: " + inputLine + " expects cursor: " + expectCursor.toSource());
 }
 
-const testSearchBoxTextIsSelected = Task.async(function*(ed) {
+const testSearchBoxTextIsSelected = Task.async(function* (ed) {
   let edDoc = ed.container.contentDocument;
   let edWin = edDoc.defaultView;
 
   let input = edDoc.querySelector("input[type=search]");
   ok(input, "search box is opened");
 
   // Ensure the input has the focus before send the key – necessary on Linux,
   // it seems that during the tests can be lost
@@ -103,17 +103,17 @@ const testSearchBoxTextIsSelected = Task
 
   ok(selectionStart === 0 && selectionEnd === value.length,
     "search box's text is selected when find key is pressed");
 
   // Close search box
   EventUtils.synthesizeKey("VK_ESCAPE", {}, edWin);
 });
 
-const testReplaceBoxTextIsSelected = Task.async(function*(ed) {
+const testReplaceBoxTextIsSelected = Task.async(function* (ed) {
   let edDoc = ed.container.contentDocument;
   let edWin = edDoc.defaultView;
 
   let input = edDoc.querySelector(".CodeMirror-dialog > input");
   ok(!input, "dialog box with replace is closed");
 
   // The editor needs the focus to properly receive the `synthesizeKey`
   ed.focus();
@@ -147,17 +147,17 @@ const testReplaceBoxTextIsSelected = Tas
 
   ok(selectionStart === 0 && selectionEnd === value.length,
     "dialog box's text is selected when replace key is pressed");
 
   // Close dialog box
   EventUtils.synthesizeKey("VK_ESCAPE", {}, edWin);
 });
 
-add_task(function*() {
+add_task(function* () {
   let { ed, win } = yield setup();
 
   ed.setText([
     "// line 1",
     "//  line 2",
     "//   line 3",
     "//    line 4",
     "//     line 5"
--- a/devtools/client/sourceeditor/test/browser_editor_goto_line.js
+++ b/devtools/client/sourceeditor/test/browser_editor_goto_line.js
@@ -22,17 +22,17 @@ function test() {
     let textLines = [
       "// line 1",
       "//  line 2",
       "//   line 3",
       "//    line 4",
       "//     line 5",
       ""];
     ed.setText(textLines.join("\n"));
-    waitForFocus(function() {
+    waitForFocus(function () {
       let testVectors = [
         // Various useless inputs go to line 0, column 0 or do nothing.
         ["",
          {line: 0, ch: 0}],
         [":",
          {line: 0, ch: 0}],
         [" ",
          {line: 0, ch: 0}],
--- a/devtools/client/sourceeditor/test/browser_editor_script_injection.js
+++ b/devtools/client/sourceeditor/test/browser_editor_script_injection.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test the externalScripts option, which allows custom language modes or
 // other scripts to be injected into the editor window.  See Bug 1089428.
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   yield runTest();
 });
 
 function* runTest() {
   const baseURL =
     "chrome://mochitests/content/browser/devtools/client/sourceeditor/test";
   const injectedText = "Script successfully injected!";
 
--- a/devtools/client/sourceeditor/test/cm_mode_ruby.js
+++ b/devtools/client/sourceeditor/test/cm_mode_ruby.js
@@ -1,97 +1,97 @@
 // CodeMirror, copyright (c) by Marijn Haverbeke and others
 // Distributed under an MIT license: http://codemirror.net/LICENSE
 
-(function(mod) {
+(function (mod) {
   if (typeof exports == "object" && typeof module == "object") // CommonJS
     mod(require("../../lib/codemirror"));
   else if (typeof define == "function" && define.amd) // AMD
     define(["../../lib/codemirror"], mod);
   else // Plain browser env
     mod(CodeMirror);
-})(function(CodeMirror) {
-"use strict";
+})(function (CodeMirror) {
+  "use strict";
 
-CodeMirror.defineMode("ruby", function(config) {
-  function wordObj(words) {
-    var o = {};
-    for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true;
-    return o;
-  }
-  var keywords = wordObj([
-    "alias", "and", "BEGIN", "begin", "break", "case", "class", "def", "defined?", "do", "else",
-    "elsif", "END", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or",
-    "redo", "rescue", "retry", "return", "self", "super", "then", "true", "undef", "unless",
-    "until", "when", "while", "yield", "nil", "raise", "throw", "catch", "fail", "loop", "callcc",
-    "caller", "lambda", "proc", "public", "protected", "private", "require", "load",
-    "require_relative", "extend", "autoload", "__END__", "__FILE__", "__LINE__", "__dir__"
-  ]);
-  var indentWords = wordObj(["def", "class", "case", "for", "while", "module", "then",
+  CodeMirror.defineMode("ruby", function (config) {
+    function wordObj(words) {
+      var o = {};
+      for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true;
+      return o;
+    }
+    var keywords = wordObj([
+      "alias", "and", "BEGIN", "begin", "break", "case", "class", "def", "defined?", "do", "else",
+      "elsif", "END", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or",
+      "redo", "rescue", "retry", "return", "self", "super", "then", "true", "undef", "unless",
+      "until", "when", "while", "yield", "nil", "raise", "throw", "catch", "fail", "loop", "callcc",
+      "caller", "lambda", "proc", "public", "protected", "private", "require", "load",
+      "require_relative", "extend", "autoload", "__END__", "__FILE__", "__LINE__", "__dir__"
+    ]);
+    var indentWords = wordObj(["def", "class", "case", "for", "while", "module", "then",
                              "catch", "loop", "proc", "begin"]);
-  var dedentWords = wordObj(["end", "until"]);
-  var matching = {"[": "]", "{": "}", "(": ")"};
-  var curPunc;
+    var dedentWords = wordObj(["end", "until"]);
+    var matching = {"[": "]", "{": "}", "(": ")"};
+    var curPunc;
 
-  function chain(newtok, stream, state) {
-    state.tokenize.push(newtok);
-    return newtok(stream, state);
-  }
+    function chain(newtok, stream, state) {
+      state.tokenize.push(newtok);
+      return newtok(stream, state);
+    }
 
-  function tokenBase(stream, state) {
-    curPunc = null;
-    if (stream.sol() && stream.match("=begin") && stream.eol()) {
-      state.tokenize.push(readBlockComment);
-      return "comment";
-    }
-    if (stream.eatSpace()) return null;
-    var ch = stream.next(), m;
-    if (ch == "`" || ch == "'" || ch == '"') {
-      return chain(readQuoted(ch, "string", ch == '"' || ch == "`"), stream, state);
-    } else if (ch == "/") {
-      var currentIndex = stream.current().length;
-      if (stream.skipTo("/")) {
-        var search_till = stream.current().length;
-        stream.backUp(stream.current().length - currentIndex);
-        var balance = 0;  // balance brackets
-        while (stream.current().length < search_till) {
-          var chchr = stream.next();
-          if (chchr == "(") balance += 1;
-          else if (chchr == ")") balance -= 1;
-          if (balance < 0) break;
+    function tokenBase(stream, state) {
+      curPunc = null;
+      if (stream.sol() && stream.match("=begin") && stream.eol()) {
+        state.tokenize.push(readBlockComment);
+        return "comment";
+      }
+      if (stream.eatSpace()) return null;
+      var ch = stream.next(), m;
+      if (ch == "`" || ch == "'" || ch == '"') {
+        return chain(readQuoted(ch, "string", ch == '"' || ch == "`"), stream, state);
+      } else if (ch == "/") {
+        var currentIndex = stream.current().length;
+        if (stream.skipTo("/")) {
+          var search_till = stream.current().length;
+          stream.backUp(stream.current().length - currentIndex);
+          var balance = 0;  // balance brackets
+          while (stream.current().length < search_till) {
+            var chchr = stream.next();
+            if (chchr == "(") balance += 1;
+            else if (chchr == ")") balance -= 1;
+            if (balance < 0) break;
+          }
+          stream.backUp(stream.current().length - currentIndex);
+          if (balance == 0)
+            return chain(readQuoted(ch, "string-2", true), stream, state);
         }
-        stream.backUp(stream.current().length - currentIndex);
-        if (balance == 0)
-          return chain(readQuoted(ch, "string-2", true), stream, state);
-      }
-      return "operator";
-    } else if (ch == "%") {
-      var style = "string", embed = true;
-      if (stream.eat("s")) style = "atom";
-      else if (stream.eat(/[WQ]/)) style = "string";
+        return "operator";
+      } else if (ch == "%") {
+        var style = "string", embed = true;
+        if (stream.eat("s")) style = "atom";
+        else if (stream.eat(/[WQ]/)) style = "string";
       else if (stream.eat(/[r]/)) style = "string-2";
       else if (stream.eat(/[wxq]/)) { style = "string"; embed = false; }
-      var delim = stream.eat(/[^\w\s=]/);
-      if (!delim) return "operator";
-      if (matching.propertyIsEnumerable(delim)) delim = matching[delim];
-      return chain(readQuoted(delim, style, embed, true), stream, state);
-    } else if (ch == "#") {
-      stream.skipToEnd();
-      return "comment";
-    } else if (ch == "<" && (m = stream.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/))) {
-      return chain(readHereDoc(m[1]), stream, state);
-    } else if (ch == "0") {
-      if (stream.eat("x")) stream.eatWhile(/[\da-fA-F]/);
-      else if (stream.eat("b")) stream.eatWhile(/[01]/);
+        var delim = stream.eat(/[^\w\s=]/);
+        if (!delim) return "operator";
+        if (matching.propertyIsEnumerable(delim)) delim = matching[delim];
+        return chain(readQuoted(delim, style, embed, true), stream, state);
+      } else if (ch == "#") {
+        stream.skipToEnd();
+        return "comment";
+      } else if (ch == "<" && (m = stream.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/))) {
+        return chain(readHereDoc(m[1]), stream, state);
+      } else if (ch == "0") {
+        if (stream.eat("x")) stream.eatWhile(/[\da-fA-F]/);
+        else if (stream.eat("b")) stream.eatWhile(/[01]/);
       else stream.eatWhile(/[0-7]/);
-      return "number";
-    } else if (/\d/.test(ch)) {
-      stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/);
-      return "number";
-    } else if (ch == "?") {
+        return "number";
+      } else if (/\d/.test(ch)) {
+        stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/);
+        return "number";
+      } else if (ch == "?") {
       while (stream.match(/^\\[CM]-/)) {}
       if (stream.eat("\\")) stream.eatWhile(/\w/);
       else stream.next();
       return "string";
     } else if (ch == ":") {
       if (stream.eat("'")) return chain(readQuoted("'", "atom", false), stream, state);
       if (stream.eat('"')) return chain(readQuoted('"', "atom", true), stream, state);
 
@@ -142,144 +142,144 @@ CodeMirror.defineMode("ruby", function(c
       return "arrow";
     } else if (/[=+\-\/*:\.^%<>~|]/.test(ch)) {
       var more = stream.eatWhile(/[=+\-\/*:\.^%<>~|]/);
       if (ch == "." && !more) curPunc = ".";
       return "operator";
     } else {
       return null;
     }
-  }
+    }
 
-  function tokenBaseUntilBrace(depth) {
-    if (!depth) depth = 1;
-    return function(stream, state) {
-      if (stream.peek() == "}") {
-        if (depth == 1) {
-          state.tokenize.pop();
-          return state.tokenize[state.tokenize.length-1](stream, state);
-        } else {
-          state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth - 1);
+    function tokenBaseUntilBrace(depth) {
+      if (!depth) depth = 1;
+      return function (stream, state) {
+        if (stream.peek() == "}") {
+          if (depth == 1) {
+            state.tokenize.pop();
+            return state.tokenize[state.tokenize.length - 1](stream, state);
+          } else {
+            state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth - 1);
+          }
+        } else if (stream.peek() == "{") {
+          state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth + 1);
         }
-      } else if (stream.peek() == "{") {
-        state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth + 1);
-      }
-      return tokenBase(stream, state);
-    };
-  }
-  function tokenBaseOnce() {
-    var alreadyCalled = false;
-    return function(stream, state) {
-      if (alreadyCalled) {
-        state.tokenize.pop();
-        return state.tokenize[state.tokenize.length-1](stream, state);
-      }
-      alreadyCalled = true;
-      return tokenBase(stream, state);
-    };
-  }
-  function readQuoted(quote, style, embed, unescaped) {
-    return function(stream, state) {
-      var escaped = false, ch;
+        return tokenBase(stream, state);
+      };
+    }
+    function tokenBaseOnce() {
+      var alreadyCalled = false;
+      return function (stream, state) {
+        if (alreadyCalled) {
+          state.tokenize.pop();
+          return state.tokenize[state.tokenize.length - 1](stream, state);
+        }
+        alreadyCalled = true;
+        return tokenBase(stream, state);
+      };
+    }
+    function readQuoted(quote, style, embed, unescaped) {
+      return function (stream, state) {
+        var escaped = false, ch;
 
-      if (state.context.type === 'read-quoted-paused') {
-        state.context = state.context.prev;
-        stream.eat("}");
-      }
-
-      while ((ch = stream.next()) != null) {
-        if (ch == quote && (unescaped || !escaped)) {
-          state.tokenize.pop();
-          break;
+        if (state.context.type === "read-quoted-paused") {
+          state.context = state.context.prev;
+          stream.eat("}");
         }
-        if (embed && ch == "#" && !escaped) {
-          if (stream.eat("{")) {
-            if (quote == "}") {
-              state.context = {prev: state.context, type: 'read-quoted-paused'};
-            }
-            state.tokenize.push(tokenBaseUntilBrace());
-            break;
-          } else if (/[@\$]/.test(stream.peek())) {
-            state.tokenize.push(tokenBaseOnce());
+
+        while ((ch = stream.next()) != null) {
+          if (ch == quote && (unescaped || !escaped)) {
+            state.tokenize.pop();
             break;
           }
+          if (embed && ch == "#" && !escaped) {
+            if (stream.eat("{")) {
+              if (quote == "}") {
+                state.context = {prev: state.context, type: "read-quoted-paused"};
+              }
+              state.tokenize.push(tokenBaseUntilBrace());
+              break;
+            } else if (/[@\$]/.test(stream.peek())) {
+              state.tokenize.push(tokenBaseOnce());
+              break;
+            }
+          }
+          escaped = !escaped && ch == "\\";
         }
-        escaped = !escaped && ch == "\\";
-      }
-      return style;
-    };
-  }
-  function readHereDoc(phrase) {
-    return function(stream, state) {
-      if (stream.match(phrase)) state.tokenize.pop();
-      else stream.skipToEnd();
-      return "string";
-    };
-  }
-  function readBlockComment(stream, state) {
-    if (stream.sol() && stream.match("=end") && stream.eol())
-      state.tokenize.pop();
-    stream.skipToEnd();
-    return "comment";
-  }
+        return style;
+      };
+    }
+    function readHereDoc(phrase) {
+      return function (stream, state) {
+        if (stream.match(phrase)) state.tokenize.pop();
+        else stream.skipToEnd();
+        return "string";
+      };
+    }
+    function readBlockComment(stream, state) {
+      if (stream.sol() && stream.match("=end") && stream.eol())
+        state.tokenize.pop();
+      stream.skipToEnd();
+      return "comment";
+    }
 
-  return {
-    startState: function() {
-      return {tokenize: [tokenBase],
+    return {
+      startState: function () {
+        return {tokenize: [tokenBase],
               indented: 0,
               context: {type: "top", indented: -config.indentUnit},
               continuedLine: false,
               lastTok: null,
               varList: false};
-    },
+      },
 
-    token: function(stream, state) {
-      if (stream.sol()) state.indented = stream.indentation();
-      var style = state.tokenize[state.tokenize.length-1](stream, state), kwtype;
-      var thisTok = curPunc;
-      if (style == "ident") {
-        var word = stream.current();
-        style = state.lastTok == "." ? "property"
+      token: function (stream, state) {
+        if (stream.sol()) state.indented = stream.indentation();
+        var style = state.tokenize[state.tokenize.length - 1](stream, state), kwtype;
+        var thisTok = curPunc;
+        if (style == "ident") {
+          var word = stream.current();
+          style = state.lastTok == "." ? "property"
           : keywords.propertyIsEnumerable(stream.current()) ? "keyword"
           : /^[A-Z]/.test(word) ? "tag"
           : (state.lastTok == "def" || state.lastTok == "class" || state.varList) ? "def"
           : "variable";
-        if (style == "keyword") {
-          thisTok = word;
-          if (indentWords.propertyIsEnumerable(word)) kwtype = "indent";
-          else if (dedentWords.propertyIsEnumerable(word)) kwtype = "dedent";
+          if (style == "keyword") {
+            thisTok = word;
+            if (indentWords.propertyIsEnumerable(word)) kwtype = "indent";
+            else if (dedentWords.propertyIsEnumerable(word)) kwtype = "dedent";
           else if ((word == "if" || word == "unless") && stream.column() == stream.indentation())
             kwtype = "indent";
           else if (word == "do" && state.context.indented < state.indented)
             kwtype = "indent";
+          }
         }
-      }
-      if (curPunc || (style && style != "comment")) state.lastTok = thisTok;
-      if (curPunc == "|") state.varList = !state.varList;
+        if (curPunc || (style && style != "comment")) state.lastTok = thisTok;
+        if (curPunc == "|") state.varList = !state.varList;
 
-      if (kwtype == "indent" || /[\(\[\{]/.test(curPunc))
-        state.context = {prev: state.context, type: curPunc || style, indented: state.indented};
-      else if ((kwtype == "dedent" || /[\)\]\}]/.test(curPunc)) && state.context.prev)
-        state.context = state.context.prev;
+        if (kwtype == "indent" || /[\(\[\{]/.test(curPunc))
+          state.context = {prev: state.context, type: curPunc || style, indented: state.indented};
+        else if ((kwtype == "dedent" || /[\)\]\}]/.test(curPunc)) && state.context.prev)
+          state.context = state.context.prev;
 
-      if (stream.eol())
-        state.continuedLine = (curPunc == "\\" || style == "operator");
-      return style;
-    },
+        if (stream.eol())
+          state.continuedLine = (curPunc == "\\" || style == "operator");
+        return style;
+      },
 
-    indent: function(state, textAfter) {
-      if (state.tokenize[state.tokenize.length-1] != tokenBase) return 0;
-      var firstChar = textAfter && textAfter.charAt(0);
-      var ct = state.context;
-      var closing = ct.type == matching[firstChar] ||
+      indent: function (state, textAfter) {
+        if (state.tokenize[state.tokenize.length - 1] != tokenBase) return 0;
+        var firstChar = textAfter && textAfter.charAt(0);
+        var ct = state.context;
+        var closing = ct.type == matching[firstChar] ||
         ct.type == "keyword" && /^(?:end|until|else|elsif|when|rescue)\b/.test(textAfter);
-      return ct.indented + (closing ? 0 : config.indentUnit) +
+        return ct.indented + (closing ? 0 : config.indentUnit) +
         (state.continuedLine ? config.indentUnit : 0);
-    },
+      },
 
-    electricChars: "}de", // enD and rescuE
-    lineComment: "#"
-  };
-});
+      electricChars: "}de", // enD and rescuE
+      lineComment: "#"
+    };
+  });
 
-CodeMirror.defineMIME("text/x-ruby", "ruby");
+  CodeMirror.defineMIME("text/x-ruby", "ruby");
 
 });
--- a/devtools/client/sourceeditor/test/cm_script_injection_test.js
+++ b/devtools/client/sourceeditor/test/cm_script_injection_test.js
@@ -1,8 +1,8 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-window.addEventListener("editorReady", function() {
+window.addEventListener("editorReady", function () {
   editor.setText("Script successfully injected!");
 });
--- a/devtools/client/sourceeditor/test/head.js
+++ b/devtools/client/sourceeditor/test/head.js
@@ -42,17 +42,17 @@ function promiseTab(url) {
 }
 
 function promiseWaitForFocus() {
   return new Promise(resolve =>
     waitForFocus(resolve));
 }
 
 function setup(cb, additionalOpts = {}) {
-  cb = cb || function() {};
+  cb = cb || function () {};
   let def = promise.defer();
   const opt = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
   const url = "data:application/vnd.mozilla.xul+xml;charset=UTF-8," +
     "<?xml version='1.0'?>" +
     "<?xml-stylesheet href='chrome://global/skin/global.css'?>" +
     "<window xmlns='http://www.mozilla.org/keymaster/gatekeeper" +
     "/there.is.only.xul' title='Editor' width='600' height='500'>" +
     "<box flex='1'/></window>";
@@ -66,17 +66,17 @@ function setup(cb, additionalOpts = {}) 
   };
   for (let o in additionalOpts) {
     opts[o] = additionalOpts[o];
   }
 
   win.addEventListener("load", function onLoad() {
     win.removeEventListener("load", onLoad, false);
 
-    waitForFocus(function() {
+    waitForFocus(function () {
       let box = win.document.querySelector("box");
       let editor = new Editor(opts);
 
       editor.appendTo(box)
         .then(() => {
           def.resolve({
             ed: editor,
             win: win,
--- a/devtools/client/webaudioeditor/controller.js
+++ b/devtools/client/webaudioeditor/controller.js
@@ -69,17 +69,17 @@ var WebAudioEditorController = {
     } else {
       AUDIO_NODE_DEFINITION = require("devtools/server/actors/utils/audionodes.json");
     }
   }),
 
   /**
    * Remove events emitted by the current tab target.
    */
-  destroy: function() {
+  destroy: function () {
     gTarget.off("will-navigate", this._onTabNavigated);
     gTarget.off("navigate", this._onTabNavigated);
     gFront.off("start-context", this._onStartContext);
     gFront.off("create-node", this._onCreateNode);
     gFront.off("connect-node", this._onConnectNode);
     gFront.off("connect-param", this._onConnectParam);
     gFront.off("disconnect-node", this._onDisconnectNode);
     gFront.off("change-param", this._onChangeParam);
@@ -102,17 +102,17 @@ var WebAudioEditorController = {
   // we have to make sure to wait that the node has finished creating
   // before performing an operation on it.
   getNode: function* (nodeActor) {
     let id = nodeActor.actorID;
     let node = gAudioNodes.get(id);
 
     if (!node) {
       let { resolve, promise } = defer();
-      gAudioNodes.on("add", function createNodeListener (createdNode) {
+      gAudioNodes.on("add", function createNodeListener(createdNode) {
         if (createdNode.id === id) {
           gAudioNodes.off("add", createNodeListener);
           resolve(createdNode);
         }
       });
       node = yield promise;
     }
     return node;
@@ -167,17 +167,17 @@ var WebAudioEditorController = {
       }
     }
   }),
 
   /**
    * Called after the first audio node is created in an audio context,
    * signaling that the audio context is being used.
    */
-  _onStartContext: function() {
+  _onStartContext: function () {
     $("#reload-notice").hidden = true;
     $("#waiting-notice").hidden = true;
     $("#content").hidden = false;
     window.emit(EVENTS.START_CONTEXT);
   },
 
   /**
    * Called when a new node is created. Creates an `AudioNodeView` instance
--- a/devtools/client/webaudioeditor/includes.js
+++ b/devtools/client/webaudioeditor/includes.js
@@ -15,17 +15,17 @@ const { Task } = Cu.import("resource://g
 const { Class } = require("sdk/core/heritage");
 const EventEmitter = require("devtools/shared/event-emitter");
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 const Services = require("Services");
 const { gDevTools } = require("devtools/client/framework/devtools");
 const { LocalizationHelper } = require("devtools/client/shared/l10n");
 const { ViewHelpers } = require("devtools/client/shared/widgets/view-helpers");
 
-const STRINGS_URI = "chrome://devtools/locale/webaudioeditor.properties"
+const STRINGS_URI = "chrome://devtools/locale/webaudioeditor.properties";
 const L10N = new LocalizationHelper(STRINGS_URI);
 
 loader.lazyRequireGetter(this, "LineGraphWidget",
   "devtools/client/shared/widgets/LineGraphWidget");
 
 // `AUDIO_NODE_DEFINITION` defined in the controller's initialization,
 // which describes all the properties of an AudioNode
 var AUDIO_NODE_DEFINITION;
@@ -92,22 +92,22 @@ function $(selector, target = document) 
 function $$(selector, target = document) { return target.querySelectorAll(selector); }
 
 /**
  * Takes an iterable collection, and a hash. Return the first
  * object in the collection that matches the values in the hash.
  * From Backbone.Collection#findWhere
  * http://backbonejs.org/#Collection-findWhere
  */
-function findWhere (collection, attrs) {
+function findWhere(collection, attrs) {
   let keys = Object.keys(attrs);
   for (let model of collection) {
     if (keys.every(key => model[key] === attrs[key])) {
       return model;
     }
   }
   return void 0;
 }
 
-function mixin (source, ...args) {
+function mixin(source, ...args) {
   args.forEach(obj => Object.keys(obj).forEach(prop => source[prop] = obj[prop]));
   return source;
 }
--- a/devtools/client/webaudioeditor/panel.js
+++ b/devtools/client/webaudioeditor/panel.js
@@ -5,28 +5,28 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { Cc, Ci, Cu, Cr } = require("chrome");
 const EventEmitter = require("devtools/shared/event-emitter");
 const { WebAudioFront } = require("devtools/server/actors/webaudio");
 var Promise = require("promise");
 
-function WebAudioEditorPanel (iframeWindow, toolbox) {
+function WebAudioEditorPanel(iframeWindow, toolbox) {
   this.panelWin = iframeWindow;
   this._toolbox = toolbox;
   this._destroyer = null;
 
   EventEmitter.decorate(this);
 }
 
 exports.WebAudioEditorPanel = WebAudioEditorPanel;
 
 WebAudioEditorPanel.prototype = {
-  open: function() {
+  open: function () {
     let targetPromise;
 
     // Local debugging needs to make the target remote.
     if (!this.target.isRemote) {
       targetPromise = this.target.makeRemote();
     } else {
       targetPromise = Promise.resolve(this.target);
     }
@@ -51,17 +51,17 @@ WebAudioEditorPanel.prototype = {
   },
 
   // DevToolPanel API
 
   get target() {
     return this._toolbox.target;
   },
 
-  destroy: function() {
+  destroy: function () {
     // Make sure this panel is not already destroyed.
     if (this._destroyer) {
       return this._destroyer;
     }
 
     return this._destroyer = this.panelWin.shutdownWebAudioEditor().then(() => {
       // Destroy front to ensure packet handler is removed from client
       this.panelWin.gFront.destroy();
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-add-automation-event.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-add-automation-event.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#addAutomationEvent();
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
   let count = 0;
   let counter = () => count++;
   front.on("automation-event", counter);
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#bypass(), AudioNode#isBypassed()
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
 
   is((yield gainNode.isBypassed()), false, "Nodes start off unbypassed.");
 
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#bypassable
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 14)
   ]);
 
   let actualBypassability = nodes.map(node => node.bypassable);
   let expectedBypassability = [
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that AudioNodeActor#connectNode() and AudioNodeActor#disconnect() work.
  * Uses the editor front as the actors do not retain connect state.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     get3(gFront, "create-node"),
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-connectparam.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-connectparam.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that AudioNodeActor#connectParam() work.
  * Uses the editor front as the actors do not retain connect state.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     get3(gFront, "create-node"),
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-01.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-01.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#addAutomationEvent() checking automation values, also using
  * a curve as the last event to check duration spread.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
 
   let t0 = 0, t1 = 0.1, t2 = 0.2, t3 = 0.3, t4 = 0.4, t5 = 0.6, t6 = 0.7, t7 = 1;
   let curve = [-1, 0, 1];
@@ -34,20 +34,20 @@ add_task(function*() {
   checkAutomationValue(values, 0.05, 0.2);
   checkAutomationValue(values, 0.1, 0.3);
   checkAutomationValue(values, 0.15, 0.3);
   checkAutomationValue(values, 0.2, 0.4);
   checkAutomationValue(values, 0.25, 0.7);
   checkAutomationValue(values, 0.3, 1);
   checkAutomationValue(values, 0.35, 0.575);
   checkAutomationValue(values, 0.4, 0.15);
-  checkAutomationValue(values, 0.45, 0.15 * Math.pow(0.75/0.15,0.05/0.2));
-  checkAutomationValue(values, 0.5, 0.15 * Math.pow(0.75/0.15,0.5));
-  checkAutomationValue(values, 0.55, 0.15 * Math.pow(0.75/0.15,0.15/0.2));
+  checkAutomationValue(values, 0.45, 0.15 * Math.pow(0.75 / 0.15, 0.05 / 0.2));
+  checkAutomationValue(values, 0.5, 0.15 * Math.pow(0.75 / 0.15, 0.5));
+  checkAutomationValue(values, 0.55, 0.15 * Math.pow(0.75 / 0.15, 0.15 / 0.2));
   checkAutomationValue(values, 0.6, 0.75);
-  checkAutomationValue(values, 0.65, 0.75 * Math.pow(0.05/0.75, 0.5));
+  checkAutomationValue(values, 0.65, 0.75 * Math.pow(0.05 / 0.75, 0.5));
   checkAutomationValue(values, 0.705, -1); // Increase this time a bit to prevent off by the previous exponential amount
   checkAutomationValue(values, 0.8, 0);
   checkAutomationValue(values, 0.9, 1);
   checkAutomationValue(values, 1, 1);
 
   yield removeTab(target.tab);
 });
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#addAutomationEvent() when automation series ends with
  * `setTargetAtTime`, which approaches its target to infinity.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
 
   yield oscNode.addAutomationEvent("frequency", "setValueAtTime", [300, 0.1]);
   yield oscNode.addAutomationEvent("frequency", "linearRampToValueAtTime", [500, 0.4]);
@@ -20,23 +20,23 @@ add_task(function*() {
   // give us more points to render than the default 2000
   yield oscNode.addAutomationEvent("frequency", "setTargetAtTime", [1000, 2, 0.5]);
 
   var { events, values } = yield oscNode.getAutomationData("frequency");
 
   is(events.length, 4, "4 recorded events returned.");
   is(values.length, 4000, "4000 value points returned when ending with exponentiall approaching automator.");
 
-  checkAutomationValue(values, 2.01, 215.055)
+  checkAutomationValue(values, 2.01, 215.055);
   checkAutomationValue(values, 2.1, 345.930);
   checkAutomationValue(values, 3, 891.601);
   checkAutomationValue(values, 5, 998.01);
 
   // Refetch the automation data to ensure it recalculates correctly (bug 1118071)
   var { events, values } = yield oscNode.getAutomationData("frequency");
 
-  checkAutomationValue(values, 2.01, 215.055)
+  checkAutomationValue(values, 2.01, 215.055);
   checkAutomationValue(values, 2.1, 345.930);
   checkAutomationValue(values, 3, 891.601);
   checkAutomationValue(values, 5, 998.01);
 
   yield removeTab(target.tab);
 });
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-03.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-03.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that `cancelScheduledEvents` clears out events on and after
  * its argument.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
 
   yield oscNode.addAutomationEvent("frequency", "setValueAtTime", [300, 0]);
   yield oscNode.addAutomationEvent("frequency", "linearRampToValueAtTime", [500, 0.9]);
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-param-flags.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-param-flags.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#getParamFlags()
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 15)
   ]);
 
   let allNodeParams = yield Promise.all(nodes.map(node => node.getParams()));
   let nodeTypes = [
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-01.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#getParams()
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 15)
   ]);
 
   yield loadFrameScripts();
 
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that default properties are returned with the correct type
  * from the AudioNode actors.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 15)
   ]);
 
   yield loadFrameScripts();
 
@@ -29,24 +29,24 @@ add_task(function*() {
 
   allParams.forEach((params, i) => {
     compare(params, defaults[i], types[i]);
   });
 
   yield removeTab(target.tab);
 });
 
-function compare (actual, expected, type) {
+function compare(actual, expected, type) {
   actual.forEach(({ value, param }) => {
     value = getGripValue(value);
     if (typeof expected[param] === "function") {
       ok(expected[param](value), type + " has a passing value for " + param);
     }
     else {
       is(value, expected[param], type + " has correct default value and type for " + param);
     }
   });
 
-  info(Object.keys(expected).join(',') + " - " + JSON.stringify(expected));
+  info(Object.keys(expected).join(",") + " - " + JSON.stringify(expected));
 
   is(actual.length, Object.keys(expected).length,
     type + " has correct amount of properties.");
 }
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-set-param.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-set-param.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#getParam() / AudioNode#setParam()
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, [destNode, oscNode, gainNode]] = yield Promise.all([
     front.setup({ reload: true }),
     get3(front, "create-node")
   ]);
 
   let freq = yield oscNode.getParam("frequency");
   info(typeof freq);
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-source.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-source.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#source
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 14)
   ]);
 
   let actualTypes = nodes.map(node => node.type);
   let isSourceResult = nodes.map(node => node.source);
--- a/devtools/client/webaudioeditor/test/browser_audionode-actor-type.js
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-type.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test AudioNode#type
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_NODES_URL);
   let [_, nodes] = yield Promise.all([
     front.setup({ reload: true }),
     getN(front, "create-node", 14)
   ]);
 
   let actualTypes = nodes.map(node => node.type);
   let expectedTypes = [
--- a/devtools/client/webaudioeditor/test/browser_callwatcher-01.js
+++ b/devtools/client/webaudioeditor/test/browser_callwatcher-01.js
@@ -5,17 +5,17 @@
  * Bug 1130901
  * Tests to ensure that calling call/apply on methods wrapped
  * via CallWatcher do not throw a security permissions error:
  * "Error: Permission denied to access property 'call'"
  */
 
 const BUG_1130901_URL = EXAMPLE_URL + "doc_bug_1130901.html";
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(BUG_1130901_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   reload(target);
 
   yield waitForGraphRendered(panelWin, 3, 0);
 
--- a/devtools/client/webaudioeditor/test/browser_callwatcher-02.js
+++ b/devtools/client/webaudioeditor/test/browser_callwatcher-02.js
@@ -4,17 +4,17 @@
 /**
  * Bug 1112378
  * Tests to ensure that errors called on wrapped functions via call-watcher
  * correctly looks like the error comes from the content, not from within the devtools.
  */
 
 const BUG_1112378_URL = EXAMPLE_URL + "doc_bug_1112378.html";
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(BUG_1112378_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   loadFrameScripts();
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that automation view shows the correct view depending on if events
  * or params exist.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(AUTOMATION_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_automation-view-02.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_automation-view-02.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that automation view selects the first parameter by default and
  * switching between AudioParam rerenders the graph.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(AUTOMATION_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, AutomationView } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_controller-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_controller-01.js
@@ -4,17 +4,17 @@
 /**
  * Bug 1125817
  * Tests to ensure that disconnecting a node immediately
  * after creating it does not fail.
  */
 
 const BUG_1125817_URL = EXAMPLE_URL + "doc_bug_1125817.html";
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(BUG_1125817_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     once(gAudioNodes, "add", 2),
--- a/devtools/client/webaudioeditor/test/browser_wa_destroy-node-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_destroy-node-01.js
@@ -4,17 +4,17 @@
 /**
  * Tests that the destruction node event is fired and that the nodes are no
  * longer stored internally in the tool, that the graph is updated properly, and
  * that selecting a soon-to-be dead node clears the inspector.
  *
  * All done in one test since this test takes a few seconds to clear GC.
  */
 
-add_task(function*() {
+add_task(function* () {
   // Use a longer timeout as garbage collection event
   // can be unpredictable.
   requestLongerTimeout(2);
 
   let { target, panel } = yield initWebAudioEditor(DESTROY_NODES_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, gAudioNodes } = panelWin;
 
--- a/devtools/client/webaudioeditor/test/browser_wa_first-run.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_first-run.js
@@ -1,23 +1,23 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
-// As part of bug 1077403, the leaking uncaught rejection should be fixed. 
+// As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Error: Connection closed");
 
 /**
  * Tests that the reloading/onContentLoaded hooks work.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { gFront, $ } = panel.panelWin;
 
   is($("#reload-notice").hidden, false,
     "The 'reload this page' notice should initially be visible.");
   is($("#waiting-notice").hidden, true,
     "The 'waiting for an audio context' notice should initially be hidden.");
   is($("#content").hidden, true,
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-click.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-click.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that the clicking on a node in the GraphView opens and sets
  * the correct node in the InspectorView
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(COMPLEX_CONTEXT_URL);
   let panelWin = panel.panelWin;
   let { gFront, $, $$, InspectorView } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-markers.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-markers.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that the SVG marker styling is updated when devtools theme changes.
  */
 
 const { setTheme } = require("devtools/client/shared/theme");
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, MARKER_STYLING } = panelWin;
 
   let currentTheme = Services.prefs.getCharPref("devtools.theme");
 
   ok(MARKER_STYLING.light, "Marker styling exists for light theme.");
   ok(MARKER_STYLING.dark, "Marker styling exists for dark theme.");
@@ -51,11 +51,11 @@ add_task(function*() {
 
   yield teardown(target);
 });
 
 /**
  * Returns a hex value found in styling for an element. So parses
  * <marker style="fill: #abcdef"> and returns "#abcdef"
  */
-function getFill (el) {
+function getFill(el) {
   return el.getAttribute("style").match(/(#.*)$/)[1];
 }
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-01.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that SVG nodes and edges were created for the Graph View.
  */
 
 var connectCount = 0;
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
@@ -35,11 +35,11 @@ add_task(function*() {
 
   is(connectCount, 2, "Only two node connect events should be fired.");
 
   gAudioNodes.off("connect", onConnectNode);
 
   yield teardown(target);
 });
 
-function onConnectNode () {
+function onConnectNode() {
   ++connectCount;
 }
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-02.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-02.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests more edge rendering for complex graphs.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(COMPLEX_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$ } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-03.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-03.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests to ensure that selected nodes stay selected on graph redraw.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     getN(gFront, "create-node", 3),
@@ -22,14 +22,14 @@ add_task(function*() {
   yield clickGraphNode(panelWin, gain.actorID);
   ok(findGraphNode(panelWin, gain.actorID).classList.contains("selected"),
     "Node selected once.");
 
   // Disconnect a node to trigger a rerender
   osc.disconnect();
 
   yield once(panelWin, EVENTS.UI_GRAPH_RENDERED);
-  
+
   ok(findGraphNode(panelWin, gain.actorID).classList.contains("selected"),
     "Node still selected after rerender.");
 
   yield teardown(target);
 });
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-04.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-04.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests audio param connection rendering.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(CONNECT_MULTI_PARAM_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-05.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-05.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests to ensure that param connections trigger graph redraws
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     getN(gFront, "create-node", 3),
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-render-06.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-render-06.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests to ensure that param connections trigger graph redraws
  */
 
 const BUG_1141261_URL = EXAMPLE_URL + "doc_bug_1141261.html";
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(BUG_1141261_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     getN(gFront, "create-node", 3),
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-selected.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-selected.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that SVG nodes and edges were created for the Graph View.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS } = panelWin;
 
   let started = once(gFront, "start-context");
 
   reload(target);
 
--- a/devtools/client/webaudioeditor/test/browser_wa_graph-zoom.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_graph-zoom.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that the graph's scale and position is reset on a page reload.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, ContextView } = panelWin;
 
   let started = once(gFront, "start-context");
 
   yield Promise.all([
     reload(target),
--- a/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that nodes are correctly bypassed when bypassing.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     get3(gFront, "create-node"),
@@ -18,33 +18,33 @@ add_task(function*() {
   ]);
   let nodeIds = actors.map(actor => actor.actorID);
 
   // Wait for the node to be set as well as the inspector to come fully into the view
   yield clickGraphNode(panelWin, findGraphNode(panelWin, nodeIds[1]), true);
 
   let $bypass = $("toolbarbutton.bypass");
 
-  is((yield actors[1].isBypassed()), false, "AudioNodeActor is not bypassed by default.")
+  is((yield actors[1].isBypassed()), false, "AudioNodeActor is not bypassed by default.");
   is($bypass.checked, true, "Button is 'on' for normal nodes");
   is($bypass.disabled, false, "Bypass button is not disabled for normal nodes");
 
   command($bypass);
   yield once(gAudioNodes, "bypass");
 
-  is((yield actors[1].isBypassed()), true, "AudioNodeActor is bypassed.")
+  is((yield actors[1].isBypassed()), true, "AudioNodeActor is bypassed.");
   is($bypass.checked, false, "Button is 'off' when clicked");
   is($bypass.disabled, false, "Bypass button is not disabled after click");
   ok(findGraphNode(panelWin, nodeIds[1]).classList.contains("bypassed"),
     "AudioNode has 'bypassed' class.");
 
   command($bypass);
   yield once(gAudioNodes, "bypass");
 
-  is((yield actors[1].isBypassed()), false, "AudioNodeActor is no longer bypassed.")
+  is((yield actors[1].isBypassed()), false, "AudioNodeActor is no longer bypassed.");
   is($bypass.checked, true, "Button is back on when clicked");
   is($bypass.disabled, false, "Bypass button is not disabled after click");
   ok(!findGraphNode(panelWin, nodeIds[1]).classList.contains("bypassed"),
     "AudioNode no longer has 'bypassed' class.");
 
   yield clickGraphNode(panelWin, findGraphNode(panelWin, nodeIds[0]));
 
   is((yield actors[0].isBypassed()), false, "Unbypassable AudioNodeActor is not bypassed.");
--- a/devtools/client/webaudioeditor/test/browser_wa_inspector-toggle.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_inspector-toggle.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that the inspector toggle button shows and hides
  * the inspector panel as intended.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, InspectorView } = panelWin;
   let gVars = InspectorView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
--- a/devtools/client/webaudioeditor/test/browser_wa_inspector-width.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_inspector-width.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that the WebAudioInspector's Width is saved as
  * a preference
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, InspectorView } = panelWin;
   let gVars = InspectorView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
@@ -29,28 +29,28 @@ add_task(function*() {
   yield once(panelWin, EVENTS.UI_INSPECTOR_TOGGLED);
 
   let newInspectorWidth = 500;
 
   // Setting width to new_inspector_width
   $("#web-audio-inspector").setAttribute("width", newInspectorWidth);
   reload(target);
 
-  //Width should be 500 after reloading
+  // Width should be 500 after reloading
   [actors] = yield Promise.all([
     get3(gFront, "create-node"),
     waitForGraphRendered(panelWin, 3, 2)
   ]);
   nodeIds = actors.map(actor => actor.actorID);
 
   // Open inspector pane
   $("#inspector-pane-toggle").click();
   yield once(panelWin, EVENTS.UI_INSPECTOR_TOGGLED);
 
   yield clickGraphNode(panelWin, findGraphNode(panelWin, nodeIds[1]));
- 
+
   // Getting the width of the audio inspector
   let width = $("#web-audio-inspector").getAttribute("width");
 
   is(width, newInspectorWidth, "WebAudioEditor's Inspector width should be saved as a preference");
 
   yield teardown(target);
 });
--- a/devtools/client/webaudioeditor/test/browser_wa_inspector.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_inspector.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that inspector view opens on graph node click, and
  * loads the correct node inside the inspector.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, InspectorView } = panelWin;
   let gVars = InspectorView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
--- a/devtools/client/webaudioeditor/test/browser_wa_navigate.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_navigate.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests naviating from a page to another will repopulate
  * the audio graph if both pages have an AudioContext.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $ } = panelWin;
 
   reload(target);
 
   var [actors] = yield Promise.all([
     get3(gFront, "create-node"),
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that properties are updated when modifying the VariablesView.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
@@ -50,16 +50,16 @@ add_task(function*() {
   yield waitForInspectorRender(panelWin, EVENTS),
   yield setAndCheck(0, "gain", "0.005", 0.005, "sets number as number");
   yield setAndCheck(0, "gain", "0.1", 0.1, "sets float as float");
   yield setAndCheck(0, "gain", ".2", 0.2, "sets float without leading zero as float");
 
   yield teardown(target);
 });
 
-function setAndCheckVariable (panelWin, gVars) {
-  return Task.async(function*(varNum, prop, value, expected, desc) {
+function setAndCheckVariable(panelWin, gVars) {
+  return Task.async(function* (varNum, prop, value, expected, desc) {
     yield modifyVariableView(panelWin, gVars, varNum, prop, value);
     var props = {};
     props[prop] = expected;
     checkVariableView(gVars, varNum, props, desc);
   });
 }
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-02.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-02.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that properties are not updated when modifying the VariablesView.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(COMPLEX_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
@@ -27,17 +27,17 @@ add_task(function*() {
     waitForInspectorRender(panelWin, EVENTS),
     once(panelWin, EVENTS.UI_INSPECTOR_TOGGLED),
   ]);
 
   let errorEvent = once(panelWin, EVENTS.UI_SET_PARAM_ERROR);
 
   try {
     yield modifyVariableView(panelWin, gVars, 0, "bufferSize", 2048);
-  } catch(e) {
+  } catch (e) {
     // we except modifyVariableView to fail here, because bufferSize is not writable
   }
 
   yield errorEvent;
 
   checkVariableView(gVars, 0, {bufferSize: 4096}, "check that unwritable variable is not updated");
 
   yield teardown(target);
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js
@@ -29,17 +29,17 @@ function waitForDeviceClosed() {
       ppmm.removeMessageListener(message, listener);
       deferred.resolve();
     }
   });
 
   return deferred.promise;
 }
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(MEDIA_NODES_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   // Auto enable getUserMedia
   let mediaPermissionPref = Services.prefs.getBoolPref(MEDIA_PERMISSION);
   Services.prefs.setBoolPref(MEDIA_PERMISSION, true);
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view-params-objects.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-params-objects.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that params view correctly displays non-primitive properties
  * like AudioBuffer and Float32Array in properties of AudioNodes.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(BUFFER_AND_ARRAY_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
@@ -23,24 +23,24 @@ add_task(function*() {
   let nodeIds = actors.map(actor => actor.actorID);
 
   click(panelWin, findGraphNode(panelWin, nodeIds[2]));
   yield waitForInspectorRender(panelWin, EVENTS);
   checkVariableView(gVars, 0, {
     "curve": "Float32Array"
   }, "WaveShaper's `curve` is listed as an `Float32Array`.");
 
-  let aVar = gVars.getScopeAtIndex(0).get("curve")
+  let aVar = gVars.getScopeAtIndex(0).get("curve");
   let state = aVar.target.querySelector(".theme-twisty").hasAttribute("invisible");
   ok(state, "Float32Array property should not have a dropdown.");
 
   click(panelWin, findGraphNode(panelWin, nodeIds[1]));
   yield waitForInspectorRender(panelWin, EVENTS);
   checkVariableView(gVars, 0, {
     "buffer": "AudioBuffer"
   }, "AudioBufferSourceNode's `buffer` is listed as an `AudioBuffer`.");
 
-  aVar = gVars.getScopeAtIndex(0).get("buffer")
+  aVar = gVars.getScopeAtIndex(0).get("buffer");
   state = aVar.target.querySelector(".theme-twisty").hasAttribute("invisible");
   ok(state, "AudioBuffer property should not have a dropdown.");
 
   yield teardown(target);
 });
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view-params.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-params.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that params view correctly displays all properties for nodes
  * correctly, with default values and correct types.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_NODES_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
--- a/devtools/client/webaudioeditor/test/browser_wa_properties-view.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests that params view shows params when they exist, and are hidden otherwise.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
   let gVars = PropertiesView._propsView;
 
   let started = once(gFront, "start-context");
 
   reload(target);
--- a/devtools/client/webaudioeditor/test/browser_wa_reset-01.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_reset-01.js
@@ -1,24 +1,24 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
 // As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Error: Connection closed");
 
 /**
  * Tests that reloading a tab will properly listen for the `start-context`
  * event and reshow the tools after reloading.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { gFront, $ } = panel.panelWin;
 
   is($("#reload-notice").hidden, false,
     "The 'reload this page' notice should initially be visible.");
   is($("#waiting-notice").hidden, true,
     "The 'waiting for an audio context' notice should initially be hidden.");
   is($("#content").hidden, true,
--- a/devtools/client/webaudioeditor/test/browser_wa_reset-02.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_reset-02.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests reloading a tab with the tools open properly cleans up
  * the graph.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $ } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     get3(gFront, "create-node"),
--- a/devtools/client/webaudioeditor/test/browser_wa_reset-03.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_reset-03.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Tests reloading a tab with the tools open properly cleans up
  * the inspector and selected node.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
   let { panelWin } = panel;
   let { gFront, $, InspectorView } = panelWin;
 
   reload(target);
 
   let [actors] = yield Promise.all([
     get3(gFront, "create-node"),
--- a/devtools/client/webaudioeditor/test/browser_wa_reset-04.js
+++ b/devtools/client/webaudioeditor/test/browser_wa_reset-04.js
@@ -1,23 +1,23 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-///////////////////
+// /////////////////
 //
 // Whitelisting this test.
-// As part of bug 1077403, the leaking uncaught rejection should be fixed. 
+// As part of bug 1077403, the leaking uncaught rejection should be fixed.
 //
 thisTestLeaksUncaughtRejectionsAndShouldBeFixed("Error: Connection closed");
 
 /**
  * Tests that switching to an iframe works fine.
  */
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setBoolPref("devtools.command-button-frames.enabled", true);
 
   let { target, panel, toolbox } = yield initWebAudioEditor(IFRAME_CONTEXT_URL);
   let { gFront, $ } = panel.panelWin;
 
   is($("#reload-notice").hidden, false,
     "The 'reload this page' notice should initially be visible.");
   is($("#waiting-notice").hidden, true,
--- a/devtools/client/webaudioeditor/test/browser_webaudio-actor-automation-event.js
+++ b/devtools/client/webaudioeditor/test/browser_webaudio-actor-automation-event.js
@@ -1,52 +1,52 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that the WebAudioActor receives and emits the `automation-event` events
  * with correct arguments from the content.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(AUTOMATION_URL);
   let events = [];
 
   let expected = [
     ["setValueAtTime", 0.2, 0],
     ["linearRampToValueAtTime", 1, 0.3],
     ["exponentialRampToValueAtTime", 0.75, 0.6],
-    ["setValueCurveAtTime", [-1, 0 ,1], 0.7, 0.3],
+    ["setValueCurveAtTime", [-1, 0, 1], 0.7, 0.3],
   ];
 
   front.on("automation-event", onAutomationEvent);
 
   let [_, __, [destNode, oscNode, gainNode], [connect1, connect2]] = yield Promise.all([
     front.setup({ reload: true }),
     once(front, "start-context"),
     get3(front, "create-node"),
     get2(front, "connect-node")
   ]);
 
   is(events.length, 4, "correct number of events fired");
 
-  function onAutomationEvent (e) {
+  function onAutomationEvent(e) {
     let { eventName, paramName, args } = e;
     let exp = expected[events.length];
 
     is(eventName, exp[0], "correct eventName in event");
     is(paramName, "frequency", "correct paramName in event");
     is(args.length, exp.length - 1, "correct length in args");
 
     args.forEach((a, i) => {
       // In the case of an array
       if (typeof a === "object") {
         a.forEach((f, j) => is(f, exp[i + 1][j], `correct argument in Float32Array: ${f}`));
       } else {
-        is(a, exp[i + 1], `correct ${i+1}th argument in args: ${a}`);
+        is(a, exp[i + 1], `correct ${i + 1}th argument in args: ${a}`);
       }
     });
     events.push([eventName].concat(args));
   }
 
   front.off("automation-event", onAutomationEvent);
   yield removeTab(target.tab);
 });
--- a/devtools/client/webaudioeditor/test/browser_webaudio-actor-connect-param.js
+++ b/devtools/client/webaudioeditor/test/browser_webaudio-actor-connect-param.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test the `connect-param` event on the web audio actor.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(CONNECT_PARAM_URL);
   let [, , [destNode, carrierNode, modNode, gainNode], , connectParam] = yield Promise.all([
     front.setup({ reload: true }),
     once(front, "start-context"),
     getN(front, "create-node", 4),
     get2(front, "connect-node"),
     once(front, "connect-param")
   ]);
--- a/devtools/client/webaudioeditor/test/browser_webaudio-actor-destroy-node.js
+++ b/devtools/client/webaudioeditor/test/browser_webaudio-actor-destroy-node.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test `destroy-node` event on WebAudioActor.
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(DESTROY_NODES_URL);
 
   let waitUntilDestroyed = getN(front, "destroy-node", 10);
   let [, , created] = yield Promise.all([
     front.setup({ reload: true }),
     once(front, "start-context"),
     // Should create 1 destination node and 10 disposable buffer nodes
     getN(front, "create-node", 13)
@@ -25,15 +25,15 @@ add_task(function*() {
     ok(node.type, "AudioBufferSourceNode", "Only buffer nodes are destroyed");
     ok(actorIsInList(created, destroyed[i]),
       "`destroy-node` called only on AudioNodes in current document.");
   });
 
   yield removeTab(target.tab);
 });
 
-function actorIsInList (list, actor) {
+function actorIsInList(list, actor) {
   for (let i = 0; i < list.length; i++) {
     if (list[i].actorID === actor.actorID)
       return list[i];
   }
   return null;
 }
--- a/devtools/client/webaudioeditor/test/browser_webaudio-actor-simple.js
+++ b/devtools/client/webaudioeditor/test/browser_webaudio-actor-simple.js
@@ -1,16 +1,16 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test basic communication of Web Audio actor
  */
 
-add_task(function*() {
+add_task(function* () {
   let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL);
   let [_, __, [destNode, oscNode, gainNode], [connect1, connect2]] = yield Promise.all([
     front.setup({ reload: true }),
     once(front, "start-context"),
     get3(front, "create-node"),
     get2(front, "connect-node")
   ]);
 
--- a/devtools/client/webaudioeditor/test/head.js
+++ b/devtools/client/webaudioeditor/test/head.js
@@ -51,17 +51,17 @@ registerCleanupFunction(() => {
   Services.prefs.setBoolPref("devtools.webaudioeditor.enabled", gToolEnabled);
   Cu.forceGC();
 });
 
 /**
  * Call manually in tests that use frame script utils after initializing
  * the web audio editor. Call after init but before navigating to a different page.
  */
-function loadFrameScripts () {
+function loadFrameScripts() {
   mm = gBrowser.selectedBrowser.messageManager;
   mm.loadFrameScript(FRAME_SCRIPT_UTILS_URL, false);
 }
 
 function addTab(aUrl, aWindow) {
   info("Adding tab: " + aUrl);
 
   let deferred = Promise.defer();
@@ -131,34 +131,34 @@ function navigate(aTarget, aUrl, aWaitFo
   executeSoon(() => aTarget.activeTab.navigateTo(aUrl));
   return once(aTarget, aWaitForTargetEvent);
 }
 
 /**
  * Call manually in tests that use frame script utils after initializing
  * the shader editor. Call after init but before navigating to different pages.
  */
-function loadFrameScripts () {
+function loadFrameScripts() {
   mm = gBrowser.selectedBrowser.messageManager;
   mm.loadFrameScript(FRAME_SCRIPT_UTILS_URL, false);
 }
 
 /**
  * Adds a new tab, and instantiate a WebAudiFront object.
  * This requires calling removeTab before the test ends.
  */
 function initBackend(aUrl) {
   info("Initializing a web audio editor front.");
 
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
   }
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     let front = new WebAudioFront(target.client, target.form);
     return { target, front };
   });
@@ -167,17 +167,17 @@ function initBackend(aUrl) {
 /**
  * Adds a new tab, and open the toolbox for that tab, selecting the audio editor
  * panel.
  * This requires calling teardown before the test ends.
  */
 function initWebAudioEditor(aUrl) {
   info("Initializing a web audio editor pane.");
 
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     let tab = yield addTab(aUrl);
     let target = TargetFactory.forTab(tab);
 
     yield target.makeRemote();
 
     Services.prefs.setBoolPref("devtools.webaudioeditor.enabled", true);
     let toolbox = yield gDevTools.showToolbox(target, "webaudioeditor");
     let panel = toolbox.getCurrentPanel();
@@ -200,59 +200,59 @@ function teardown(aTarget) {
 
 // Due to web audio will fire most events synchronously back-to-back,
 // and we can't yield them in a chain without missing actors, this allows
 // us to listen for `n` events and return a promise resolving to them.
 //
 // Takes a `front` object that is an event emitter, the number of
 // programs that should be listened to and waited on, and an optional
 // `onAdd` function that calls with the entire actors array on program link
-function getN (front, eventName, count, spread) {
+function getN(front, eventName, count, spread) {
   let actors = [];
   let deferred = Promise.defer();
-  front.on(eventName, function onEvent (...args) {
+  front.on(eventName, function onEvent(...args) {
     let actor = args[0];
     if (actors.length !== count) {
       actors.push(spread ? args : actor);
     }
     if (actors.length === count) {
       front.off(eventName, onEvent);
       deferred.resolve(actors);
     }
   });
   return deferred.promise;
 }
 
-function get (front, eventName) { return getN(front, eventName, 1); }
-function get2 (front, eventName) { return getN(front, eventName, 2); }
-function get3 (front, eventName) { return getN(front, eventName, 3); }
-function getSpread (front, eventName) { return getN(front, eventName, 1, true); }
-function get2Spread (front, eventName) { return getN(front, eventName, 2, true); }
-function get3Spread (front, eventName) { return getN(front, eventName, 3, true); }
-function getNSpread (front, eventName, count) { return getN(front, eventName, count, true); }
+function get(front, eventName) { return getN(front, eventName, 1); }
+function get2(front, eventName) { return getN(front, eventName, 2); }
+function get3(front, eventName) { return getN(front, eventName, 3); }
+function getSpread(front, eventName) { return getN(front, eventName, 1, true); }
+function get2Spread(front, eventName) { return getN(front, eventName, 2, true); }
+function get3Spread(front, eventName) { return getN(front, eventName, 3, true); }
+function getNSpread(front, eventName, count) { return getN(front, eventName, count, true); }
 
 /**
  * Waits for the UI_GRAPH_RENDERED event to fire, but only
  * resolves when the graph was rendered with the correct count of
  * nodes and edges.
  */
-function waitForGraphRendered (front, nodeCount, edgeCount, paramEdgeCount) {
+function waitForGraphRendered(front, nodeCount, edgeCount, paramEdgeCount) {
   let deferred = Promise.defer();
   let eventName = front.EVENTS.UI_GRAPH_RENDERED;
-  front.on(eventName, function onGraphRendered (_, nodes, edges, pEdges) {
+  front.on(eventName, function onGraphRendered(_, nodes, edges, pEdges) {
     let paramEdgesDone = paramEdgeCount != null ? paramEdgeCount === pEdges : true;
     if (nodes === nodeCount && edges === edgeCount && paramEdgesDone) {
       front.off(eventName, onGraphRendered);
       deferred.resolve();
     }
   });
   return deferred.promise;
 }
 
-function checkVariableView (view, index, hash, description = "") {
+function checkVariableView(view, index, hash, description = "") {
   info("Checking Variable View");
   let scope = view.getScopeAtIndex(index);
   let variables = Object.keys(hash);
 
   // If node shouldn't display any properties, ensure that the 'empty' message is
   // visible
   if (!variables.length) {
     ok(isVisible(scope.window.$("#properties-empty")),
@@ -280,17 +280,17 @@ function checkVariableView (view, index,
     }
     else {
       is(value, hash[variable],
         "Correct property value of " + hash[variable] + " for " + variable + " " + description);
     }
   });
 }
 
-function modifyVariableView (win, view, index, prop, value) {
+function modifyVariableView(win, view, index, prop, value) {
   let deferred = Promise.defer();
   let scope = view.getScopeAtIndex(index);
   let aVar = scope.get(prop);
   scope.expand();
 
   win.on(win.EVENTS.UI_SET_PARAM, handleSetting);
   win.on(win.EVENTS.UI_SET_PARAM_ERROR, handleSetting);
 
@@ -304,80 +304,80 @@ function modifyVariableView (win, view, 
   executeSoon(() => {
     info("Setting " + value + " for " + prop + "....");
     for (let c of (value + "")) {
       EventUtils.synthesizeKey(c, {}, win);
     }
     EventUtils.sendKey("RETURN", win);
   });
 
-  function handleSetting (eventName) {
+  function handleSetting(eventName) {
     win.off(win.EVENTS.UI_SET_PARAM, handleSetting);
     win.off(win.EVENTS.UI_SET_PARAM_ERROR, handleSetting);
     if (eventName === win.EVENTS.UI_SET_PARAM)
       deferred.resolve();
     if (eventName === win.EVENTS.UI_SET_PARAM_ERROR)
       deferred.reject();
   }
 
   return deferred.promise;
 }
 
-function findGraphEdge (win, source, target, param) {
+function findGraphEdge(win, source, target, param) {
   let selector = ".edgePaths .edgePath[data-source='" + source + "'][data-target='" + target + "']";
   if (param) {
     selector += "[data-param='" + param + "']";
   }
   return win.document.querySelector(selector);
 }
 
-function findGraphNode (win, node) {
+function findGraphNode(win, node) {
   let selector = ".nodes > g[data-id='" + node + "']";
   return win.document.querySelector(selector);
 }
 
-function click (win, element) {
+function click(win, element) {
   EventUtils.sendMouseEvent({ type: "click" }, element, win);
 }
 
-function mouseOver (win, element) {
+function mouseOver(win, element) {
   EventUtils.sendMouseEvent({ type: "mouseover" }, element, win);
 }
 
-function command (button) {
+function command(button) {
   let ev = button.ownerDocument.createEvent("XULCommandEvent");
   ev.initCommandEvent("command", true, true, button.ownerDocument.defaultView, 0, false, false, false, false, null);
   button.dispatchEvent(ev);
 }
 
-function isVisible (element) {
+function isVisible(element) {
   return !element.getAttribute("hidden");
 }
 
 /**
  * Used in debugging, returns a promise that resolves in `n` milliseconds.
  */
-function wait (n) {
+function wait(n) {
   let { promise, resolve } = Promise.defer();
   setTimeout(resolve, n);
-  info("Waiting " + n/1000 + " seconds.");
+  info("Waiting " + n / 1000 + " seconds.");
   return promise;
 }
 
 /**
  * Clicks a graph node based on actorID or passing in an element.
  * Returns a promise that resolves once UI_INSPECTOR_NODE_SET is fired and
  * the tabs have rendered, completing all RDP requests for the node.
  */
-function clickGraphNode (panelWin, el, waitForToggle = false) {
+function clickGraphNode(panelWin, el, waitForToggle = false) {
   let { promise, resolve } = Promise.defer();
   let promises = [
-   once(panelWin, panelWin.EVENTS.UI_INSPECTOR_NODE_SET),
-   once(panelWin, panelWin.EVENTS.UI_PROPERTIES_TAB_RENDERED),
-   once(panelWin, panelWin.EVENTS.UI_AUTOMATION_TAB_RENDERED)
+    once(panelWin, panelWin.EVENTS.UI_INSPECTOR_NODE_SET),
+    once(panelWin, panelWin.EVENTS.UI_PROPERTIES_TAB_RENDERED),
+    once(panelWin, panelWin.EVENTS.UI_AUTOMATION_TAB_RENDERED)
   ];
 
   if (waitForToggle) {
     promises.push(once(panelWin, panelWin.EVENTS.UI_INSPECTOR_TOGGLED));
   }
 
   // Use `el` as the element if it is one, otherwise
   // assume it's an ID and find the related graph node
@@ -386,17 +386,17 @@ function clickGraphNode (panelWin, el, w
 
   return Promise.all(promises);
 }
 
 /**
  * Returns the primitive value of a grip's value, or the
  * original form that the string grip.type comes from.
  */
-function getGripValue (value) {
+function getGripValue(value) {
   if (~["boolean", "string", "number"].indexOf(typeof value)) {
     return value;
   }
 
   switch (value.type) {
     case "undefined": return undefined;
     case "Infinity": return Infinity;
     case "-Infinity": return -Infinity;
@@ -405,88 +405,88 @@ function getGripValue (value) {
     case "null": return null;
     default: return value;
   }
 }
 
 /**
  * Counts how many nodes and edges are currently in the graph.
  */
-function countGraphObjects (win) {
+function countGraphObjects(win) {
   return {
     nodes: win.document.querySelectorAll(".nodes > .audionode").length,
     edges: win.document.querySelectorAll(".edgePaths > .edgePath").length
-  }
+  };
 }
 
 /**
 * Forces cycle collection and GC, used in AudioNode destruction tests.
 */
-function forceCC () {
+function forceCC() {
   SpecialPowers.DOMWindowUtils.cycleCollect();
   SpecialPowers.DOMWindowUtils.garbageCollect();
   SpecialPowers.DOMWindowUtils.garbageCollect();
 }
 
 /**
  * Takes a `values` array of automation value entries,
  * looking for the value at `time` seconds, checking
  * to see if the value is close to `expected`.
  */
-function checkAutomationValue (values, time, expected) {
+function checkAutomationValue(values, time, expected) {
   // Remain flexible on values as we can approximate points
   let EPSILON = 0.01;
 
   let value = getValueAt(values, time);
   ok(Math.abs(value - expected) < EPSILON, "Timeline value at " + time + " with value " + value + " should have value very close to " + expected);
 
   /**
    * Entries are ordered in `values` according to time, so if we can't find an exact point
    * on a time of interest, return the point in between the threshold. This should
    * get us a very close value.
    */
-  function getValueAt (values, time) {
+  function getValueAt(values, time) {
     for (let i = 0; i < values.length; i++) {
       if (values[i].delta === time) {
         return values[i].value;
       }
       if (values[i].delta > time) {
         return (values[i - 1].value + values[i].value) / 2;
       }
     }
     return values[values.length - 1].value;
   }
 }
 
 /**
  * Wait for all inspector tabs to complete rendering.
  */
-function waitForInspectorRender (panelWin, EVENTS) {
+function waitForInspectorRender(panelWin, EVENTS) {
   return Promise.all([
     once(panelWin, EVENTS.UI_PROPERTIES_TAB_RENDERED),
     once(panelWin, EVENTS.UI_AUTOMATION_TAB_RENDERED)
   ]);
 }
 
 /**
  * Takes a string `script` and evaluates it directly in the content
  * in potentially a different process.
  */
-function evalInDebuggee (script) {
+function evalInDebuggee(script) {
   let deferred = Promise.defer();
 
   if (!mm) {
     throw new Error("`loadFrameScripts()` must be called when using MessageManager.");
   }
 
   let id = generateUUID().toString();
   mm.sendAsyncMessage("devtools:test:eval", { script: script, id: id });
   mm.addMessageListener("devtools:test:eval:response", handler);
 
-  function handler ({ data }) {
+  function handler({ data }) {
     if (id !== data.id) {
       return;
     }
 
     mm.removeMessageListener("devtools:test:eval:response", handler);
     deferred.resolve(data.value);
   }
 
@@ -495,17 +495,17 @@ function evalInDebuggee (script) {
 
 /**
  * Takes an AudioNode type and returns it's properties (from audionode.json)
  * as keys and their default values as keys
  */
 function nodeDefaultValues(nodeName) {
   let fn = NODE_CONSTRUCTORS[nodeName];
 
-  if(typeof fn === 'undefined') return {};
+  if (typeof fn === "undefined") return {};
 
   let init = nodeName === "AudioDestinationNode" ? "destination" : `create${fn}()`;
 
   let definition = JSON.stringify(audioNodes[nodeName].properties);
 
   let evalNode = evalInDebuggee(`
     let ins = (new AudioContext()).${init};
     let props = ${definition};
--- a/devtools/client/webaudioeditor/views/automation.js
+++ b/devtools/client/webaudioeditor/views/automation.js
@@ -58,17 +58,17 @@ var AutomationView = {
     this.render();
   }),
 
   /**
    * Renders the graph for specified `paramName`. Called when
    * the parameter view is changed, or when new param data events
    * are fired for the currently specified param.
    */
-  render: Task.async(function *() {
+  render: Task.async(function* () {
     let node = this._currentNode;
     let paramName = this._selectedParamName;
     // Escape if either node or parameter name does not exist.
     if (!node || !paramName) {
       this._setState("no-params");
       window.emit(EVENTS.UI_AUTOMATION_TAB_RENDERED, null);
       return;
     }
--- a/devtools/client/webaudioeditor/views/context.js
+++ b/devtools/client/webaudioeditor/views/context.js
@@ -37,34 +37,34 @@ const GRAPH_REDRAW_EVENTS = ["add", "con
 
 /**
  * Functions handling the graph UI.
  */
 var ContextView = {
   /**
    * Initialization function, called when the tool is started.
    */
-  initialize: function() {
+  initialize: function () {
     this._onGraphClick = this._onGraphClick.bind(this);
     this._onThemeChange = this._onThemeChange.bind(this);
     this._onStartContext = this._onStartContext.bind(this);
     this._onEvent = this._onEvent.bind(this);
 
     this.draw = debounce(this.draw.bind(this), GRAPH_DEBOUNCE_TIMER);
     $("#graph-target").addEventListener("click", this._onGraphClick, false);
 
     window.on(EVENTS.THEME_CHANGE, this._onThemeChange);
     window.on(EVENTS.START_CONTEXT, this._onStartContext);
     gAudioNodes.on("*", this._onEvent);
   },
 
   /**
    * Destruction function, called when the tool is closed.
    */
-  destroy: function() {
+  destroy: function () {
     // If the graph was rendered at all, then the handler
     // for zooming in will be set. We must remove it to prevent leaks.
     if (this._zoomBinding) {
       this._zoomBinding.on("zoom", null);
     }
     $("#graph-target").removeEventListener("click", this._onGraphClick, false);
 
     window.off(EVENTS.THEME_CHANGE, this._onThemeChange);
@@ -153,33 +153,33 @@ var ContextView = {
     this.clearGraph();
 
     let graph = new dagreD3.Digraph();
     let renderer = new dagreD3.Renderer();
     gAudioNodes.populateGraph(graph);
 
     // Post-render manipulation of the nodes
     let oldDrawNodes = renderer.drawNodes();
-    renderer.drawNodes(function(graph, root) {
+    renderer.drawNodes(function (graph, root) {
       let svgNodes = oldDrawNodes(graph, root);
       svgNodes.each(function (n) {
         let node = graph.node(n);
         let classString = "audionode type-" + node.type + (node.bypassed ? " bypassed" : "");
         this.setAttribute("class", classString);
         this.setAttribute("data-id", node.id);
         this.setAttribute("data-type", node.type);
       });
       return svgNodes;
     });
 
     // Post-render manipulation of edges
     let oldDrawEdgePaths = renderer.drawEdgePaths();
     let defaultClasses = "edgePath enter";
 
-    renderer.drawEdgePaths(function(graph, root) {
+    renderer.drawEdgePaths(function (graph, root) {
       let svgEdges = oldDrawEdgePaths(graph, root);
       svgEdges.each(function (e) {
         let edge = graph.edge(e);
 
         // We have to manually specify the default classes on the edges
         // as to not overwrite them
         let edgeClass = defaultClasses + (edge.param ? (" param-connection " + edge.param) : "");
 
--- a/devtools/client/webaudioeditor/views/utils.js
+++ b/devtools/client/webaudioeditor/views/utils.js
@@ -4,17 +4,17 @@
 "use strict";
 
 /**
  * Takes an element in an SVG graph and iterates over
  * ancestors until it finds the graph node container. If not found,
  * returns null.
  */
 
-function findGraphNodeParent (el) {
+function findGraphNodeParent(el) {
   // Some targets may not contain `classList` property
   if (!el.classList)
     return null;
 
   while (!el.classList.contains("nodes")) {
     if (el.classList.contains("audionode"))
       return el;
     else
@@ -95,9 +95,9 @@ var ToggleMixin = {
       this.button.setAttribute("pane-collapsed", "");
       this.button.setAttribute("tooltiptext", this._expandString);
     }
   },
 
   _onToggle: function () {
     this._viewController({ visible: !this.isVisible() });
   }
-}
+};
--- a/devtools/client/webconsole/console-commands.js
+++ b/devtools/client/webconsole/console-commands.js
@@ -9,44 +9,44 @@
 const l10n = require("gcli/l10n");
 loader.lazyRequireGetter(this, "gDevTools",
                          "devtools/client/framework/devtools", true);
 
 exports.items = [
   {
     item: "command",
     runAt: "client",
-    name: 'splitconsole',
+    name: "splitconsole",
     hidden: true,
     buttonId: "command-button-splitconsole",
     buttonClass: "command-button command-button-invertable",
     tooltipText: l10n.lookup("splitconsoleTooltip"),
     isRemoteSafe: true,
     state: {
-      isChecked: function(target) {
+      isChecked: function (target) {
         let toolbox = gDevTools.getToolbox(target);
         return !!(toolbox && toolbox.splitConsole);
       },
-      onChange: function(target, changeHandler) {
+      onChange: function (target, changeHandler) {
         // Register handlers for when a change event should be fired
         // (which resets the checked state of the button).
         let toolbox = gDevTools.getToolbox(target);
         let callback = changeHandler.bind(null, "changed", { target: target });
 
         if (!toolbox) {
           return;
         }
 
         toolbox.on("split-console", callback);
         toolbox.once("destroyed", () => {
           toolbox.off("split-console", callback);
         });
       }
     },
-    exec: function(args, context) {
+    exec: function (args, context) {
       let target = context.environment.target;
       let toolbox = gDevTools.getToolbox(target);
 
       if (!toolbox) {
         return gDevTools.showToolbox(target, "inspector").then((toolbox) => {
           toolbox.toggleSplitConsole();
         });
       } else {
@@ -59,17 +59,17 @@ exports.items = [
     description: l10n.lookup("consoleDesc"),
     manual: l10n.lookup("consoleManual")
   },
   {
     item: "command",
     runAt: "client",
     name: "console clear",
     description: l10n.lookup("consoleclearDesc"),
-    exec: function(args, context) {
+    exec: function (args, context) {
       let toolbox = gDevTools.getToolbox(context.environment.target);
       if (toolbox == null) {
         return;
       }
 
       let panel = toolbox.getPanel("webconsole");
       if (panel == null) {
         return;
@@ -80,25 +80,25 @@ exports.items = [
       return onceMessagesCleared;
     }
   },
   {
     item: "command",
     runAt: "client",
     name: "console close",
     description: l10n.lookup("consolecloseDesc"),
-    exec: function(args, context) {
+    exec: function (args, context) {
       return gDevTools.closeToolbox(context.environment.target)
                       .then(() => {}); // Don't return a value to GCLI
     }
   },
   {
     item: "command",
     runAt: "client",
     name: "console open",
     description: l10n.lookup("consoleopenDesc"),
-    exec: function(args, context) {
+    exec: function (args, context) {
       const target = context.environment.target;
       return gDevTools.showToolbox(target, "webconsole")
                       .then(() => {}); // Don't return a value to GCLI
     }
   }
 ];
--- a/devtools/client/webconsole/console-output.js
+++ b/devtools/client/webconsole/console-output.js
@@ -59,24 +59,24 @@ const COMPAT = {
 
   // The preference keys to use for each category/severity combination, indexed
   // first by category (rows) and then by severity (columns).
   //
   // Most of these rather idiosyncratic names are historical and predate the
   // division of message type into "category" and "severity".
   PREFERENCE_KEYS: [
     // Error        Warning       Info    Log
-    [ "network",    "netwarn",    null,   "networkinfo", ],  // Network
-    [ "csserror",   "cssparser",  null,   null,          ],  // CSS
-    [ "exception",  "jswarn",     null,   "jslog",       ],  // JS
-    [ "error",      "warn",       "info", "log",         ],  // Web Developer
-    [ null,         null,         null,   null,          ],  // Input
-    [ null,         null,         null,   null,          ],  // Output
-    [ "secerror",   "secwarn",    null,   null,          ],  // Security
-    [ "servererror", "serverwarn", "serverinfo", "serverlog",   ],  // Server Logging
+    [ "network", "netwarn", null, "networkinfo", ],  // Network
+    [ "csserror", "cssparser", null, null, ],  // CSS
+    [ "exception", "jswarn", null, "jslog", ],  // JS
+    [ "error", "warn", "info", "log", ],  // Web Developer
+    [ null, null, null, null, ],  // Input
+    [ null, null, null, null, ],  // Output
+    [ "secerror", "secwarn", null, null, ],  // Security
+    [ "servererror", "serverwarn", "serverinfo", "serverlog", ],  // Server Logging
   ],
 
   // The fragment of a CSS class name that identifies each category.
   CATEGORY_CLASS_FRAGMENTS: [ "network", "cssparser", "exception", "console",
                               "input", "output", "security", "server" ],
 
   // The fragment of a CSS class name that identifies each severity.
   SEVERITY_CLASS_FRAGMENTS: [ "error", "warn", "info", "log" ],
@@ -198,29 +198,29 @@ ConsoleOutput.prototype = {
 
   /**
    * Release an actor.
    *
    * @private
    * @param string actorId
    *        The actor ID you want to release.
    */
-  _releaseObject: function(actorId)
+  _releaseObject: function (actorId)
   {
     this.owner._releaseObject(actorId);
   },
 
   /**
    * Add a message to output.
    *
    * @param object ...args
    *        Any number of Message objects.
    * @return this
    */
-  addMessage: function(...args)
+  addMessage: function (...args)
   {
     for (let msg of args) {
       msg.init(this);
       this.owner.outputMessage(msg._categoryCompat, this._onFlushOutputMessage,
                                [msg]);
     }
     return this;
   },
@@ -234,32 +234,32 @@ ConsoleOutput.prototype = {
    * TODO: remove this method once bug 778766 is fixed.
    *
    * @private
    * @param object message
    *        The message object to render.
    * @return DOMElement
    *         The message DOM element that can be added to the console output.
    */
-  _onFlushOutputMessage: function(message)
+  _onFlushOutputMessage: function (message)
   {
     return message.render().element;
   },
 
   /**
    * Get an array of selected messages. This list is based on the text selection
    * start and end points.
    *
    * @param number [limit]
    *        Optional limit of selected messages you want. If no value is given,
    *        all of the selected messages are returned.
    * @return array
    *         Array of DOM elements for each message that is currently selected.
    */
-  getSelectedMessages: function(limit)
+  getSelectedMessages: function (limit)
   {
     let selection = this.window.getSelection();
     if (selection.isCollapsed) {
       return [];
     }
 
     if (selection.containsNode(this.element, true)) {
       return Array.slice(this.element.children);
@@ -295,80 +295,80 @@ ConsoleOutput.prototype = {
   /**
    * Find the DOM element of a message for any given descendant.
    *
    * @param DOMElement elem
    *        The element to start the search from.
    * @return DOMElement|null
    *         The DOM element of the message, if any.
    */
-  getMessageForElement: function(elem)
+  getMessageForElement: function (elem)
   {
     while (elem && elem.parentNode) {
       if (elem.classList && elem.classList.contains("message")) {
         return elem;
       }
       elem = elem.parentNode;
     }
     return null;
   },
 
   /**
    * Select all messages.
    */
-  selectAllMessages: function()
+  selectAllMessages: function ()
   {
     let selection = this.window.getSelection();
     selection.removeAllRanges();
     let range = this.document.createRange();
     range.selectNodeContents(this.element);
     selection.addRange(range);
   },
 
   /**
    * Add a message to the selection.
    *
    * @param DOMElement elem
    *        The message element to select.
    */
-  selectMessage: function(elem)
+  selectMessage: function (elem)
   {
     let selection = this.window.getSelection();
     selection.removeAllRanges();
     let range = this.document.createRange();
     range.selectNodeContents(elem);
     selection.addRange(range);
   },
 
   /**
    * Open an URL in a new tab.
    * @see WebConsole.openLink() in hudservice.js
    */
-  openLink: function()
+  openLink: function ()
   {
     this.owner.owner.openLink.apply(this.owner.owner, arguments);
   },
 
   openLocationInDebugger: function ({url, line}) {
     return this.owner.owner.viewSourceInDebugger(url, line);
   },
 
   /**
    * Open the variables view to inspect an object actor.
    * @see JSTerm.openVariablesView() in webconsole.js
    */
-  openVariablesView: function()
+  openVariablesView: function ()
   {
     this.owner.jsterm.openVariablesView.apply(this.owner.jsterm, arguments);
   },
 
   /**
    * Destroy this ConsoleOutput instance.
    */
-  destroy: function()
+  destroy: function ()
   {
     this._dummyElement = null;
     this.owner = null;
   },
 }; // ConsoleOutput.prototype
 
 /**
  * Message objects container.
@@ -377,17 +377,17 @@ ConsoleOutput.prototype = {
 var Messages = {};
 
 /**
  * The BaseMessage object is used for all types of messages. Every kind of
  * message should use this object as its base.
  *
  * @constructor
  */
-Messages.BaseMessage = function()
+Messages.BaseMessage = function ()
 {
   this.widgets = new Set();
   this._onClickAnchor = this._onClickAnchor.bind(this);
   this._repeatID = { uid: gSequenceId() };
   this.textContent = "";
 };
 
 Messages.BaseMessage.prototype = {
@@ -463,57 +463,57 @@ Messages.BaseMessage.prototype = {
    * Initialize the message.
    *
    * @param object output
    *        The ConsoleOutput owner.
    * @param object [parent=null]
    *        Optional: a different message object that owns this instance.
    * @return this
    */
-  init: function(output, parent=null)
+  init: function (output, parent = null)
   {
     this.output = output;
     this.parent = parent;
     return this;
   },
 
   /**
    * Non-unique ID for this message object used for tracking duplicate messages.
    * Different message kinds can identify themselves based their own criteria.
    *
    * @return string
    */
-  getRepeatID: function()
+  getRepeatID: function ()
   {
     return JSON.stringify(this._repeatID);
   },
 
   /**
    * Render the message. After this method is invoked the |element| property
    * will point to the DOM element of this message.
    * @return this
    */
-  render: function()
+  render: function ()
   {
     if (!this.element) {
       this.element = this._renderCompat();
     }
     return this;
   },
 
   /**
    * Prepare the message container for the Web Console, such that it is
    * compatible with the current implementation.
    * TODO: remove this once bug 778766 is fixed.
    *
    * @private
    * @return Element
    *         The DOM element that wraps the message.
    */
-  _renderCompat: function()
+  _renderCompat: function ()
   {
     let doc = this.output.document;
     let container = doc.createElementNS(XHTML_NS, "div");
     container.id = "console-msg-" + gSequenceId();
     container.className = "message";
     if (this.category == "input") {
       // Assistive technology tools shouldn't echo input to the user,
       // as the user knows what they've just typed.
@@ -536,17 +536,17 @@ Messages.BaseMessage.prototype = {
    *
    * @private
    * @param Element element
    *        The DOM element to which you want to add a click event handler.
    * @param function [callback=this._onClickAnchor]
    *        Optional click event handler. The default event handler is
    *        |this._onClickAnchor|.
    */
-  _addLinkCallback: function(element, callback = this._onClickAnchor)
+  _addLinkCallback: function (element, callback = this._onClickAnchor)
   {
     // This is going into the WebConsoleFrame object instance that owns
     // the ConsoleOutput object. The WebConsoleFrame owner is the WebConsole
     // object instance from hudservice.js.
     // TODO: move _addMessageLinkCallback() into ConsoleOutput once bug 778766
     // is fixed.
     this.output.owner._addMessageLinkCallback(element, callback);
   },
@@ -554,22 +554,22 @@ Messages.BaseMessage.prototype = {
   /**
    * The default |click| event handler for links in the output. This function
    * opens the anchor's link in a new tab.
    *
    * @private
    * @param Event event
    *        The DOM event that invoked this function.
    */
-  _onClickAnchor: function(event)
+  _onClickAnchor: function (event)
   {
     this.output.openLink(event.target.href);
   },
 
-  destroy: function()
+  destroy: function ()
   {
     // Destroy all widgets that have registered themselves in this.widgets
     for (let widget of this.widgets) {
       widget.destroy();
     }
     this.widgets.clear();
   }
 }; // Messages.BaseMessage.prototype
@@ -581,85 +581,85 @@ Messages.BaseMessage.prototype = {
  * @constructor
  * @extends Messages.BaseMessage
  * @param object response
  *        The response received from the back end.
  * @param number timestamp
  *        The message date and time, milliseconds elapsed since 1 January 1970
  *        00:00:00 UTC.
  */
-Messages.NavigationMarker = function(response, timestamp)
+Messages.NavigationMarker = function (response, timestamp)
 {
   Messages.BaseMessage.call(this);
 
   // Store the response packet received from the server. It might
   // be useful for extensions customizing the console output.
   this.response = response;
   this._url = response.url;
   this.textContent = "------ " + this._url;
   this.timestamp = timestamp;
 };
 
 Messages.NavigationMarker.prototype = Heritage.extend(Messages.BaseMessage.prototype,
-{
+  {
   /**
    * The address of the loading page.
    * @private
    * @type string
    */
-  _url: null,
+    _url: null,
 
   /**
    * Message timestamp.
    *
    * @type number
    *       Milliseconds elapsed since 1 January 1970 00:00:00 UTC.
    */
-  timestamp: 0,
-
-  _categoryCompat: COMPAT.CATEGORIES.NETWORK,
-  _severityCompat: COMPAT.SEVERITIES.LOG,
-  _categoryNameCompat: "network",
-  _severityNameCompat: "info",
-  _filterKeyCompat: "networkinfo",
+    timestamp: 0,
+
+    _categoryCompat: COMPAT.CATEGORIES.NETWORK,
+    _severityCompat: COMPAT.SEVERITIES.LOG,
+    _categoryNameCompat: "network",
+    _severityNameCompat: "info",
+    _filterKeyCompat: "networkinfo",
 
   /**
    * Prepare the DOM element for this message.
    * @return this
    */
-  render: function()
+    render: function ()
   {
-    if (this.element) {
+      if (this.element) {
+        return this;
+      }
+
+      let url = this._url;
+      let pos = url.indexOf("?");
+      if (pos > -1) {
+        url = url.substr(0, pos);
+      }
+
+      let doc = this.output.document;
+      let urlnode = doc.createElementNS(XHTML_NS, "a");
+      urlnode.className = "url";
+      urlnode.textContent = url;
+      urlnode.title = this._url;
+      urlnode.href = this._url;
+      urlnode.draggable = false;
+      this._addLinkCallback(urlnode);
+
+      let render = Messages.BaseMessage.prototype.render.bind(this);
+      render().element.appendChild(urlnode);
+      this.element.classList.add("navigation-marker");
+      this.element.url = this._url;
+      this.element.appendChild(doc.createTextNode("\n"));
+
       return this;
-    }
-
-    let url = this._url;
-    let pos = url.indexOf("?");
-    if (pos > -1) {
-      url = url.substr(0, pos);
-    }
-
-    let doc = this.output.document;
-    let urlnode = doc.createElementNS(XHTML_NS, "a");
-    urlnode.className = "url";
-    urlnode.textContent = url;
-    urlnode.title = this._url;
-    urlnode.href = this._url;
-    urlnode.draggable = false;
-    this._addLinkCallback(urlnode);
-
-    let render = Messages.BaseMessage.prototype.render.bind(this);
-    render().element.appendChild(urlnode);
-    this.element.classList.add("navigation-marker");
-    this.element.url = this._url;
-    this.element.appendChild(doc.createTextNode("\n"));
-
-    return this;
-  },
-}); // Messages.NavigationMarker.prototype
+    },
+  }); // Messages.NavigationMarker.prototype
 
 
 /**
  * The Simple message is used to show any basic message in the Web Console.
  *
  * @constructor
  * @extends Messages.BaseMessage
  * @param string|Node|function message
@@ -680,503 +680,503 @@ Messages.NavigationMarker.prototype = He
  *        and lineText.
  *        - stack: array that tells the message source stack.
  *        - className: (string) additional element class names for styling
  *        purposes.
  *        - private: (boolean) mark this as a private message.
  *        - filterDuplicates: (boolean) true if you do want this message to be
  *        filtered as a potential duplicate message, false otherwise.
  */
-Messages.Simple = function(message, options = {})
+Messages.Simple = function (message, options = {})
 {
   Messages.BaseMessage.call(this);
 
   this.category = options.category;
   this.severity = options.severity;
   this.location = options.location;
-  this.stack    = options.stack;
+  this.stack = options.stack;
   this.timestamp = options.timestamp || Date.now();
   this.prefix = options.prefix;
   this.private = !!options.private;
 
   this._message = message;
   this._className = options.className;
   this._link = options.link;
   this._linkCallback = options.linkCallback;
   this._filterDuplicates = options.filterDuplicates;
 
   this._onClickCollapsible = this._onClickCollapsible.bind(this);
 };
 
 Messages.Simple.prototype = Heritage.extend(Messages.BaseMessage.prototype,
-{
+  {
   /**
    * Message category.
    * @type string
    */
-  category: null,
+    category: null,
 
   /**
    * Message severity.
    * @type string
    */
-  severity: null,
+    severity: null,
 
   /**
    * Message source location. Properties: url, line, column, lineText.
    * @type object
    */
-  location: null,
+    location: null,
 
   /**
    * Holds the stackframes received from the server.
    *
    * @private
    * @type array
    */
-  stack: null,
+    stack: null,
 
   /**
    * Message prefix
    * @type string|null
    */
-  prefix: null,
+    prefix: null,
 
   /**
    * Tells if this message comes from a private browsing context.
    * @type boolean
    */
-  private: false,
+    private: false,
 
   /**
    * Custom class name for the DOM element of the message.
    * @private
    * @type string
    */
-  _className: null,
+    _className: null,
 
   /**
    * Message link - if this message is clicked then this URL opens in a new tab.
    * @private
    * @type string
    */
-  _link: null,
+    _link: null,
 
   /**
    * Message click event handler.
    * @private
    * @type function
    */
-  _linkCallback: null,
+    _linkCallback: null,
 
   /**
    * Tells if this message should be checked if it is a duplicate of another
    * message or not.
    */
-  _filterDuplicates: false,
+    _filterDuplicates: false,
 
   /**
    * The raw message displayed by this Message object. This can be a function,
    * DOM node or a string.
    *
    * @private
    * @type mixed
    */
-  _message: null,
-
-  _objectActors: null,
-  _groupDepthCompat: 0,
+    _message: null,
+
+    _objectActors: null,
+    _groupDepthCompat: 0,
 
   /**
    * Message timestamp.
    *
    * @type number
    *       Milliseconds elapsed since 1 January 1970 00:00:00 UTC.
    */
-  timestamp: 0,
-
-  get _categoryCompat() {
-    return this.category ?
+    timestamp: 0,
+
+    get _categoryCompat() {
+      return this.category ?
            COMPAT.CATEGORIES[this.category.toUpperCase()] : null;
-  },
-  get _severityCompat() {
-    return this.severity ?
+    },
+    get _severityCompat() {
+      return this.severity ?
            COMPAT.SEVERITIES[this.severity.toUpperCase()] : null;
-  },
-  get _categoryNameCompat() {
-    return this.category ?
+    },
+    get _categoryNameCompat() {
+      return this.category ?
            COMPAT.CATEGORY_CLASS_FRAGMENTS[this._categoryCompat] : null;
-  },
-  get _severityNameCompat() {
-    return this.severity ?
+    },
+    get _severityNameCompat() {
+      return this.severity ?
            COMPAT.SEVERITY_CLASS_FRAGMENTS[this._severityCompat] : null;
-  },
-
-  get _filterKeyCompat() {
-    return this._categoryCompat !== null && this._severityCompat !== null ?
+    },
+
+    get _filterKeyCompat() {
+      return this._categoryCompat !== null && this._severityCompat !== null ?
            COMPAT.PREFERENCE_KEYS[this._categoryCompat][this._severityCompat] :
            null;
-  },
-
-  init: function()
+    },
+
+    init: function ()
   {
-    Messages.BaseMessage.prototype.init.apply(this, arguments);
-    this._groupDepthCompat = this.output.owner.groupDepth;
-    this._initRepeatID();
-    return this;
-  },
+      Messages.BaseMessage.prototype.init.apply(this, arguments);
+      this._groupDepthCompat = this.output.owner.groupDepth;
+      this._initRepeatID();
+      return this;
+    },
 
   /**
    * Tells if the message can be expanded/collapsed.
    * @type boolean
    */
-  collapsible: false,
+    collapsible: false,
 
   /**
    * Getter that tells if this message is collapsed - no details are shown.
    * @type boolean
    */
-  get collapsed() {
-    return this.collapsible && this.element && !this.element.hasAttribute("open");
-  },
-
-  _initRepeatID: function()
+    get collapsed() {
+      return this.collapsible && this.element && !this.element.hasAttribute("open");
+    },
+
+    _initRepeatID: function ()
   {
-    if (!this._filterDuplicates) {
-      return;
-    }
+      if (!this._filterDuplicates) {
+        return;
+      }
 
     // Add the properties we care about for identifying duplicate messages.
-    let rid = this._repeatID;
-    delete rid.uid;
-
-    rid.category = this.category;
-    rid.severity = this.severity;
-    rid.prefix = this.prefix;
-    rid.private = this.private;
-    rid.location = this.location;
-    rid.link = this._link;
-    rid.linkCallback = this._linkCallback + "";
-    rid.className = this._className;
-    rid.groupDepth = this._groupDepthCompat;
-    rid.textContent = "";
-  },
-
-  getRepeatID: function()
+      let rid = this._repeatID;
+      delete rid.uid;
+
+      rid.category = this.category;
+      rid.severity = this.severity;
+      rid.prefix = this.prefix;
+      rid.private = this.private;
+      rid.location = this.location;
+      rid.link = this._link;
+      rid.linkCallback = this._linkCallback + "";
+      rid.className = this._className;
+      rid.groupDepth = this._groupDepthCompat;
+      rid.textContent = "";
+    },
+
+    getRepeatID: function ()
   {
     // No point in returning a string that includes other properties when there
     // is a unique ID.
-    if (this._repeatID.uid) {
-      return JSON.stringify({ uid: this._repeatID.uid });
-    }
-
-    return JSON.stringify(this._repeatID);
-  },
-
-  render: function()
+      if (this._repeatID.uid) {
+        return JSON.stringify({ uid: this._repeatID.uid });
+      }
+
+      return JSON.stringify(this._repeatID);
+    },
+
+    render: function ()
   {
-    if (this.element) {
-      return this;
-    }
-
-    let timestamp = new Widgets.MessageTimestamp(this, this.timestamp).render();
-
-    let icon = this.document.createElementNS(XHTML_NS, "span");
-    icon.className = "icon";
-    icon.title = l10n.getStr("severity." + this._severityNameCompat);
-    if (this.stack) {
-      icon.addEventListener("click", this._onClickCollapsible);
-    }
-
-    let prefixNode;
-    if (this.prefix) {
-      prefixNode = this.document.createElementNS(XHTML_NS, "span");
-      prefixNode.className = "prefix devtools-monospace";
-      prefixNode.textContent = this.prefix + ":";
-    }
+      if (this.element) {
+        return this;
+      }
+
+      let timestamp = new Widgets.MessageTimestamp(this, this.timestamp).render();
+
+      let icon = this.document.createElementNS(XHTML_NS, "span");
+      icon.className = "icon";
+      icon.title = l10n.getStr("severity." + this._severityNameCompat);
+      if (this.stack) {
+        icon.addEventListener("click", this._onClickCollapsible);
+      }
+
+      let prefixNode;
+      if (this.prefix) {
+        prefixNode = this.document.createElementNS(XHTML_NS, "span");
+        prefixNode.className = "prefix devtools-monospace";
+        prefixNode.textContent = this.prefix + ":";
+      }
 
     // Apply the current group by indenting appropriately.
     // TODO: remove this once bug 778766 is fixed.
-    let indent = this._groupDepthCompat * COMPAT.GROUP_INDENT;
-    let indentNode = this.document.createElementNS(XHTML_NS, "span");
-    indentNode.className = "indent";
-    indentNode.style.width = indent + "px";
-
-    let body = this._renderBody();
-    this._repeatID.textContent += "|" + body.textContent;
-
-    let repeatNode = this._renderRepeatNode();
-    let location = this._renderLocation();
-
-    Messages.BaseMessage.prototype.render.call(this);
-    if (this._className) {
-      this.element.className += " " + this._className;
-    }
-
-    this.element.appendChild(timestamp.element);
-    this.element.appendChild(indentNode);
-    this.element.appendChild(icon);
-    if (prefixNode) {
-      this.element.appendChild(prefixNode);
-    }
-
-    if (this.stack) {
-      let twisty = this.document.createElementNS(XHTML_NS, "a");
-      twisty.className = "theme-twisty";
-      twisty.href = "#";
-      twisty.title = l10n.getStr("messageToggleDetails");
-      twisty.addEventListener("click", this._onClickCollapsible);
-      this.element.appendChild(twisty);
-      this.collapsible = true;
-      this.element.setAttribute("collapsible", true);
-    }
-
-    this.element.appendChild(body);
-    if (repeatNode) {
-      this.element.appendChild(repeatNode);
-    }
-    if (location) {
-      this.element.appendChild(location);
-    }
-
-    this.element.appendChild(this.document.createTextNode("\n"));
-
-    this.element.clipboardText = this.element.textContent;
-
-    if (this.private) {
-      this.element.setAttribute("private", true);
-    }
+      let indent = this._groupDepthCompat * COMPAT.GROUP_INDENT;
+      let indentNode = this.document.createElementNS(XHTML_NS, "span");
+      indentNode.className = "indent";
+      indentNode.style.width = indent + "px";
+
+      let body = this._renderBody();
+      this._repeatID.textContent += "|" + body.textContent;
+
+      let repeatNode = this._renderRepeatNode();
+      let location = this._renderLocation();
+
+      Messages.BaseMessage.prototype.render.call(this);
+      if (this._className) {
+        this.element.className += " " + this._className;
+      }
+
+      this.element.appendChild(timestamp.element);
+      this.element.appendChild(indentNode);
+      this.element.appendChild(icon);
+      if (prefixNode) {
+        this.element.appendChild(prefixNode);
+      }
+
+      if (this.stack) {
+        let twisty = this.document.createElementNS(XHTML_NS, "a");
+        twisty.className = "theme-twisty";
+        twisty.href = "#";
+        twisty.title = l10n.getStr("messageToggleDetails");
+        twisty.addEventListener("click", this._onClickCollapsible);
+        this.element.appendChild(twisty);
+        this.collapsible = true;
+        this.element.setAttribute("collapsible", true);
+      }
+
+      this.element.appendChild(body);
+      if (repeatNode) {
+        this.element.appendChild(repeatNode);
+      }
+      if (location) {
+        this.element.appendChild(location);
+      }
+
+      this.element.appendChild(this.document.createTextNode("\n"));
+
+      this.element.clipboardText = this.element.textContent;
+
+      if (this.private) {
+        this.element.setAttribute("private", true);
+      }
 
     // TODO: handle object releasing in a more elegant way once all console
     // messages use the new API - bug 778766.
-    this.element._objectActors = this._objectActors;
-    this._objectActors = null;
-
-    return this;
-  },
+      this.element._objectActors = this._objectActors;
+      this._objectActors = null;
+
+      return this;
+    },
 
   /**
    * Render the message body DOM element.
    * @private
    * @return Element
    */
-  _renderBody: function()
+    _renderBody: function ()
   {
-    let body = this.document.createElementNS(XHTML_NS, "span");
-    body.className = "message-body-wrapper message-body devtools-monospace";
-
-    let bodyInner = this.document.createElementNS(XHTML_NS, "span");
-    body.appendChild(bodyInner);
-
-    let anchor, container = bodyInner;
-    if (this._link || this._linkCallback) {
-      container = anchor = this.document.createElementNS(XHTML_NS, "a");
-      anchor.href = this._link || "#";
-      anchor.draggable = false;
-      this._addLinkCallback(anchor, this._linkCallback);
-      bodyInner.appendChild(anchor);
-    }
-
-    if (typeof this._message == "function") {
-      container.appendChild(this._message(this));
-    } else if (this._message instanceof Ci.nsIDOMNode) {
-      container.appendChild(this._message);
-    } else {
-      container.textContent = this._message;
-    }
-
-    if (this.stack) {
-      let stack = new Widgets.Stacktrace(this, this.stack).render().element;
-      body.appendChild(this.document.createTextNode("\n"));
-      body.appendChild(stack);
-    }
-
-    return body;
-  },
+      let body = this.document.createElementNS(XHTML_NS, "span");
+      body.className = "message-body-wrapper message-body devtools-monospace";
+
+      let bodyInner = this.document.createElementNS(XHTML_NS, "span");
+      body.appendChild(bodyInner);
+
+      let anchor, container = bodyInner;
+      if (this._link || this._linkCallback) {
+        container = anchor = this.document.createElementNS(XHTML_NS, "a");
+        anchor.href = this._link || "#";
+        anchor.draggable = false;
+        this._addLinkCallback(anchor, this._linkCallback);
+        bodyInner.appendChild(anchor);
+      }
+
+      if (typeof this._message == "function") {
+        container.appendChild(this._message(this));
+      } else if (this._message instanceof Ci.nsIDOMNode) {
+        container.appendChild(this._message);
+      } else {
+        container.textContent = this._message;
+      }
+
+      if (this.stack) {
+        let stack = new Widgets.Stacktrace(this, this.stack).render().element;
+        body.appendChild(this.document.createTextNode("\n"));
+        body.appendChild(stack);
+      }
+
+      return body;
+    },
 
   /**
    * Render the repeat bubble DOM element part of the message.
    * @private
    * @return Element
    */
-  _renderRepeatNode: function()
+    _renderRepeatNode: function ()
   {
-    if (!this._filterDuplicates) {
-      return null;
-    }
-
-    let repeatNode = this.document.createElementNS(XHTML_NS, "span");
-    repeatNode.setAttribute("value", "1");
-    repeatNode.className = "message-repeats";
-    repeatNode.textContent = 1;
-    repeatNode._uid = this.getRepeatID();
-    return repeatNode;
-  },
+      if (!this._filterDuplicates) {
+        return null;
+      }
+
+      let repeatNode = this.document.createElementNS(XHTML_NS, "span");
+      repeatNode.setAttribute("value", "1");
+      repeatNode.className = "message-repeats";
+      repeatNode.textContent = 1;
+      repeatNode._uid = this.getRepeatID();
+      return repeatNode;
+    },
 
   /**
    * Render the message source location DOM element.
    * @private
    * @return Element
    */
-  _renderLocation: function()
+    _renderLocation: function ()
   {
-    if (!this.location) {
-      return null;
-    }
-
-    let {url, line, column} = this.location;
-    if (IGNORED_SOURCE_URLS.indexOf(url) != -1) {
-      return null;
-    }
+      if (!this.location) {
+        return null;
+      }
+
+      let {url, line, column} = this.location;
+      if (IGNORED_SOURCE_URLS.indexOf(url) != -1) {
+        return null;
+      }
 
     // The ConsoleOutput owner is a WebConsoleFrame instance from webconsole.js.
     // TODO: move createLocationNode() into this file when bug 778766 is fixed.
-    return this.output.owner.createLocationNode({url: url,
+      return this.output.owner.createLocationNode({url: url,
                                                  line: line,
                                                  column: column});
-  },
+    },
 
   /**
    * The click event handler for the message expander arrow element. This method
    * toggles the display of message details.
    *
    * @private
    * @param nsIDOMEvent ev
    *        The DOM event object.
    * @see this.toggleDetails()
    */
-  _onClickCollapsible: function(ev)
+    _onClickCollapsible: function (ev)
   {
-    ev.preventDefault();
-    this.toggleDetails();
-  },
+      ev.preventDefault();
+      this.toggleDetails();
+    },
 
   /**
    * Expand/collapse message details.
    */
-  toggleDetails: function()
+    toggleDetails: function ()
   {
-    let twisty = this.element.querySelector(".theme-twisty");
-    if (this.element.hasAttribute("open")) {
-      this.element.removeAttribute("open");
-      twisty.removeAttribute("open");
-    } else {
-      this.element.setAttribute("open", true);
-      twisty.setAttribute("open", true);
-    }
-  },
-}); // Messages.Simple.prototype
+      let twisty = this.element.querySelector(".theme-twisty");
+      if (this.element.hasAttribute("open")) {
+        this.element.removeAttribute("open");
+        twisty.removeAttribute("open");
+      } else {
+        this.element.setAttribute("open", true);
+        twisty.setAttribute("open", true);
+      }
+    },
+  }); // Messages.Simple.prototype
 
 
 /**
  * The Extended message.
  *
  * @constructor
  * @extends Messages.Simple
  * @param array messagePieces
  *        The message to display given as an array of elements. Each array
  *        element can be a DOM node, function, ObjectActor, LongString or
  *        a string.
  * @param object [options]
  *        Options for rendering this message:
  *        - quoteStrings: boolean that tells if you want strings to be wrapped
  *        in quotes or not.
  */
-Messages.Extended = function(messagePieces, options = {})
+Messages.Extended = function (messagePieces, options = {})
 {
   Messages.Simple.call(this, null, options);
 
   this._messagePieces = messagePieces;
 
   if ("quoteStrings" in options) {
     this._quoteStrings = options.quoteStrings;
   }
 
   this._repeatID.quoteStrings = this._quoteStrings;
   this._repeatID.messagePieces = JSON.stringify(messagePieces);
   this._repeatID.actors = new Set(); // using a set to avoid duplicates
 };
 
 Messages.Extended.prototype = Heritage.extend(Messages.Simple.prototype,
-{
+  {
   /**
    * The message pieces displayed by this message instance.
    * @private
    * @type array
    */
-  _messagePieces: null,
+    _messagePieces: null,
 
   /**
    * Boolean that tells if the strings displayed in this message are wrapped.
    * @private
    * @type boolean
    */
-  _quoteStrings: true,
-
-  getRepeatID: function()
+    _quoteStrings: true,
+
+    getRepeatID: function ()
   {
-    if (this._repeatID.uid) {
-      return JSON.stringify({ uid: this._repeatID.uid });
-    }
+      if (this._repeatID.uid) {
+        return JSON.stringify({ uid: this._repeatID.uid });
+      }
 
     // Sets are not stringified correctly. Temporarily switching to an array.
-    let actors = this._repeatID.actors;
-    this._repeatID.actors = [...actors];
-    let result = JSON.stringify(this._repeatID);
-    this._repeatID.actors = actors;
-    return result;
-  },
-
-  render: function()
+      let actors = this._repeatID.actors;
+      this._repeatID.actors = [...actors];
+      let result = JSON.stringify(this._repeatID);
+      this._repeatID.actors = actors;
+      return result;
+    },
+
+    render: function ()
   {
-    let result = this.document.createDocumentFragment();
-
-    for (let i = 0; i < this._messagePieces.length; i++) {
-      let separator = i > 0 ? this._renderBodyPieceSeparator() : null;
-      if (separator) {
-        result.appendChild(separator);
+      let result = this.document.createDocumentFragment();
+
+      for (let i = 0; i < this._messagePieces.length; i++) {
+        let separator = i > 0 ? this._renderBodyPieceSeparator() : null;
+        if (separator) {
+          result.appendChild(separator);
+        }
+
+        let piece = this._messagePieces[i];
+        result.appendChild(this._renderBodyPiece(piece));
       }
 
-      let piece = this._messagePieces[i];
-      result.appendChild(this._renderBodyPiece(piece));
-    }
-
-    this._message = result;
-    this._messagePieces = null;
-    return Messages.Simple.prototype.render.call(this);
-  },
+      this._message = result;
+      this._messagePieces = null;
+      return Messages.Simple.prototype.render.call(this);
+    },
 
   /**
    * Render the separator between the pieces of the message.
    *
    * @private
    * @return Element
    */
-  _renderBodyPieceSeparator: function() { return null; },
+    _renderBodyPieceSeparator: function () { return null; },
 
   /**
    * Render one piece/element of the message array.
    *
    * @private
    * @param mixed piece
    *        Message element to display - this can be a LongString, ObjectActor,
    *        DOM node or a function to invoke.
    * @return Element
    */
-  _renderBodyPiece: function(piece, options = {})
+    _renderBodyPiece: function (piece, options = {})
   {
-    if (piece instanceof Ci.nsIDOMNode) {
-      return piece;
-    }
-    if (typeof piece == "function") {
-      return piece(this);
-    }
-
-    return this._renderValueGrip(piece, options);
-  },
+      if (piece instanceof Ci.nsIDOMNode) {
+        return piece;
+      }
+      if (typeof piece == "function") {
+        return piece(this);
+      }
+
+      return this._renderValueGrip(piece, options);
+    },
 
   /**
    * Render a grip that represents a value received from the server. This method
    * picks the appropriate widget to render the value with.
    *
    * @private
    * @param object grip
    *        The value grip received from the server.
@@ -1188,177 +1188,177 @@ Messages.Extended.prototype = Heritage.e
    *        grip. This is typically set to true when the object needs to be
    *        displayed in an array preview, or as a property value in object
    *        previews, etc.
    *        - shorten - boolean that tells the renderer to display a truncated
    *        grip.
    * @return DOMElement
    *         The DOM element that displays the given grip.
    */
-  _renderValueGrip: function(grip, options = {})
+    _renderValueGrip: function (grip, options = {})
   {
-    let isPrimitive = VariablesView.isPrimitive({ value: grip });
-    let isActorGrip = WebConsoleUtils.isActorGrip(grip);
-    let noStringQuotes = !this._quoteStrings;
-    if ("noStringQuotes" in options) {
-      noStringQuotes = options.noStringQuotes;
-    }
-
-    if (isActorGrip) {
-      this._repeatID.actors.add(grip.actor);
-
-      if (!isPrimitive) {
-        return this._renderObjectActor(grip, options);
+      let isPrimitive = VariablesView.isPrimitive({ value: grip });
+      let isActorGrip = WebConsoleUtils.isActorGrip(grip);
+      let noStringQuotes = !this._quoteStrings;
+      if ("noStringQuotes" in options) {
+        noStringQuotes = options.noStringQuotes;
       }
-      if (grip.type == "longString") {
-        let widget = new Widgets.LongString(this, grip, options).render();
-        return widget.element;
+
+      if (isActorGrip) {
+        this._repeatID.actors.add(grip.actor);
+
+        if (!isPrimitive) {
+          return this._renderObjectActor(grip, options);
+        }
+        if (grip.type == "longString") {
+          let widget = new Widgets.LongString(this, grip, options).render();
+          return widget.element;
+        }
       }
-    }
-
-    let unshortenedGrip = grip;
-    if (options.shorten) {
-      grip = this.shortenValueGrip(grip)
-    }
-
-    let result = this.document.createElementNS(XHTML_NS, "span");
-    if (isPrimitive) {
-      if (Widgets.URLString.prototype.containsURL.call(Widgets.URLString.prototype, grip)) {
-        let widget = new Widgets.URLString(this, grip, unshortenedGrip).render();
-        return widget.element;
+
+      let unshortenedGrip = grip;
+      if (options.shorten) {
+        grip = this.shortenValueGrip(grip);
       }
 
-      let className = this.getClassNameForValueGrip(grip);
-      if (className) {
-        result.className = className;
+      let result = this.document.createElementNS(XHTML_NS, "span");
+      if (isPrimitive) {
+        if (Widgets.URLString.prototype.containsURL.call(Widgets.URLString.prototype, grip)) {
+          let widget = new Widgets.URLString(this, grip, unshortenedGrip).render();
+          return widget.element;
+        }
+
+        let className = this.getClassNameForValueGrip(grip);
+        if (className) {
+          result.className = className;
+        }
+
+        result.textContent = VariablesView.getString(grip, {
+          noStringQuotes: noStringQuotes,
+          concise: options.concise,
+        });
+      } else {
+        result.textContent = grip;
       }
 
-      result.textContent = VariablesView.getString(grip, {
-        noStringQuotes: noStringQuotes,
-        concise: options.concise,
-      });
-    } else {
-      result.textContent = grip;
-    }
-
-    return result;
-  },
+      return result;
+    },
 
   /**
    * Shorten grips of the type string, leaves other grips unmodified.
    *
    * @param object grip
    *        Value grip from the server.
    * @return object
    *        Possible values of object:
    *        - A shortened string, if original grip was of string type.
    *        - The unmodified input grip, if it wasn't of string type.
    */
-  shortenValueGrip: function(grip)
+    shortenValueGrip: function (grip)
   {
-    let shortVal = grip;
-    if (typeof(grip)=="string") {
-      shortVal = grip.replace(/(\r\n|\n|\r)/gm," ");
-      if (shortVal.length > MAX_STRING_GRIP_LENGTH) {
-        shortVal = shortVal.substring(0,MAX_STRING_GRIP_LENGTH - 1) + ELLIPSIS;
+      let shortVal = grip;
+      if (typeof (grip) == "string") {
+        shortVal = grip.replace(/(\r\n|\n|\r)/gm, " ");
+        if (shortVal.length > MAX_STRING_GRIP_LENGTH) {
+          shortVal = shortVal.substring(0, MAX_STRING_GRIP_LENGTH - 1) + ELLIPSIS;
+        }
       }
-    }
-
-    return shortVal;
-  },
+
+      return shortVal;
+    },
 
   /**
    * Get a CodeMirror-compatible class name for a given value grip.
    *
    * @param object grip
    *        Value grip from the server.
    * @return string
    *         The class name for the grip.
    */
-  getClassNameForValueGrip: function(grip)
+    getClassNameForValueGrip: function (grip)
   {
-    let map = {
-      "number": "cm-number",
-      "longstring": "console-string",
-      "string": "console-string",
-      "regexp": "cm-string-2",
-      "boolean": "cm-atom",
-      "-infinity": "cm-atom",
-      "infinity": "cm-atom",
-      "null": "cm-atom",
-      "undefined": "cm-comment",
-      "symbol": "cm-atom"
-    };
-
-    let className = map[typeof grip];
-    if (!className && grip && grip.type) {
-      className = map[grip.type.toLowerCase()];
-    }
-    if (!className && grip && grip.class) {
-      className = map[grip.class.toLowerCase()];
-    }
-
-    return className;
-  },
+      let map = {
+        "number": "cm-number",
+        "longstring": "console-string",
+        "string": "console-string",
+        "regexp": "cm-string-2",
+        "boolean": "cm-atom",
+        "-infinity": "cm-atom",
+        "infinity": "cm-atom",
+        "null": "cm-atom",
+        "undefined": "cm-comment",
+        "symbol": "cm-atom"
+      };
+
+      let className = map[typeof grip];
+      if (!className && grip && grip.type) {
+        className = map[grip.type.toLowerCase()];
+      }
+      if (!className && grip && grip.class) {
+        className = map[grip.class.toLowerCase()];
+      }
+
+      return className;
+    },
 
   /**
    * Display an object actor with the appropriate renderer.
    *
    * @private
    * @param object objectActor
    *        The ObjectActor to display.
    * @param object options
    *        Options to use for displaying the ObjectActor.
    * @see this._renderValueGrip for the available options.
    * @return DOMElement
    *         The DOM element that displays the object actor.
    */
-  _renderObjectActor: function(objectActor, options = {})
+    _renderObjectActor: function (objectActor, options = {})
   {
-    let widget = Widgets.ObjectRenderers.byClass[objectActor.class];
-
-    let { preview } = objectActor;
-    if ((!widget || (widget.canRender && !widget.canRender(objectActor)))
+      let widget = Widgets.ObjectRenderers.byClass[objectActor.class];
+
+      let { preview } = objectActor;
+      if ((!widget || (widget.canRender && !widget.canRender(objectActor)))
         && preview
         && preview.kind) {
-      widget = Widgets.ObjectRenderers.byKind[preview.kind];
-    }
-
-    if (!widget || (widget.canRender && !widget.canRender(objectActor))) {
-      widget = Widgets.JSObject;
-    }
-
-    let instance = new widget(this, objectActor, options).render();
-    return instance.element;
-  },
-}); // Messages.Extended.prototype
+        widget = Widgets.ObjectRenderers.byKind[preview.kind];
+      }
+
+      if (!widget || (widget.canRender && !widget.canRender(objectActor))) {
+        widget = Widgets.JSObject;
+      }
+
+      let instance = new widget(this, objectActor, options).render();
+      return instance.element;
+    },
+  }); // Messages.Extended.prototype
 
 
 
 /**
  * The JavaScriptEvalOutput message.
  *
  * @constructor
  * @extends Messages.Extended
  * @param object evalResponse
  *        The evaluation response packet received from the server.
  * @param string [errorMessage]
  *        Optional error message to display.
  * @param string [errorDocLink]
  * Optional error doc URL to link to.
  */
-Messages.JavaScriptEvalOutput = function(evalResponse, errorMessage, errorDocLink)
+Messages.JavaScriptEvalOutput = function (evalResponse, errorMessage, errorDocLink)
 {
   let severity = "log", msg, quoteStrings = true;
 
   // Store also the response packet from the back end. It might
   // be useful to extensions customizing the console output.
   this.response = evalResponse;
 
-  if (typeof(errorMessage) !== "undefined") {
+  if (typeof (errorMessage) !== "undefined") {
     severity = "error";
     msg = errorMessage;
     quoteStrings = false;
   } else {
     msg = evalResponse.result;
   }
 
   let options = {
@@ -1382,17 +1382,17 @@ Messages.JavaScriptEvalOutput.prototype 
 /**
  * The ConsoleGeneric message is used for console API calls.
  *
  * @constructor
  * @extends Messages.Extended
  * @param object packet
  *        The Console API call packet received from the server.
  */
-Messages.ConsoleGeneric = function(packet)
+Messages.ConsoleGeneric = function (packet)
 {
   let options = {
     className: "cm-s-mozilla",
     timestamp: packet.timeStamp,
     category: packet.category || "webdev",
     severity: CONSOLE_API_LEVELS_TO_SEVERITIES[packet.level],
     prefix: packet.prefix,
     private: packet.private,
@@ -1405,189 +1405,189 @@ Messages.ConsoleGeneric = function(packe
   };
 
   switch (packet.level) {
     case "count": {
       let counter = packet.counter, label = counter.label;
       if (!label) {
         label = l10n.getStr("noCounterLabel");
       }
-      Messages.Extended.call(this, [label+ ": " + counter.count], options);
+      Messages.Extended.call(this, [label + ": " + counter.count], options);
       break;
     }
     default:
       Messages.Extended.call(this, packet.arguments, options);
       break;
   }
 
   this._repeatID.consoleApiLevel = packet.level;
   this._repeatID.styles = packet.styles;
   this.stack = this._repeatID.stacktrace = packet.stacktrace;
   this._styles = packet.styles || [];
 };
 
 Messages.ConsoleGeneric.prototype = Heritage.extend(Messages.Extended.prototype,
-{
-  _styles: null,
-
-  _renderBodyPieceSeparator: function()
+  {
+    _styles: null,
+
+    _renderBodyPieceSeparator: function ()
   {
-    return this.document.createTextNode(" ");
-  },
-
-  render: function()
+      return this.document.createTextNode(" ");
+    },
+
+    render: function ()
   {
-    let msg = this.document.createElementNS(XHTML_NS, "span");
-    msg.className = "message-body devtools-monospace";
-
-    this._renderBodyPieces(msg);
-
-    let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
-    let location = Messages.Simple.prototype._renderLocation.call(this);
-    if (location) {
-      location.target = "jsdebugger";
-    }
-
-    let flex = this.document.createElementNS(XHTML_NS, "span");
-    flex.className = "message-flex-body";
-
-    flex.appendChild(msg);
-
-    if (repeatNode) {
-      flex.appendChild(repeatNode);
-    }
-    if (location) {
-      flex.appendChild(location);
-    }
-
-    let result = this.document.createDocumentFragment();
-    result.appendChild(flex);
-
-    this._message = result;
-    this._stacktrace = null;
-
-    Messages.Simple.prototype.render.call(this);
-
-    return this;
-  },
-
-  _renderBody: function()
+      let msg = this.document.createElementNS(XHTML_NS, "span");
+      msg.className = "message-body devtools-monospace";
+
+      this._renderBodyPieces(msg);
+
+      let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
+      let location = Messages.Simple.prototype._renderLocation.call(this);
+      if (location) {
+        location.target = "jsdebugger";
+      }
+
+      let flex = this.document.createElementNS(XHTML_NS, "span");
+      flex.className = "message-flex-body";
+
+      flex.appendChild(msg);
+
+      if (repeatNode) {
+        flex.appendChild(repeatNode);
+      }
+      if (location) {
+        flex.appendChild(location);
+      }
+
+      let result = this.document.createDocumentFragment();
+      result.appendChild(flex);
+
+      this._message = result;
+      this._stacktrace = null;
+
+      Messages.Simple.prototype.render.call(this);
+
+      return this;
+    },
+
+    _renderBody: function ()
   {
-    let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
-    body.classList.remove("devtools-monospace", "message-body");
-    return body;
-  },
-
-  _renderBodyPieces: function(container)
+      let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
+      body.classList.remove("devtools-monospace", "message-body");
+      return body;
+    },
+
+    _renderBodyPieces: function (container)
   {
-    let lastStyle = null;
-    let stylePieces = this._styles.length > 0 ? this._styles.length : 1;
-
-    for (let i = 0; i < this._messagePieces.length; i++) {
+      let lastStyle = null;
+      let stylePieces = this._styles.length > 0 ? this._styles.length : 1;
+
+      for (let i = 0; i < this._messagePieces.length; i++) {
       // Pieces with an associated style definition come from "%c" formatting.
       // For body pieces beyond that, add a separator before each one.
-      if (i >= stylePieces) {
-        container.appendChild(this._renderBodyPieceSeparator());
-      }
-
-      let piece = this._messagePieces[i];
-      let style = this._styles[i];
+        if (i >= stylePieces) {
+          container.appendChild(this._renderBodyPieceSeparator());
+        }
+
+        let piece = this._messagePieces[i];
+        let style = this._styles[i];
 
       // No long string support.
-      lastStyle = (style && typeof style == "string") ?
+        lastStyle = (style && typeof style == "string") ?
                   this.cleanupStyle(style) : null;
 
-      container.appendChild(this._renderBodyPiece(piece, lastStyle));
-    }
-
-    this._messagePieces = null;
-    this._styles = null;
-  },
-
-  _renderBodyPiece: function(piece, style)
+        container.appendChild(this._renderBodyPiece(piece, lastStyle));
+      }
+
+      this._messagePieces = null;
+      this._styles = null;
+    },
+
+    _renderBodyPiece: function (piece, style)
   {
     // Skip quotes for top-level strings.
-    let options = { noStringQuotes: true };
-    let elem = Messages.Extended.prototype._renderBodyPiece.call(this, piece, options);
-    let result = elem;
-
-    if (style) {
-      if (elem.nodeType == Ci.nsIDOMNode.ELEMENT_NODE) {
-        elem.style = style;
-      } else {
-        let span = this.document.createElementNS(XHTML_NS, "span");
-        span.style = style;
-        span.appendChild(elem);
-        result = span;
+      let options = { noStringQuotes: true };
+      let elem = Messages.Extended.prototype._renderBodyPiece.call(this, piece, options);
+      let result = elem;
+
+      if (style) {
+        if (elem.nodeType == Ci.nsIDOMNode.ELEMENT_NODE) {
+          elem.style = style;
+        } else {
+          let span = this.document.createElementNS(XHTML_NS, "span");
+          span.style = style;
+          span.appendChild(elem);
+          result = span;
+        }
       }
-    }
-
-    return result;
-  },
+
+      return result;
+    },
 
   // no-op for the message location and .repeats elements.
   // |this.render()| handles customized message output.
-  _renderLocation: function() { },
-  _renderRepeatNode: function() { },
+    _renderLocation: function () { },
+    _renderRepeatNode: function () { },
 
   /**
    * Given a style attribute value, return a cleaned up version of the string
    * such that:
    *
    * - no external URL is allowed to load. See RE_CLEANUP_STYLES.
    * - only some of the properties are allowed, based on a whitelist. See
    *   RE_ALLOWED_STYLES.
    *
    * @param string style
    *        The style string to cleanup.
    * @return string
    *         The style value after cleanup.
    */
-  cleanupStyle: function(style)
+    cleanupStyle: function (style)
   {
-    for (let r of RE_CLEANUP_STYLES) {
-      style = style.replace(r, "notallowed");
-    }
-
-    let dummy = this.output._dummyElement;
-    if (!dummy) {
-      dummy = this.output._dummyElement =
+      for (let r of RE_CLEANUP_STYLES) {
+        style = style.replace(r, "notallowed");
+      }
+
+      let dummy = this.output._dummyElement;
+      if (!dummy) {
+        dummy = this.output._dummyElement =
         this.document.createElementNS(XHTML_NS, "div");
-    }
-    dummy.style = style;
-
-    let toRemove = [];
-    for (let i = 0; i < dummy.style.length; i++) {
-      let prop = dummy.style[i];
-      if (!RE_ALLOWED_STYLES.test(prop)) {
-        toRemove.push(prop);
+      }
+      dummy.style = style;
+
+      let toRemove = [];
+      for (let i = 0; i < dummy.style.length; i++) {
+        let prop = dummy.style[i];
+        if (!RE_ALLOWED_STYLES.test(prop)) {
+          toRemove.push(prop);
+        }
       }
-    }
-
-    for (let prop of toRemove) {
-      dummy.style.removeProperty(prop);
-    }
-
-    style = dummy.style.cssText;
-
-    dummy.style = "";
-
-    return style;
-  },
-}); // Messages.ConsoleGeneric.prototype
+
+      for (let prop of toRemove) {
+        dummy.style.removeProperty(prop);
+      }
+
+      style = dummy.style.cssText;
+
+      dummy.style = "";
+
+      return style;
+    },
+  }); // Messages.ConsoleGeneric.prototype
 
 /**
  * The ConsoleTrace message is used for console.trace() calls.
  *
  * @constructor
  * @extends Messages.Simple
  * @param object packet
  *        The Console API call packet received from the server.
  */
-Messages.ConsoleTrace = function(packet)
+Messages.ConsoleTrace = function (packet)
 {
   let options = {
     className: "cm-s-mozilla",
     timestamp: packet.timeStamp,
     category: packet.category || "webdev",
     severity: CONSOLE_API_LEVELS_TO_SEVERITIES[packet.level],
     private: packet.private,
     filterDuplicates: true,
@@ -1601,130 +1601,130 @@ Messages.ConsoleTrace = function(packet)
   Messages.Simple.call(this, this._renderStack, options);
 
   this._repeatID.consoleApiLevel = packet.level;
   this._stacktrace = this._repeatID.stacktrace = packet.stacktrace;
   this._arguments = packet.arguments;
 };
 
 Messages.ConsoleTrace.prototype = Heritage.extend(Messages.Simple.prototype,
-{
+  {
   /**
    * Holds the stackframes received from the server.
    *
    * @private
    * @type array
    */
-  _stacktrace: null,
+    _stacktrace: null,
 
   /**
    * Holds the arguments the content script passed to the console.trace()
    * method. This array is cleared when the message is initialized, and
    * associated actors are released.
    *
    * @private
    * @type array
    */
-  _arguments: null,
-
-  init: function()
+    _arguments: null,
+
+    init: function ()
   {
-    let result = Messages.Simple.prototype.init.apply(this, arguments);
+      let result = Messages.Simple.prototype.init.apply(this, arguments);
 
     // We ignore console.trace() arguments. Release object actors.
-    if (Array.isArray(this._arguments)) {
-      for (let arg of this._arguments) {
-        if (WebConsoleUtils.isActorGrip(arg)) {
-          this.output._releaseObject(arg.actor);
+      if (Array.isArray(this._arguments)) {
+        for (let arg of this._arguments) {
+          if (WebConsoleUtils.isActorGrip(arg)) {
+            this.output._releaseObject(arg.actor);
+          }
         }
       }
-    }
-    this._arguments = null;
-
-    return result;
-  },
-
-  render: function()
+      this._arguments = null;
+
+      return result;
+    },
+
+    render: function ()
   {
-    Messages.Simple.prototype.render.apply(this, arguments);
-    this.element.setAttribute("open", true);
-    return this;
-  },
+      Messages.Simple.prototype.render.apply(this, arguments);
+      this.element.setAttribute("open", true);
+      return this;
+    },
 
   /**
    * Render the stack frames.
    *
    * @private
    * @return DOMElement
    */
-  _renderStack: function()
+    _renderStack: function ()
   {
-    let cmvar = this.document.createElementNS(XHTML_NS, "span");
-    cmvar.className = "cm-variable";
-    cmvar.textContent = "console";
-
-    let cmprop = this.document.createElementNS(XHTML_NS, "span");
-    cmprop.className = "cm-property";
-    cmprop.textContent = "trace";
-
-    let title = this.document.createElementNS(XHTML_NS, "span");
-    title.className = "message-body devtools-monospace";
-    title.appendChild(cmvar);
-    title.appendChild(this.document.createTextNode("."));
-    title.appendChild(cmprop);
-    title.appendChild(this.document.createTextNode("():"));
-
-    let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
-    let location = Messages.Simple.prototype._renderLocation.call(this);
-    if (location) {
-      location.target = "jsdebugger";
-    }
-
-    let widget = new Widgets.Stacktrace(this, this._stacktrace).render();
-
-    let body = this.document.createElementNS(XHTML_NS, "span");
-    body.className = "message-flex-body";
-    body.appendChild(title);
-    if (repeatNode) {
-      body.appendChild(repeatNode);
-    }
-    if (location) {
-      body.appendChild(location);
-    }
-    body.appendChild(this.document.createTextNode("\n"));
-
-    let frag = this.document.createDocumentFragment();
-    frag.appendChild(body);
-    frag.appendChild(widget.element);
-
-    return frag;
-  },
-
-  _renderBody: function()
+      let cmvar = this.document.createElementNS(XHTML_NS, "span");
+      cmvar.className = "cm-variable";
+      cmvar.textContent = "console";
+
+      let cmprop = this.document.createElementNS(XHTML_NS, "span");
+      cmprop.className = "cm-property";
+      cmprop.textContent = "trace";
+
+      let title = this.document.createElementNS(XHTML_NS, "span");
+      title.className = "message-body devtools-monospace";
+      title.appendChild(cmvar);
+      title.appendChild(this.document.createTextNode("."));
+      title.appendChild(cmprop);
+      title.appendChild(this.document.createTextNode("():"));
+
+      let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
+      let location = Messages.Simple.prototype._renderLocation.call(this);
+      if (location) {
+        location.target = "jsdebugger";
+      }
+
+      let widget = new Widgets.Stacktrace(this, this._stacktrace).render();
+
+      let body = this.document.createElementNS(XHTML_NS, "span");
+      body.className = "message-flex-body";
+      body.appendChild(title);
+      if (repeatNode) {
+        body.appendChild(repeatNode);
+      }
+      if (location) {
+        body.appendChild(location);
+      }
+      body.appendChild(this.document.createTextNode("\n"));
+
+      let frag = this.document.createDocumentFragment();
+      frag.appendChild(body);
+      frag.appendChild(widget.element);
+
+      return frag;
+    },
+
+    _renderBody: function ()
   {
-    let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
-    body.classList.remove("devtools-monospace", "message-body");
-    return body;
-  },
+      let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
+      body.classList.remove("devtools-monospace", "message-body");
+      return body;
+    },
 
   // no-op for the message location and .repeats elements.
   // |this._renderStack| handles customized message output.
-  _renderLocation: function() { },
-  _renderRepeatNode: function() { },
-}); // Messages.ConsoleTrace.prototype
+    _renderLocation: function () { },
+    _renderRepeatNode: function () { },
+  }); // Messages.ConsoleTrace.prototype
 
 /**
  * The ConsoleTable message is used for console.table() calls.
  *
  * @constructor
  * @extends Messages.Extended
  * @param object packet
  *        The Console API call packet received from the server.
  */
-Messages.ConsoleTable = function(packet)
+Messages.ConsoleTable = function (packet)
 {
   let options = {
     className: "cm-s-mozilla",
     timestamp: packet.timeStamp,
     category: packet.category || "webdev",
     severity: CONSOLE_API_LEVELS_TO_SEVERITIES[packet.level],
     private: packet.private,
     filterDuplicates: false,
@@ -1738,337 +1738,337 @@ Messages.ConsoleTable = function(packet)
   this._renderTable = this._renderTable.bind(this);
   Messages.Extended.call(this, [this._renderTable], options);
 
   this._repeatID.consoleApiLevel = packet.level;
   this._arguments = packet.arguments;
 };
 
 Messages.ConsoleTable.prototype = Heritage.extend(Messages.Extended.prototype,
-{
+  {
   /**
    * Holds the arguments the content script passed to the console.table()
    * method.
    *
    * @private
    * @type array
    */
-  _arguments: null,
+    _arguments: null,
 
   /**
    * Array of objects that holds the data to log in the table.
    *
    * @private
    * @type array
    */
-  _data: null,
+    _data: null,
 
   /**
    * Key value pair of the id and display name for the columns in the table.
    * Refer to the TableWidget API.
    *
    * @private
    * @type object
    */
-  _columns: null,
+    _columns: null,
 
   /**
    * A promise that resolves when the table data is ready or null if invalid
    * arguments are provided.
    *
    * @private
    * @type promise|null
    */
-  _populatePromise: null,
-
-  init: function()
+    _populatePromise: null,
+
+    init: function ()
   {
-    let result = Messages.Extended.prototype.init.apply(this, arguments);
-    this._data = [];
-    this._columns = {};
-
-    this._populatePromise = this._populateTableData();
-
-    return result;
-  },
+      let result = Messages.Extended.prototype.init.apply(this, arguments);
+      this._data = [];
+      this._columns = {};
+
+      this._populatePromise = this._populateTableData();
+
+      return result;
+    },
 
   /**
    * Sets the key value pair of the id and display name for the columns in the
    * table.
    *
    * @private
    * @param array|string columns
    *        Either a string or array containing the names for the columns in
    *        the output table.
    */
-  _setColumns: function(columns)
+    _setColumns: function (columns)
   {
-    if (columns.class == "Array") {
-      let items = columns.preview.items;
-
-      for (let item of items) {
-        if (typeof item == "string") {
-          this._columns[item] = item;
+      if (columns.class == "Array") {
+        let items = columns.preview.items;
+
+        for (let item of items) {
+          if (typeof item == "string") {
+            this._columns[item] = item;
+          }
         }
+      } else if (typeof columns == "string" && columns) {
+        this._columns[columns] = columns;
       }
-    } else if (typeof columns == "string" && columns) {
-      this._columns[columns] = columns;
-    }
-  },
+    },
 
   /**
    * Retrieves the table data and columns from the arguments received from the
    * server.
    *
    * @return Promise|null
    *         Returns a promise that resolves when the table data is ready or
    *         null if the arguments are invalid.
    */
-  _populateTableData: function()
+    _populateTableData: function ()
   {
-    let deferred = promise.defer();
-
-    if (this._arguments.length <= 0) {
-      return;
-    }
-
-    let data = this._arguments[0];
-    if (data.class != "Array" && data.class != "Object" &&
+      let deferred = promise.defer();
+
+      if (this._arguments.length <= 0) {
+        return;
+      }
+
+      let data = this._arguments[0];
+      if (data.class != "Array" && data.class != "Object" &&
         data.class != "Map" && data.class != "Set" &&
         data.class != "WeakMap" && data.class != "WeakSet") {
-      return;
-    }
-
-    let hasColumnsArg = false;
-    if (this._arguments.length > 1) {
+        return;
+      }
+
+      let hasColumnsArg = false;
+      if (this._arguments.length > 1) {
+        if (data.class == "Object" || data.class == "Array") {
+          this._columns["_index"] = l10n.getStr("table.index");
+        } else {
+          this._columns["_index"] = l10n.getStr("table.iterationIndex");
+        }
+
+        this._setColumns(this._arguments[1]);
+        hasColumnsArg = true;
+      }
+
       if (data.class == "Object" || data.class == "Array") {
-        this._columns["_index"] = l10n.getStr("table.index");
-      } else {
-        this._columns["_index"] = l10n.getStr("table.iterationIndex");
-      }
-
-      this._setColumns(this._arguments[1]);
-      hasColumnsArg = true;
-    }
-
-    if (data.class == "Object" || data.class == "Array") {
       // Get the object properties, and parse the key and value properties into
       // the table data and columns.
-      this.client = new ObjectClient(this.output.owner.jsterm.hud.proxy.client,
+        this.client = new ObjectClient(this.output.owner.jsterm.hud.proxy.client,
           data);
-      this.client.getPrototypeAndProperties(aResponse => {
-        let {ownProperties} = aResponse;
-        let rowCount = 0;
-        let columnCount = 0;
-
-        for (let index of Object.keys(ownProperties || {})) {
+        this.client.getPrototypeAndProperties(aResponse => {
+          let {ownProperties} = aResponse;
+          let rowCount = 0;
+          let columnCount = 0;
+
+          for (let index of Object.keys(ownProperties || {})) {
           // Avoid outputting the length property if the data argument provided
           // is an array
-          if (data.class == "Array" && index == "length") {
-            continue;
-          }
-
-          if (!hasColumnsArg) {
-            this._columns["_index"] = l10n.getStr("table.index");
-          }
-
-          if (data.class == "Array") {
-            if (index == parseInt(index)) {
-              index = parseInt(index);
+            if (data.class == "Array" && index == "length") {
+              continue;
+            }
+
+            if (!hasColumnsArg) {
+              this._columns["_index"] = l10n.getStr("table.index");
+            }
+
+            if (data.class == "Array") {
+              if (index == parseInt(index)) {
+                index = parseInt(index);
+              }
+            }
+
+            let property = ownProperties[index].value;
+            let item = { _index: index };
+
+            if (property.class == "Object" || property.class == "Array") {
+              let {preview} = property;
+              let entries = property.class == "Object" ?
+                preview.ownProperties : preview.items;
+
+              for (let key of Object.keys(entries)) {
+                let value = property.class == "Object" ?
+                  preview.ownProperties[key].value : preview.items[key];
+
+                item[key] = this._renderValueGrip(value, { concise: true });
+
+                if (!hasColumnsArg && !(key in this._columns) &&
+                  (++columnCount <= TABLE_COLUMN_MAX_ITEMS)) {
+                  this._columns[key] = key;
+                }
+              }
+            } else {
+            // Display the value for any non-object data input.
+              item["_value"] = this._renderValueGrip(property, { concise: true });
+
+              if (!hasColumnsArg && !("_value" in this._columns)) {
+                this._columns["_value"] = l10n.getStr("table.value");
+              }
+            }
+
+            this._data.push(item);
+
+            if (++rowCount == TABLE_ROW_MAX_ITEMS) {
+              break;
             }
           }
 
-          let property = ownProperties[index].value;
-          let item = { _index: index };
-
-          if (property.class == "Object" || property.class == "Array") {
-            let {preview} = property;
-            let entries = property.class == "Object" ?
-                preview.ownProperties : preview.items;
-
-            for (let key of Object.keys(entries)) {
-              let value = property.class == "Object" ?
-                  preview.ownProperties[key].value : preview.items[key];
-
-              item[key] = this._renderValueGrip(value, { concise: true });
-
-              if (!hasColumnsArg && !(key in this._columns) &&
-                  (++columnCount <= TABLE_COLUMN_MAX_ITEMS)) {
-                this._columns[key] = key;
-              }
-            }
-          } else {
-            // Display the value for any non-object data input.
-            item["_value"] = this._renderValueGrip(property, { concise: true });
-
-            if (!hasColumnsArg && !("_value" in this._columns)) {
-              this._columns["_value"] = l10n.getStr("table.value");
-            }
-          }
+          deferred.resolve();
+        });
+      } else if (data.class == "Map" || data.class == "WeakMap") {
+        let entries = data.preview.entries;
+
+        if (!hasColumnsArg) {
+          this._columns["_index"] = l10n.getStr("table.iterationIndex");
+          this._columns["_key"] = l10n.getStr("table.key");
+          this._columns["_value"] = l10n.getStr("table.value");
+        }
+
+        let rowCount = 0;
+        for (let [key, value] of entries) {
+          let item = {
+            _index: rowCount,
+            _key: this._renderValueGrip(key, { concise: true }),
+            _value: this._renderValueGrip(value, { concise: true })
+          };
 
           this._data.push(item);
 
           if (++rowCount == TABLE_ROW_MAX_ITEMS) {
             break;
           }
         }
 
         deferred.resolve();
-      });
-    } else if (data.class == "Map" || data.class == "WeakMap") {
-      let entries = data.preview.entries;
-
-      if (!hasColumnsArg) {
-        this._columns["_index"] = l10n.getStr("table.iterationIndex");
-        this._columns["_key"] = l10n.getStr("table.key");
-        this._columns["_value"] = l10n.getStr("table.value");
-      }
-
-      let rowCount = 0;
-      for (let [key, value] of entries) {
-        let item = {
-          _index: rowCount,
-          _key: this._renderValueGrip(key, { concise: true }),
-          _value: this._renderValueGrip(value, { concise: true })
-        };
-
-        this._data.push(item);
-
-        if (++rowCount == TABLE_ROW_MAX_ITEMS) {
-          break;
+      } else if (data.class == "Set" || data.class == "WeakSet") {
+        let entries = data.preview.items;
+
+        if (!hasColumnsArg) {
+          this._columns["_index"] = l10n.getStr("table.iterationIndex");
+          this._columns["_value"] = l10n.getStr("table.value");
         }
+
+        let rowCount = 0;
+        for (let entry of entries) {
+          let item = {
+            _index : rowCount,
+            _value: this._renderValueGrip(entry, { concise: true })
+          };
+
+          this._data.push(item);
+
+          if (++rowCount == TABLE_ROW_MAX_ITEMS) {
+            break;
+          }
+        }
+
+        deferred.resolve();
       }
 
-      deferred.resolve();
-    } else if (data.class == "Set" || data.class == "WeakSet") {
-      let entries = data.preview.items;
-
-      if (!hasColumnsArg) {
-        this._columns["_index"] = l10n.getStr("table.iterationIndex");
-        this._columns["_value"] = l10n.getStr("table.value");
-      }
-
-      let rowCount = 0;
-      for (let entry of entries) {
-        let item = {
-          _index : rowCount,
-          _value: this._renderValueGrip(entry, { concise: true })
-        };
-
-        this._data.push(item);
-
-        if (++rowCount == TABLE_ROW_MAX_ITEMS) {
-          break;
-        }
-      }
-
-      deferred.resolve();
-    }
-
-    return deferred.promise;
-  },
-
-  render: function()
+      return deferred.promise;
+    },
+
+    render: function ()
   {
-    Messages.Extended.prototype.render.apply(this, arguments);
-    this.element.setAttribute("open", true);
-    return this;
-  },
+      Messages.Extended.prototype.render.apply(this, arguments);
+      this.element.setAttribute("open", true);
+      return this;
+    },
 
   /**
    * Render the table.
    *
    * @private
    * @return DOMElement
    */
-  _renderTable: function()
+    _renderTable: function ()
   {
-    let cmvar = this.document.createElementNS(XHTML_NS, "span");
-    cmvar.className = "cm-variable";
-    cmvar.textContent = "console";
-
-    let cmprop = this.document.createElementNS(XHTML_NS, "span");
-    cmprop.className = "cm-property";
-    cmprop.textContent = "table";
-
-    let title = this.document.createElementNS(XHTML_NS, "span");
-    title.className = "message-body devtools-monospace";
-    title.appendChild(cmvar);
-    title.appendChild(this.document.createTextNode("."));
-    title.appendChild(cmprop);
-    title.appendChild(this.document.createTextNode("():"));
-
-    let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
-    let location = Messages.Simple.prototype._renderLocation.call(this);
-    if (location) {
-      location.target = "jsdebugger";
-    }
-
-    let body = this.document.createElementNS(XHTML_NS, "span");
-    body.className = "message-flex-body";
-    body.appendChild(title);
-    if (repeatNode) {
-      body.appendChild(repeatNode);
-    }
-    if (location) {
-      body.appendChild(location);
-    }
-    body.appendChild(this.document.createTextNode("\n"));
-
-    let result = this.document.createElementNS(XHTML_NS, "div");
-    result.appendChild(body);
-
-    if (this._populatePromise) {
-      this._populatePromise.then(() => {
-        if (this._data.length > 0) {
-          let widget = new Widgets.Table(this, this._data, this._columns).render();
-          result.appendChild(widget.element);
-        }
-
-        result.scrollIntoView();
-        this.output.owner.emit("messages-table-rendered");
+      let cmvar = this.document.createElementNS(XHTML_NS, "span");
+      cmvar.className = "cm-variable";
+      cmvar.textContent = "console";
+
+      let cmprop = this.document.createElementNS(XHTML_NS, "span");
+      cmprop.className = "cm-property";
+      cmprop.textContent = "table";
+
+      let title = this.document.createElementNS(XHTML_NS, "span");
+      title.className = "message-body devtools-monospace";
+      title.appendChild(cmvar);
+      title.appendChild(this.document.createTextNode("."));
+      title.appendChild(cmprop);
+      title.appendChild(this.document.createTextNode("():"));
+
+      let repeatNode = Messages.Simple.prototype._renderRepeatNode.call(this);
+      let location = Messages.Simple.prototype._renderLocation.call(this);
+      if (location) {
+        location.target = "jsdebugger";
+      }
+
+      let body = this.document.createElementNS(XHTML_NS, "span");
+      body.className = "message-flex-body";
+      body.appendChild(title);
+      if (repeatNode) {
+        body.appendChild(repeatNode);
+      }
+      if (location) {
+        body.appendChild(location);
+      }
+      body.appendChild(this.document.createTextNode("\n"));
+
+      let result = this.document.createElementNS(XHTML_NS, "div");
+      result.appendChild(body);
+
+      if (this._populatePromise) {
+        this._populatePromise.then(() => {
+          if (this._data.length > 0) {
+            let widget = new Widgets.Table(this, this._data, this._columns).render();
+            result.appendChild(widget.element);
+          }
+
+          result.scrollIntoView();
+          this.output.owner.emit("messages-table-rendered");
 
         // Release object actors
-        if (Array.isArray(this._arguments)) {
-          for (let arg of this._arguments) {
-            if (WebConsoleUtils.isActorGrip(arg)) {
-              this.output._releaseObject(arg.actor);
+          if (Array.isArray(this._arguments)) {
+            for (let arg of this._arguments) {
+              if (WebConsoleUtils.isActorGrip(arg)) {
+                this.output._releaseObject(arg.actor);
+              }
             }
           }
-        }
-        this._arguments = null;
-      });
-    }
-
-    return result;
-  },
-
-  _renderBody: function()
+          this._arguments = null;
+        });
+      }
+
+      return result;
+    },
+
+    _renderBody: function ()
   {
-    let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
-    body.classList.remove("devtools-monospace", "message-body");
-    return body;
-  },
+      let body = Messages.Simple.prototype._renderBody.apply(this, arguments);
+      body.classList.remove("devtools-monospace", "message-body");
+      return body;
+    },
 
   // no-op for the message location and .repeats elements.
   // |this._renderTable| handles customized message output.
-  _renderLocation: function() { },
-  _renderRepeatNode: function() { },
-}); // Messages.ConsoleTable.prototype
+    _renderLocation: function () { },
+    _renderRepeatNode: function () { },
+  }); // Messages.ConsoleTable.prototype
 
 var Widgets = {};
 
 /**
  * The base widget class.
  *
  * @constructor
  * @param object message
  *        The owning message.
  */
-Widgets.BaseWidget = function(message)
+Widgets.BaseWidget = function (message)
 {
   this.message = message;
 };
 
 Widgets.BaseWidget.prototype = {
   /**
    * The owning message object.
    * @type object
@@ -2095,22 +2095,22 @@ Widgets.BaseWidget.prototype = {
   get output() {
     return this.message.output;
   },
 
   /**
    * Render the widget DOM element.
    * @return this
    */
-  render: function() { },
+  render: function () { },
 
   /**
    * Destroy this widget instance.
    */
-  destroy: function() { },
+  destroy: function () { },
 
   /**
    * Helper for creating DOM elements for widgets.
    *
    * Usage:
    *   this.el("tag#id.class.names"); // create element "tag" with ID "id" and
    *   two class names, .class and .names.
    *
@@ -2132,17 +2132,17 @@ Widgets.BaseWidget.prototype = {
    *        of the new DOM element. Otherwise, the value becomes the
    *        .textContent of the new DOM element.
    * @param string [textContent]
    *        If this argument is provided the value is used as the textContent of
    *        the new DOM element.
    * @return DOMElement
    *         The new DOM element.
    */
-  el: function(tagNameIdAndClasses)
+  el: function (tagNameIdAndClasses)
   {
     let attrs, text;
     if (typeof arguments[1] == "object") {
       attrs = arguments[1];
       text = arguments[2];
     } else {
       text = arguments[1];
     }
@@ -2174,253 +2174,253 @@ Widgets.BaseWidget.prototype = {
  * The timestamp widget.
  *
  * @constructor
  * @param object message
  *        The owning message.
  * @param number timestamp
  *        The UNIX timestamp to display.
  */
-Widgets.MessageTimestamp = function(message, timestamp)
+Widgets.MessageTimestamp = function (message, timestamp)
 {
   Widgets.BaseWidget.call(this, message);
   this.timestamp = timestamp;
 };
 
 Widgets.MessageTimestamp.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * The UNIX timestamp.
    * @type number
    */
-  timestamp: 0,
-
-  render: function()
+    timestamp: 0,
+
+    render: function ()
   {
-    if (this.element) {
+      if (this.element) {
+        return this;
+      }
+
+      this.element = this.document.createElementNS(XHTML_NS, "span");
+      this.element.className = "timestamp devtools-monospace";
+      this.element.textContent = l10n.timestampString(this.timestamp) + " ";
+
       return this;
-    }
-
-    this.element = this.document.createElementNS(XHTML_NS, "span");
-    this.element.className = "timestamp devtools-monospace";
-    this.element.textContent = l10n.timestampString(this.timestamp) + " ";
-
-    return this;
-  },
-}); // Widgets.MessageTimestamp.prototype
+    },
+  }); // Widgets.MessageTimestamp.prototype
 
 
 /**
  * The URLString widget, for rendering strings where at least one token is a
  * URL.
  *
  * @constructor
  * @param object message
  *        The owning message.
  * @param string str
  *        The string, which contains at least one valid URL.
  * @param string unshortenedStr
  *        The unshortened form of the string, if it was shortened.
  */
-Widgets.URLString = function(message, str, unshortenedStr)
+Widgets.URLString = function (message, str, unshortenedStr)
 {
   Widgets.BaseWidget.call(this, message);
   this.str = str;
   this.unshortenedStr = unshortenedStr;
 };
 
 Widgets.URLString.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * The string to format, which contains at least one valid URL.
    * @type string
    */
-  str: "",
-
-  render: function()
+    str: "",
+
+    render: function ()
   {
-    if (this.element) {
-      return this;
-    }
+      if (this.element) {
+        return this;
+      }
 
     // The rendered URLString will be a <span> containing a number of text
     // <spans> for non-URL tokens and <a>'s for URL tokens.
-    this.element = this.el("span", {
-      class: "console-string"
-    });
-    this.element.appendChild(this._renderText("\""));
+      this.element = this.el("span", {
+        class: "console-string"
+      });
+      this.element.appendChild(this._renderText("\""));
 
     // As we walk through the tokens of the source string, we make sure to preserve
     // the original whitespace that separated the tokens.
-    let tokens = this.str.split(/\s+/);
-    let textStart = 0;
-    let tokenStart;
-    for (let i = 0; i < tokens.length; i++) {
-      let token = tokens[i];
-      let unshortenedToken;
-      tokenStart = this.str.indexOf(token, textStart);
-      if (this._isURL(token)) {
+      let tokens = this.str.split(/\s+/);
+      let textStart = 0;
+      let tokenStart;
+      for (let i = 0; i < tokens.length; i++) {
+        let token = tokens[i];
+        let unshortenedToken;
+        tokenStart = this.str.indexOf(token, textStart);
+        if (this._isURL(token)) {
         // The last URL in the string might be shortened.  If so, get the
         // real URL so the rendered link can point to it.
-        if (i === tokens.length - 1 && this.unshortenedStr) {
-          unshortenedToken = this.unshortenedStr.slice(tokenStart).split(/\s+/, 1)[0];
+          if (i === tokens.length - 1 && this.unshortenedStr) {
+            unshortenedToken = this.unshortenedStr.slice(tokenStart).split(/\s+/, 1)[0];
+          }
+          this.element.appendChild(this._renderText(this.str.slice(textStart, tokenStart)));
+          textStart = tokenStart + token.length;
+          this.element.appendChild(this._renderURL(token, unshortenedToken));
         }
-        this.element.appendChild(this._renderText(this.str.slice(textStart, tokenStart)));
-        textStart = tokenStart + token.length;
-        this.element.appendChild(this._renderURL(token, unshortenedToken));
       }
-    }
 
     // Clean up any non-URL text at the end of the source string.
-    this.element.appendChild(this._renderText(this.str.slice(textStart, this.str.length)));
-    this.element.appendChild(this._renderText("\""));
-
-    return this;
-  },
+      this.element.appendChild(this._renderText(this.str.slice(textStart, this.str.length)));
+      this.element.appendChild(this._renderText("\""));
+
+      return this;
+    },
 
   /**
    * Determines whether a grip is a string containing a URL.
    *
    * @param string grip
    *        The grip, which may contain a URL.
    * @return boolean
    *         Whether the grip is a string containing a URL.
    */
-  containsURL: function(grip)
+    containsURL: function (grip)
   {
-    if (typeof grip != "string") {
-      return false;
-    }
-
-    let tokens = grip.split(/\s+/);
-    return tokens.some(this._isURL);
-  },
+      if (typeof grip != "string") {
+        return false;
+      }
+
+      let tokens = grip.split(/\s+/);
+      return tokens.some(this._isURL);
+    },
 
   /**
    * Determines whether a string token is a valid URL.
    *
    * @param string token
    *        The token.
    * @return boolean
    *         Whenther the token is a URL.
    */
-  _isURL: function(token) {
-    try {
-      let uri = URI.newURI(token, null, null);
-      let url = uri.QueryInterface(Ci.nsIURL);
-      return true;
-    } catch (e) {
-      return false;
-    }
-  },
+    _isURL: function (token) {
+      try {
+        let uri = URI.newURI(token, null, null);
+        let url = uri.QueryInterface(Ci.nsIURL);
+        return true;
+      } catch (e) {
+        return false;
+      }
+    },
 
   /**
    * Renders a string as a URL.
    *
    * @param string url
    *        The string to be rendered as a url.
    * @param string fullUrl
    *        The unshortened form of the URL, if it was shortened.
    * @return DOMElement
    *         An element containing the rendered string.
    */
-  _renderURL: function(url, fullUrl)
+    _renderURL: function (url, fullUrl)
   {
-    let unshortened = fullUrl || url;
-    let result = this.el("a", {
-      class: "url",
-      title: unshortened,
-      href: unshortened,
-      draggable: false
-    }, url);
-    this.message._addLinkCallback(result);
-    return result;
-  },
-
-  _renderText: function(text) {
-    return this.el("span", text);
-  },
-}); // Widgets.URLString.prototype
+      let unshortened = fullUrl || url;
+      let result = this.el("a", {
+        class: "url",
+        title: unshortened,
+        href: unshortened,
+        draggable: false
+      }, url);
+      this.message._addLinkCallback(result);
+      return result;
+    },
+
+    _renderText: function (text) {
+      return this.el("span", text);
+    },
+  }); // Widgets.URLString.prototype
 
 /**
  * Widget used for displaying ObjectActors that have no specialised renderers.
  *
  * @constructor
  * @param object message
  *        The owning message.
  * @param object objectActor
  *        The ObjectActor to display.
  * @param object [options]
  *        Options for displaying the given ObjectActor. See
  *        Messages.Extended.prototype._renderValueGrip for the available
  *        options.
  */
-Widgets.JSObject = function(message, objectActor, options = {})
+Widgets.JSObject = function (message, objectActor, options = {})
 {
   Widgets.BaseWidget.call(this, message);
   this.objectActor = objectActor;
   this.options = options;
   this._onClick = this._onClick.bind(this);
 };
 
 Widgets.JSObject.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * The ObjectActor displayed by the widget.
    * @type object
    */
-  objectActor: null,
-
-  render: function()
+    objectActor: null,
+
+    render: function ()
   {
-    if (!this.element) {
-      this._render();
-    }
-
-    return this;
-  },
-
-  _render: function()
+      if (!this.element) {
+        this._render();
+      }
+
+      return this;
+    },
+
+    _render: function ()
   {
-    let str = VariablesView.getString(this.objectActor, this.options);
-    let className = this.message.getClassNameForValueGrip(this.objectActor);
-    if (!className && this.objectActor.class == "Object") {
-      className = "cm-variable";
-    }
-
-    this.element = this._anchor(str, { className: className });
-  },
+      let str = VariablesView.getString(this.objectActor, this.options);
+      let className = this.message.getClassNameForValueGrip(this.objectActor);
+      if (!className && this.objectActor.class == "Object") {
+        className = "cm-variable";
+      }
+
+      this.element = this._anchor(str, { className: className });
+    },
 
   /**
    * Render a concise representation of an object.
    */
-  _renderConciseObject: function()
+    _renderConciseObject: function ()
   {
-    this.element = this._anchor(this.objectActor.class,
+      this.element = this._anchor(this.objectActor.class,
                                 { className: "cm-variable" });
-  },
+    },
 
   /**
    * Render the `<class> { ` prefix of an object.
    */
-  _renderObjectPrefix: function()
+    _renderObjectPrefix: function ()
   {
-    let { kind } = this.objectActor.preview;
-    this.element = this.el("span.kind-" + kind);
-    this._anchor(this.objectActor.class, { className: "cm-variable" });
-    this._text(" { ");
-  },
+      let { kind } = this.objectActor.preview;
+      this.element = this.el("span.kind-" + kind);
+      this._anchor(this.objectActor.class, { className: "cm-variable" });
+      this._text(" { ");
+    },
 
   /**
    * Render the ` }` suffix of an object.
    */
-  _renderObjectSuffix: function()
+    _renderObjectSuffix: function ()
   {
-    this._text(" }");
-  },
+      this._text(" }");
+    },
 
   /**
    * Render an object property.
    *
    * @param String key
    *        The property name.
    * @param Object value
    *        The property value, as an RDP grip.
@@ -2428,83 +2428,83 @@ Widgets.JSObject.prototype = Heritage.ex
    *        The container node to render to.
    * @param Boolean needsComma
    *        True if there was another property before this one and we need to
    *        separate them with a comma.
    * @param Boolean valueIsText
    *        Add the value as is, don't treat it as a grip and pass it to
    *        `_renderValueGrip`.
    */
-  _renderObjectProperty: function(key, value, container, needsComma, valueIsText = false)
+    _renderObjectProperty: function (key, value, container, needsComma, valueIsText = false)
   {
-    if (needsComma) {
-      this._text(", ");
-    }
-
-    container.appendChild(this.el("span.cm-property", key));
-    this._text(": ");
-
-    if (valueIsText) {
-      this._text(value);
-    } else {
-      let valueElem = this.message._renderValueGrip(value, { concise: true, shorten: true });
-      container.appendChild(valueElem);
-    }
-  },
+      if (needsComma) {
+        this._text(", ");
+      }
+
+      container.appendChild(this.el("span.cm-property", key));
+      this._text(": ");
+
+      if (valueIsText) {
+        this._text(value);
+      } else {
+        let valueElem = this.message._renderValueGrip(value, { concise: true, shorten: true });
+        container.appendChild(valueElem);
+      }
+    },
 
   /**
    * Render this object's properties.
    *
    * @param nsIDOMNode container
    *        The container node to render to.
    * @param Boolean needsComma
    *        True if there was another property before this one and we need to
    *        separate them with a comma.
    */
-  _renderObjectProperties: function(container, needsComma)
+    _renderObjectProperties: function (container, needsComma)
   {
-    let { preview } = this.objectActor;
-    let { ownProperties, safeGetterValues } = preview;
-
-    let shown = 0;
-
-    let getValue = desc => {
-      if (desc.get) {
-        return "Getter";
-      } else if (desc.set) {
-        return "Setter";
-      } else {
-        return desc.value;
-      }
-    };
-
-    for (let key of Object.keys(ownProperties || {})) {
-      this._renderObjectProperty(key, getValue(ownProperties[key]), container,
+      let { preview } = this.objectActor;
+      let { ownProperties, safeGetterValues } = preview;
+
+      let shown = 0;
+
+      let getValue = desc => {
+        if (desc.get) {
+          return "Getter";
+        } else if (desc.set) {
+          return "Setter";
+        } else {
+          return desc.value;
+        }
+      };
+
+      for (let key of Object.keys(ownProperties || {})) {
+        this._renderObjectProperty(key, getValue(ownProperties[key]), container,
                                  shown > 0 || needsComma,
                                  ownProperties[key].get || ownProperties[key].set);
-      shown++;
-    }
-
-    let ownPropertiesShown = shown;
-
-    for (let key of Object.keys(safeGetterValues || {})) {
-      this._renderObjectProperty(key, safeGetterValues[key].getterValue,
+        shown++;
+      }
+
+      let ownPropertiesShown = shown;
+
+      for (let key of Object.keys(safeGetterValues || {})) {
+        this._renderObjectProperty(key, safeGetterValues[key].getterValue,
                                  container, shown > 0 || needsComma);
-      shown++;
-    }
-
-    if (typeof preview.ownPropertiesLength == "number" &&
+        shown++;
+      }
+
+      if (typeof preview.ownPropertiesLength == "number" &&
         ownPropertiesShown < preview.ownPropertiesLength) {
-      this._text(", ");
-
-      let n = preview.ownPropertiesLength - ownPropertiesShown;
-      let str = VariablesView.stringifiers._getNMoreString(n);
-      this._anchor(str);
-    }
-  },
+        this._text(", ");
+
+        let n = preview.ownPropertiesLength - ownPropertiesShown;
+        let str = VariablesView.stringifiers._getNMoreString(n);
+        this._anchor(str);
+      }
+    },
 
   /**
    * Render an anchor with a given text content and link.
    *
    * @private
    * @param string text
    *        Text to show in the anchor.
    * @param object [options]
@@ -2516,131 +2516,131 @@ Widgets.JSObject.prototype = Heritage.ex
    *        on the anchor open the link in a new tab.
    *        - appendTo (DOMElement): append the element to the given DOM
    *        element. If not provided, the anchor is appended to |this.element|
    *        if it is available. If |appendTo| is provided and if it is a falsy
    *        value, the anchor is not appended to any element.
    * @return DOMElement
    *         The DOM element of the new anchor.
    */
-  _anchor: function(text, options = {})
+    _anchor: function (text, options = {})
   {
-    if (!options.onClick) {
+      if (!options.onClick) {
       // If the anchor has an URL, open it in a new tab. If not, show the
       // current object actor.
-      options.onClick = options.href ? this._onClickAnchor : this._onClick;
-    }
-
-    options.onContextMenu = options.onContextMenu || this._onContextMenu;
-
-    let anchor = this.el("a", {
-      class: options.className,
-      draggable: false,
-      href: options.href || "#",
-    }, text);
-
-    this.message._addLinkCallback(anchor, options.onClick);
-
-    anchor.addEventListener("contextmenu", options.onContextMenu.bind(this));
-
-    if (options.appendTo) {
-      options.appendTo.appendChild(anchor);
-    } else if (!("appendTo" in options) && this.element) {
-      this.element.appendChild(anchor);
-    }
-
-    return anchor;
-  },
-
-  openObjectInVariablesView: function()
+        options.onClick = options.href ? this._onClickAnchor : this._onClick;
+      }
+
+      options.onContextMenu = options.onContextMenu || this._onContextMenu;
+
+      let anchor = this.el("a", {
+        class: options.className,
+        draggable: false,
+        href: options.href || "#",
+      }, text);
+
+      this.message._addLinkCallback(anchor, options.onClick);
+
+      anchor.addEventListener("contextmenu", options.onContextMenu.bind(this));
+
+      if (options.appendTo) {
+        options.appendTo.appendChild(anchor);
+      } else if (!("appendTo" in options) && this.element) {
+        this.element.appendChild(anchor);
+      }
+
+      return anchor;
+    },
+
+    openObjectInVariablesView: function ()
   {
-    this.output.openVariablesView({
-      label: VariablesView.getString(this.objectActor, { concise: true }),
-      objectActor: this.objectActor,
-      autofocus: true,
-    });
-  },
-
-  storeObjectInWindow: function()
+      this.output.openVariablesView({
+        label: VariablesView.getString(this.objectActor, { concise: true }),
+        objectActor: this.objectActor,
+        autofocus: true,
+      });
+    },
+
+    storeObjectInWindow: function ()
   {
-    let evalString = `{ let i = 0;
+      let evalString = `{ let i = 0;
       while (this.hasOwnProperty("temp" + i) && i < 1000) {
         i++;
       }
       this["temp" + i] = _self;
       "temp" + i;
     }`;
-    let options = {
-      selectedObjectActor: this.objectActor.actor,
-    };
-
-    this.output.owner.jsterm.requestEvaluation(evalString, options).then((res) => {
-      this.output.owner.jsterm.focus();
-      this.output.owner.jsterm.setInputValue(res.result);
-    });
-  },
+      let options = {
+        selectedObjectActor: this.objectActor.actor,
+      };
+
+      this.output.owner.jsterm.requestEvaluation(evalString, options).then((res) => {
+        this.output.owner.jsterm.focus();
+        this.output.owner.jsterm.setInputValue(res.result);
+      });
+    },
 
   /**
    * The click event handler for objects shown inline.
    * @private
    */
-  _onClick: function()
+    _onClick: function ()
   {
-    this.openObjectInVariablesView();
-  },
-
-  _onContextMenu: function(ev) {
+      this.openObjectInVariablesView();
+    },
+
+    _onContextMenu: function (ev) {
     // TODO offer a nice API for the context menu.
     // Probably worth to take a look at Firebug's way
     // https://github.com/firebug/firebug/blob/master/extension/content/firebug/chrome/menu.js
-    let doc = ev.target.ownerDocument;
-    let cmPopup = doc.getElementById("output-contextmenu");
-
-    let openInVarViewCmd = doc.getElementById("menu_openInVarView");
-    let openVarView = this.openObjectInVariablesView.bind(this);
-    openInVarViewCmd.addEventListener("command", openVarView);
-    openInVarViewCmd.removeAttribute("disabled");
-    cmPopup.addEventListener("popuphiding", function onPopupHiding() {
-      cmPopup.removeEventListener("popuphiding", onPopupHiding);
-      openInVarViewCmd.removeEventListener("command", openVarView);
-      openInVarViewCmd.setAttribute("disabled", "true");
-    });
+      let doc = ev.target.ownerDocument;
+      let cmPopup = doc.getElementById("output-contextmenu");
+
+      let openInVarViewCmd = doc.getElementById("menu_openInVarView");
+      let openVarView = this.openObjectInVariablesView.bind(this);
+      openInVarViewCmd.addEventListener("command", openVarView);
+      openInVarViewCmd.removeAttribute("disabled");
+      cmPopup.addEventListener("popuphiding", function onPopupHiding() {
+        cmPopup.removeEventListener("popuphiding", onPopupHiding);
+        openInVarViewCmd.removeEventListener("command", openVarView);
+        openInVarViewCmd.setAttribute("disabled", "true");
+      });
 
     // 'Store as global variable' command isn't supported on pre-44 servers,
     // so remove it from the menu in that case.
-    let storeInGlobalCmd = doc.getElementById("menu_storeAsGlobal");
-    if (!this.output.webConsoleClient.traits.selectedObjectActor) {
-      storeInGlobalCmd.remove();
-    } else if (storeInGlobalCmd) {
-      let storeObjectInWindow = this.storeObjectInWindow.bind(this);
-      storeInGlobalCmd.addEventListener("command", storeObjectInWindow);
-      storeInGlobalCmd.removeAttribute("disabled");
-      cmPopup.addEventListener("popuphiding", function onPopupHiding() {
-        cmPopup.removeEventListener("popuphiding", onPopupHiding);
-        storeInGlobalCmd.removeEventListener("command", storeObjectInWindow);
-        storeInGlobalCmd.setAttribute("disabled", "true");
-      });
-    }
-  },
+      let storeInGlobalCmd = doc.getElementById("menu_storeAsGlobal");
+      if (!this.output.webConsoleClient.traits.selectedObjectActor) {
+        storeInGlobalCmd.remove();
+      } else if (storeInGlobalCmd) {
+        let storeObjectInWindow = this.storeObjectInWindow.bind(this);
+        storeInGlobalCmd.addEventListener("command", storeObjectInWindow);
+        storeInGlobalCmd.removeAttribute("disabled");
+        cmPopup.addEventListener("popuphiding", function onPopupHiding() {
+          cmPopup.removeEventListener("popuphiding", onPopupHiding);
+          storeInGlobalCmd.removeEventListener("command", storeObjectInWindow);
+          storeInGlobalCmd.setAttribute("disabled", "true");
+        });
+      }
+    },
 
   /**
    * Add a string to the message.
    *
    * @private
    * @param string str
    *        String to add.
    * @param DOMElement [target = this.element]
    *        Optional DOM element to append the string to. The default is
    *        this.element.
    */
-  _text: function(str, target = this.element)
+    _text: function (str, target = this.element)
   {
-    target.appendChild(this.document.createTextNode(str));
-  },
-}); // Widgets.JSObject.prototype
+      target.appendChild(this.document.createTextNode(str));
+    },
+  }); // Widgets.JSObject.prototype
 
 Widgets.ObjectRenderers = {};
 Widgets.ObjectRenderers.byKind = {};
 Widgets.ObjectRenderers.byClass = {};
 
 /**
  * Add an object renderer.
  *
@@ -2662,29 +2662,29 @@ Widgets.ObjectRenderers.byClass = {};
  *        - initialize (function, optional): the constructor of the renderer
  *        widget. This function is invoked with the following arguments: the
  *        owner message object instance, the object actor grip to display, and
  *        an options object. See Messages.Extended.prototype._renderValueGrip()
  *        for details about the options object.
  *        - render (function, required): the method that displays the given
  *        object actor.
  */
-Widgets.ObjectRenderers.add = function(obj)
+Widgets.ObjectRenderers.add = function (obj)
 {
   let extendObj = obj.extends || Widgets.JSObject;
 
-  let constructor = function() {
+  let constructor = function () {
     if (obj.initialize) {
       obj.initialize.apply(this, arguments);
     } else {
       extendObj.apply(this, arguments);
     }
   };
 
-  let proto = WebConsoleUtils.cloneObject(obj, false, function(key) {
+  let proto = WebConsoleUtils.cloneObject(obj, false, function (key) {
     if (key == "initialize" || key == "canRender" ||
         (key == "render" && extendObj === Widgets.JSObject)) {
       return false;
     }
     return true;
   });
 
   if (extendObj === Widgets.JSObject) {
@@ -2706,17 +2706,17 @@ Widgets.ObjectRenderers.add = function(o
 
 
 /**
  * The widget used for displaying Date objects.
  */
 Widgets.ObjectRenderers.add({
   byClass: "Date",
 
-  render: function()
+  render: function ()
   {
     let {preview} = this.objectActor;
     this.element = this.el("span.class-" + this.objectActor.class);
 
     let anchorText = this.objectActor.class;
     let anchorClass = "cm-variable";
     if (preview && "timestamp" in preview && typeof preview.timestamp != "number") {
       anchorText = new Date(preview.timestamp).toString(); // invalid date
@@ -2737,17 +2737,17 @@ Widgets.ObjectRenderers.add({
 });
 
 /**
  * The widget used for displaying Function objects.
  */
 Widgets.ObjectRenderers.add({
   byClass: "Function",
 
-  render: function()
+  render: function ()
   {
     let grip = this.objectActor;
     this.element = this.el("span.class-" + this.objectActor.class);
 
     // TODO: Bug 948484 - support arrow functions and ES6 generators
     let name = grip.userDisplayName || grip.displayName || grip.name || "";
     name = VariablesView.getString(name, { noStringQuotes: true });
 
@@ -2798,17 +2798,17 @@ Widgets.ObjectRenderers.add({
 }); // Widgets.ObjectRenderers.byClass.Function
 
 /**
  * The widget used for displaying ArrayLike objects.
  */
 Widgets.ObjectRenderers.add({
   byKind: "ArrayLike",
 
-  render: function()
+  render: function ()
   {
     let {preview} = this.objectActor;
     let {items} = preview;
     this.element = this.el("span.kind-" + preview.kind);
 
     this._anchor(this.objectActor.class, { className: "cm-variable" });
 
     if (!items || this.options.concise) {
@@ -2855,34 +2855,34 @@ Widgets.ObjectRenderers.add({
       let n = preview.length - shown;
       let str = VariablesView.stringifiers._getNMoreString(n);
       this._anchor(str);
     }
 
     this._text(" ]");
   },
 
-  _renderEmptySlots: function(aNumSlots, aAppendComma=true) {
+  _renderEmptySlots: function (aNumSlots, aAppendComma = true) {
     let slotLabel = l10n.getStr("emptySlotLabel");
     let slotText = PluralForm.get(aNumSlots, slotLabel);
     this._text("<" + slotText.replace("#1", aNumSlots) + ">");
     if (aAppendComma) {
       this._text(", ");
     }
   },
 
 }); // Widgets.ObjectRenderers.byKind.ArrayLike
 
 /**
  * The widget used for displaying MapLike objects.
  */
 Widgets.ObjectRenderers.add({
   byKind: "MapLike",
 
-  render: function()
+  render: function ()
   {
     let {preview} = this.objectActor;
     let {entries} = preview;
 
     let container = this.element = this.el("span.kind-" + preview.kind);
     this._anchor(this.objectActor.class, { className: "cm-variable" });
 
     if (!entries || this.options.concise) {
@@ -2936,23 +2936,23 @@ Widgets.ObjectRenderers.add({
 }); // Widgets.ObjectRenderers.byKind.MapLike
 
 /**
  * The widget used for displaying objects with a URL.
  */
 Widgets.ObjectRenderers.add({
   byKind: "ObjectWithURL",
 
-  render: function()
+  render: function ()
   {
     this.element = this._renderElement(this.objectActor,
                                        this.objectActor.preview.url);
   },
 
-  _renderElement: function(objectActor, url)
+  _renderElement: function (objectActor, url)
   {
     let container = this.el("span.kind-" + objectActor.preview.kind);
 
     this._anchor(objectActor.class, {
       className: "cm-variable",
       appendTo: container,
     });
 
@@ -2967,17 +2967,17 @@ Widgets.ObjectRenderers.add({
 }); // Widgets.ObjectRenderers.byKind.ObjectWithURL
 
 /**
  * The widget used for displaying objects with a string next to them.
  */
 Widgets.ObjectRenderers.add({
   byKind: "ObjectWithText",
 
-  render: function()
+  render: function ()
   {
     let {preview} = this.objectActor;
     this.element = this.el("span.kind-" + preview.kind);
 
     this._anchor(this.objectActor.class, { className: "cm-variable" });
 
     if (!this.options.concise) {
       this._text(" ");
@@ -2988,17 +2988,17 @@ Widgets.ObjectRenderers.add({
 });
 
 /**
  * The widget used for displaying DOM event previews.
  */
 Widgets.ObjectRenderers.add({
   byKind: "DOMEvent",
 
-  render: function()
+  render: function ()
   {
     let {preview} = this.objectActor;
 
     let container = this.element = this.el("span.kind-" + preview.kind);
 
     this._anchor(preview.type || this.objectActor.class,
                  { className: "cm-variable" });
 
@@ -3051,17 +3051,17 @@ Widgets.ObjectRenderers.add({
 }); // Widgets.ObjectRenderers.byKind.DOMEvent
 
 /**
  * The widget used for displaying DOM node previews.
  */
 Widgets.ObjectRenderers.add({
   byKind: "DOMNode",
 
-  canRender: function(objectActor) {
+  canRender: function (objectActor) {
     let {preview} = objectActor;
     if (!preview) {
       return false;
     }
 
     switch (preview.nodeType) {
       case Ci.nsIDOMNode.DOCUMENT_NODE:
       case Ci.nsIDOMNode.ATTRIBUTE_NODE:
@@ -3070,17 +3070,17 @@ Widgets.ObjectRenderers.add({
       case Ci.nsIDOMNode.DOCUMENT_FRAGMENT_NODE:
       case Ci.nsIDOMNode.ELEMENT_NODE:
         return true;
       default:
         return false;
     }
   },
 
-  render: function()
+  render: function ()
   {
     switch (this.objectActor.preview.nodeType) {
       case Ci.nsIDOMNode.DOCUMENT_NODE:
         this._renderDocumentNode();
         break;
       case Ci.nsIDOMNode.ATTRIBUTE_NODE: {
         let {preview} = this.objectActor;
         this.element = this.el("span.attributeNode.kind-" + preview.kind);
@@ -3100,26 +3100,26 @@ Widgets.ObjectRenderers.add({
       case Ci.nsIDOMNode.ELEMENT_NODE:
         this._renderElementNode();
         break;
       default:
         throw new Error("Unsupported nodeType: " + preview.nodeType);
     }
   },
 
-  _renderDocumentNode: function()
+  _renderDocumentNode: function ()
   {
     let fn =
       Widgets.ObjectRenderers.byKind.ObjectWithURL.prototype._renderElement;
     this.element = fn.call(this, this.objectActor,
                            this.objectActor.preview.location);
     this.element.classList.add("documentNode");
   },
 
-  _renderAttributeNode: function(nodeName, nodeValue, addLink)
+  _renderAttributeNode: function (nodeName, nodeValue, addLink)
   {
     let value = VariablesView.getString(nodeValue, { noStringQuotes: true });
 
     let fragment = this.document.createDocumentFragment();
     if (addLink) {
       this._anchor(nodeName, { className: "cm-attribute", appendTo: fragment });
     } else {
       fragment.appendChild(this.el("span.cm-attribute", nodeName));
@@ -3127,41 +3127,41 @@ Widgets.ObjectRenderers.add({
 
     this._text("=\"", fragment);
     fragment.appendChild(this.el("span.theme-fg-color6", escapeHTML(value)));
     this._text("\"", fragment);
 
     return fragment;
   },
 
-  _renderTextNode: function()
+  _renderTextNode: function ()
   {
     let {preview} = this.objectActor;
     this.element = this.el("span.textNode.kind-" + preview.kind);
 
     this._anchor(preview.nodeName, { className: "cm-variable" });
     this._text(" ");
 
     let text = VariablesView.getString(preview.textContent);
     this.element.appendChild(this.el("span.console-string", text));
   },
 
-  _renderCommentNode: function()
+  _renderCommentNode: function ()
   {
     let {preview} = this.objectActor;
     let comment = "<!-- " + VariablesView.getString(preview.textContent, {
       noStringQuotes: true,
     }) + " -->";
 
     this.element = this._anchor(comment, {
       className: "kind-" + preview.kind + " commentNode cm-comment",
     });
   },
 
-  _renderDocumentFragmentNode: function()
+  _renderDocumentFragmentNode: function ()
   {
     let {preview} = this.objectActor;
     let {childNodes} = preview;
     let container = this.element = this.el("span.documentFragmentNode.kind-" +
                                            preview.kind);
 
     this._anchor(this.objectActor.class, { className: "cm-variable" });
 
@@ -3191,17 +3191,17 @@ Widgets.ObjectRenderers.add({
       let n = preview.childNodesLength - shown;
       let str = VariablesView.stringifiers._getNMoreString(n);
       this._anchor(str);
     }
 
     this._text(" ]");
   },
 
-  _renderElementNode: function()
+  _renderElementNode: function ()
   {
     let doc = this.document;
     let {attributes, nodeName} = this.objectActor.preview;
 
     this.element = this.el("span." + "kind-" + this.objectActor.preview.kind + ".elementNode");
 
     this._text("<");
     let openTag = this.el("span.cm-tag");
@@ -3240,17 +3240,17 @@ Widgets.ObjectRenderers.add({
    * will attach mouseover/out event listeners to do so, and the inspector icon
    * to open the node in the inspector.
    * @return a promise that resolves when the node has been linked to the
    * inspector, or rejects if it wasn't (either if no toolbox could be found to
    * access the inspector, or if the node isn't present in the inspector, i.e.
    * if the node is in a DocumentFragment or not part of the tree, or not of
    * type Ci.nsIDOMNode.ELEMENT_NODE).
    */
-  linkToInspector: Task.async(function*()
+  linkToInspector: Task.async(function* ()
   {
     if (this._linkedToInspector) {
       return;
     }
 
     // Checking the node type
     if (this.objectActor.preview.nodeType !== Ci.nsIDOMNode.ELEMENT_NODE) {
       throw new Error("The object cannot be linked to the inspector as it " +
@@ -3297,63 +3297,63 @@ Widgets.ObjectRenderers.add({
     this._openInspectorNode.title = l10n.getStr("openNodeInInspector");
   }),
 
   /**
    * Highlight the DOMNode corresponding to the ObjectActor in the page.
    * @return a promise that resolves when the node has been highlighted, or
    * rejects if the node cannot be highlighted (detached from the DOM)
    */
-  highlightDomNode: Task.async(function*()
+  highlightDomNode: Task.async(function* ()
   {
     yield this.linkToInspector();
     let isAttached = yield this.toolbox.walker.isInDOMTree(this._nodeFront);
     if (isAttached) {
       yield this.toolbox.highlighterUtils.highlightNodeFront(this._nodeFront);
     } else {
       throw null;
     }
   }),
 
   /**
    * Unhighlight a previously highlit node
    * @see highlightDomNode
    * @return a promise that resolves when the highlighter has been hidden
    */
-  unhighlightDomNode: function()
+  unhighlightDomNode: function ()
   {
     return this.linkToInspector().then(() => {
       return this.toolbox.highlighterUtils.unhighlight();
     }).then(null, e => console.error(e));
   },
 
   /**
    * Open the DOMNode corresponding to the ObjectActor in the inspector panel
    * @return a promise that resolves when the inspector has been switched to
    * and the node has been selected, or rejects if the node cannot be selected
    * (detached from the DOM). Note that in any case, the inspector panel will
    * be switched to.
    */
-  openNodeInInspector: Task.async(function*()
+  openNodeInInspector: Task.async(function* ()
   {
     yield this.linkToInspector();
     yield this.toolbox.selectTool("inspector");
 
     let isAttached = yield this.toolbox.walker.isInDOMTree(this._nodeFront);
     if (isAttached) {
       let onReady = promise.defer();
       this.toolbox.inspector.once("inspector-updated", onReady.resolve);
       yield this.toolbox.selection.setNodeFront(this._nodeFront, "console");
       yield onReady.promise;
     } else {
       throw null;
     }
   }),
 
-  destroy: function()
+  destroy: function ()
   {
     if (this.toolbox && this._nodeFront) {
       this.element.removeEventListener("mouseover", this.highlightDomNode, false);
       this.element.removeEventListener("mouseout", this.unhighlightDomNode, false);
       this._openInspectorNode.removeEventListener("mousedown", this.openNodeInInspector, true);
 
       if (this._linkedToInspector) {
         this.unhighlightDomNode().then(() => {
@@ -3369,17 +3369,17 @@ Widgets.ObjectRenderers.add({
 }); // Widgets.ObjectRenderers.byKind.DOMNode
 
 /**
  * The widget user for displaying Promise objects.
  */
 Widgets.ObjectRenderers.add({
   byClass: "Promise",
 
-  render: function()
+  render: function ()
   {
     let { ownProperties, safeGetterValues } = this.objectActor.preview || {};
     if ((!ownProperties && !safeGetterValues) || this.options.concise) {
       this._renderConciseObject();
       return;
     }
 
     this._renderObjectPrefix();
@@ -3453,17 +3453,17 @@ Widgets.ObjectRenderers.add({
 });
 
 /**
  * The widget used for displaying generic JS object previews.
  */
 Widgets.ObjectRenderers.add({
   byKind: "Object",
 
-  render: function()
+  render: function ()
   {
     let { ownProperties, safeGetterValues } = this.objectActor.preview || {};
     if ((!ownProperties && !safeGetterValues) || this.options.concise) {
       this._renderConciseObject();
       return;
     }
 
     this._renderObjectPrefix();
@@ -3478,288 +3478,288 @@ Widgets.ObjectRenderers.add({
  * @constructor
  * @param object message
  *        The owning message.
  * @param object longStringActor
  *        The LongStringActor to display.
  * @param object options
  *        Options, such as noStringQuotes
  */
-Widgets.LongString = function(message, longStringActor, options)
+Widgets.LongString = function (message, longStringActor, options)
 {
   Widgets.BaseWidget.call(this, message);
   this.longStringActor = longStringActor;
   this.noStringQuotes = (options && "noStringQuotes" in options) ?
     options.noStringQuotes : !this.message._quoteStrings;
 
   this._onClick = this._onClick.bind(this);
   this._onSubstring = this._onSubstring.bind(this);
 };
 
 Widgets.LongString.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * The LongStringActor displayed by the widget.
    * @type object
    */
-  longStringActor: null,
-
-  render: function()
+    longStringActor: null,
+
+    render: function ()
   {
-    if (this.element) {
+      if (this.element) {
+        return this;
+      }
+
+      let result = this.element = this.document.createElementNS(XHTML_NS, "span");
+      result.className = "longString console-string";
+      this._renderString(this.longStringActor.initial);
+      result.appendChild(this._renderEllipsis());
+
       return this;
-    }
-
-    let result = this.element = this.document.createElementNS(XHTML_NS, "span");
-    result.className = "longString console-string";
-    this._renderString(this.longStringActor.initial);
-    result.appendChild(this._renderEllipsis());
-
-    return this;
-  },
+    },
 
   /**
    * Render the long string in the widget element.
    * @private
    * @param string str
    *        The string to display.
    */
-  _renderString: function(str)
+    _renderString: function (str)
   {
-    this.element.textContent = VariablesView.getString(str, {
-      noStringQuotes: this.noStringQuotes,
-      noEllipsis: true,
-    });
-  },
+      this.element.textContent = VariablesView.getString(str, {
+        noStringQuotes: this.noStringQuotes,
+        noEllipsis: true,
+      });
+    },
 
   /**
    * Render the anchor ellipsis that allows the user to expand the long string.
    *
    * @private
    * @return Element
    */
-  _renderEllipsis: function()
+    _renderEllipsis: function ()
   {
-    let ellipsis = this.document.createElementNS(XHTML_NS, "a");
-    ellipsis.className = "longStringEllipsis";
-    ellipsis.textContent = l10n.getStr("longStringEllipsis");
-    ellipsis.href = "#";
-    ellipsis.draggable = false;
-    this.message._addLinkCallback(ellipsis, this._onClick);
-
-    return ellipsis;
-  },
+      let ellipsis = this.document.createElementNS(XHTML_NS, "a");
+      ellipsis.className = "longStringEllipsis";
+      ellipsis.textContent = l10n.getStr("longStringEllipsis");
+      ellipsis.href = "#";
+      ellipsis.draggable = false;
+      this.message._addLinkCallback(ellipsis, this._onClick);
+
+      return ellipsis;
+    },
 
   /**
    * The click event handler for the ellipsis shown after the short string. This
    * function expands the element to show the full string.
    * @private
    */
-  _onClick: function()
+    _onClick: function ()
   {
-    let longString = this.output.webConsoleClient.longString(this.longStringActor);
-    let toIndex = Math.min(longString.length, MAX_LONG_STRING_LENGTH);
-
-    longString.substring(longString.initial.length, toIndex, this._onSubstring);
-  },
+      let longString = this.output.webConsoleClient.longString(this.longStringActor);
+      let toIndex = Math.min(longString.length, MAX_LONG_STRING_LENGTH);
+
+      longString.substring(longString.initial.length, toIndex, this._onSubstring);
+    },
 
   /**
    * The longString substring response callback.
    *
    * @private
    * @param object response
    *        Response packet.
    */
-  _onSubstring: function(response)
+    _onSubstring: function (response)
   {
-    if (response.error) {
-      console.error("LongString substring failure: " + response.error);
-      return;
-    }
-
-    this.element.lastChild.remove();
-    this.element.classList.remove("longString");
-
-    this._renderString(this.longStringActor.initial + response.substring);
-
-    this.output.owner.emit("new-messages", new Set([{
-      update: true,
-      node: this.message.element,
-      response: response,
-    }]));
-
-    let toIndex = Math.min(this.longStringActor.length, MAX_LONG_STRING_LENGTH);
-    if (toIndex != this.longStringActor.length) {
-      this._logWarningAboutStringTooLong();
-    }
-  },
+      if (response.error) {
+        console.error("LongString substring failure: " + response.error);
+        return;
+      }
+
+      this.element.lastChild.remove();
+      this.element.classList.remove("longString");
+
+      this._renderString(this.longStringActor.initial + response.substring);
+
+      this.output.owner.emit("new-messages", new Set([{
+        update: true,
+        node: this.message.element,
+        response: response,
+      }]));
+
+      let toIndex = Math.min(this.longStringActor.length, MAX_LONG_STRING_LENGTH);
+      if (toIndex != this.longStringActor.length) {
+        this._logWarningAboutStringTooLong();
+      }
+    },
 
   /**
    * Inform user that the string he tries to view is too long.
    * @private
    */
-  _logWarningAboutStringTooLong: function()
+    _logWarningAboutStringTooLong: function ()
   {
-    let msg = new Messages.Simple(l10n.getStr("longStringTooLong"), {
-      category: "output",
-      severity: "warning",
-    });
-    this.output.addMessage(msg);
-  },
-}); // Widgets.LongString.prototype
+      let msg = new Messages.Simple(l10n.getStr("longStringTooLong"), {
+        category: "output",
+        severity: "warning",
+      });
+      this.output.addMessage(msg);
+    },
+  }); // Widgets.LongString.prototype
 
 
 /**
  * The stacktrace widget.
  *
  * @constructor
  * @extends Widgets.BaseWidget
  * @param object message
  *        The owning message.
  * @param array stacktrace
  *        The stacktrace to display, array of frames as supplied by the server,
  *        over the remote protocol.
  */
-Widgets.Stacktrace = function(message, stacktrace)
+Widgets.Stacktrace = function (message, stacktrace)
 {
   Widgets.BaseWidget.call(this, message);
   this.stacktrace = stacktrace;
 };
 
 Widgets.Stacktrace.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * The stackframes received from the server.
    * @type array
    */
-  stacktrace: null,
-
-  render: function()
+    stacktrace: null,
+
+    render: function ()
   {
-    if (this.element) {
+      if (this.element) {
+        return this;
+      }
+
+      let result = this.element = this.document.createElementNS(XHTML_NS, "ul");
+      result.className = "stacktrace devtools-monospace";
+
+      if (this.stacktrace) {
+        for (let frame of this.stacktrace) {
+          result.appendChild(this._renderFrame(frame));
+        }
+      }
+
       return this;
-    }
-
-    let result = this.element = this.document.createElementNS(XHTML_NS, "ul");
-    result.className = "stacktrace devtools-monospace";
-
-    if (this.stacktrace) {
-      for (let frame of this.stacktrace) {
-        result.appendChild(this._renderFrame(frame));
-      }
-    }
-
-    return this;
-  },
+    },
 
   /**
    * Render a frame object received from the server.
    *
    * @param object frame
    *        The stack frame to display. This object should have the following
    *        properties: functionName, filename and lineNumber.
    * @return DOMElement
    *         The DOM element to display for the given frame.
    */
-  _renderFrame: function(frame)
+    _renderFrame: function (frame)
   {
-    let fn = this.document.createElementNS(XHTML_NS, "span");
-    fn.className = "function";
-
-    let asyncCause = "";
-    if (frame.asyncCause) {
-      asyncCause =
+      let fn = this.document.createElementNS(XHTML_NS, "span");
+      fn.className = "function";
+
+      let asyncCause = "";
+      if (frame.asyncCause) {
+        asyncCause =
         l10n.getFormatStr("stacktrace.asyncStack", [frame.asyncCause]) + " ";
-    }
-
-    if (frame.functionName) {
-      let span = this.document.createElementNS(XHTML_NS, "span");
-      span.className = "cm-variable";
-      span.textContent = asyncCause + frame.functionName;
-      fn.appendChild(span);
-      fn.appendChild(this.document.createTextNode("()"));
-    } else {
-      fn.classList.add("cm-comment");
-      fn.textContent = asyncCause + l10n.getStr("stacktrace.anonymousFunction");
-    }
-
-    let location = this.output.owner.createLocationNode({url: frame.filename,
+      }
+
+      if (frame.functionName) {
+        let span = this.document.createElementNS(XHTML_NS, "span");
+        span.className = "cm-variable";
+        span.textContent = asyncCause + frame.functionName;
+        fn.appendChild(span);
+        fn.appendChild(this.document.createTextNode("()"));
+      } else {
+        fn.classList.add("cm-comment");
+        fn.textContent = asyncCause + l10n.getStr("stacktrace.anonymousFunction");
+      }
+
+      let location = this.output.owner.createLocationNode({url: frame.filename,
                                                         line: frame.lineNumber});
 
     // .devtools-monospace sets font-size to 80%, however .body already has
     // .devtools-monospace. If we keep it here, the location would be rendered
     // smaller.
-    location.classList.remove("devtools-monospace");
-
-    let elem = this.document.createElementNS(XHTML_NS, "li");
-    elem.appendChild(fn);
-    elem.appendChild(location);
-    elem.appendChild(this.document.createTextNode("\n"));
-
-    return elem;
-  },
-}); // Widgets.Stacktrace.prototype
+      location.classList.remove("devtools-monospace");
+
+      let elem = this.document.createElementNS(XHTML_NS, "li");
+      elem.appendChild(fn);
+      elem.appendChild(location);
+      elem.appendChild(this.document.createTextNode("\n"));
+
+      return elem;
+    },
+  }); // Widgets.Stacktrace.prototype
 
 
 /**
  * The table widget.
  *
  * @constructor
  * @extends Widgets.BaseWidget
  * @param object message
  *        The owning message.
  * @param array data
  *        Array of objects that holds the data to log in the table.
  * @param object columns
  *        Object containing the key value pair of the id and display name for
  *        the columns in the table.
  */
-Widgets.Table = function(message, data, columns)
+Widgets.Table = function (message, data, columns)
 {
   Widgets.BaseWidget.call(this, message);
   this.data = data;
   this.columns = columns;
 };
 
 Widgets.Table.prototype = Heritage.extend(Widgets.BaseWidget.prototype,
-{
+  {
   /**
    * Array of objects that holds the data to output in the table.
    * @type array
    */
-  data: null,
+    data: null,
 
   /**
    * Object containing the key value pair of the id and display name for
    * the columns in the table.
    * @type object
    */
-  columns: null,
-
-  render: function() {
-    if (this.element) {
+    columns: null,
+
+    render: function () {
+      if (this.element) {
+        return this;
+      }
+
+      let result = this.element = this.document.createElementNS(XHTML_NS, "div");
+      result.className = "consoletable devtools-monospace";
+
+      this.table = new TableWidget(result, {
+        initialColumns: this.columns,
+        uniqueId: "_index",
+        firstColumn: "_index"
+      });
+
+      for (let row of this.data) {
+        this.table.push(row);
+      }
+
       return this;
     }
-
-    let result = this.element = this.document.createElementNS(XHTML_NS, "div");
-    result.className = "consoletable devtools-monospace";
-
-    this.table = new TableWidget(result, {
-      initialColumns: this.columns,
-      uniqueId: "_index",
-      firstColumn: "_index"
-    });
-
-    for (let row of this.data) {
-      this.table.push(row);
-    }
-
-    return this;
-  }
-}); // Widgets.Table.prototype
+  }); // Widgets.Table.prototype
 
 function gSequenceId()
 {
   return gSequenceId.n++;
 }
 gSequenceId.n = 0;
 
 exports.ConsoleOutput = ConsoleOutput;
--- a/devtools/client/webconsole/hudservice.js
+++ b/devtools/client/webconsole/hudservice.js
@@ -29,18 +29,18 @@ var l10n = new WebConsoleUtils.L10n(STRI
 
 const BROWSER_CONSOLE_WINDOW_FEATURES = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
 
 // The preference prefix for all of the Browser Console filters.
 const BROWSER_CONSOLE_FILTER_PREFS_PREFIX = "devtools.browserconsole.filter.";
 
 var gHudId = 0;
 
-///////////////////////////////////////////////////////////////////////////
-//// The HUD service
+// /////////////////////////////////////////////////////////////////////////
+// // The HUD service
 
 function HUD_SERVICE()
 {
   this.consoles = new Map();
   this.lastFinishedRequest = { callback: null };
 }
 
 HUD_SERVICE.prototype =
@@ -229,17 +229,17 @@ HUD_SERVICE.prototype =
       return deferred.promise;
     }
 
     connect().then(getTarget).then(openWindow).then((aWindow) => {
       return this.openBrowserConsole(target, aWindow, aWindow)
         .then((aBrowserConsole) => {
           this._browserConsoleDefer.resolve(aBrowserConsole);
           this._browserConsoleDefer = null;
-        })
+        });
     }, console.error.bind(console));
 
     return this._browserConsoleDefer.promise;
   },
 
   /**
    * Opens or focuses the Browser Console.
    */
@@ -485,17 +485,17 @@ WebConsole.prototype = {
   viewSourceInDebugger: function WC_viewSourceInDebugger(aSourceURL, aSourceLine) {
     let toolbox = gDevTools.getToolbox(this.target);
     if (!toolbox) {
       this.viewSource(aSourceURL, aSourceLine);
       return;
     }
     toolbox.viewSourceInDebugger(aSourceURL, aSourceLine).then(() => {
       this.ui.emit("source-in-debugger-opened");
-    })
+    });
   },
 
   /**
    * Tries to open a JavaScript file related to the web page for the web console
    * instance in the corresponding Scratchpad.
    *
    * @param string aSourceURL
    *        The URL of the file which corresponds to a Scratchpad id.
@@ -583,17 +583,17 @@ WebConsole.prototype = {
     if (this.chromeUtilsWindow && this.mainPopupSet) {
       let popupset = this.mainPopupSet;
       let panels = popupset.querySelectorAll("panel[hudId=" + this.hudId + "]");
       for (let panel of panels) {
         panel.hidePopup();
       }
     }
 
-    let onDestroy = Task.async(function*() {
+    let onDestroy = Task.async(function* () {
       if (!this._browserConsole) {
         try {
           yield this.target.activeTab.focus();
         }
         catch (ex) {
           // Tab focus can fail if the tab or target is closed.
         }
       }
@@ -634,92 +634,92 @@ WebConsole.prototype = {
  */
 function BrowserConsole()
 {
   WebConsole.apply(this, arguments);
   this._telemetry = new Telemetry();
 }
 
 BrowserConsole.prototype = Heritage.extend(WebConsole.prototype,
-{
-  _browserConsole: true,
-  _bc_init: null,
-  _bc_destroyer: null,
+  {
+    _browserConsole: true,
+    _bc_init: null,
+    _bc_destroyer: null,
 
-  $init: WebConsole.prototype.init,
+    $init: WebConsole.prototype.init,
 
   /**
    * Initialize the Browser Console instance.
    *
    * @return object
    *         A promise for the initialization.
    */
-  init: function BC_init()
+    init: function BC_init()
   {
-    if (this._bc_init) {
-      return this._bc_init;
-    }
+      if (this._bc_init) {
+        return this._bc_init;
+      }
 
-    this.ui._filterPrefsPrefix = BROWSER_CONSOLE_FILTER_PREFS_PREFIX;
+      this.ui._filterPrefsPrefix = BROWSER_CONSOLE_FILTER_PREFS_PREFIX;
 
-    let window = this.iframeWindow;
+      let window = this.iframeWindow;
 
     // Make sure that the closing of the Browser Console window destroys this
     // instance.
-    let onClose = () => {
-      window.removeEventListener("unload", onClose);
-      window.removeEventListener("focus", onFocus);
-      this.destroy();
-    };
-    window.addEventListener("unload", onClose);
+      let onClose = () => {
+        window.removeEventListener("unload", onClose);
+        window.removeEventListener("focus", onFocus);
+        this.destroy();
+      };
+      window.addEventListener("unload", onClose);
 
     // Make sure Ctrl-W closes the Browser Console window.
-    window.document.getElementById("cmd_close").removeAttribute("disabled");
+      window.document.getElementById("cmd_close").removeAttribute("disabled");
 
-    this._telemetry.toolOpened("browserconsole");
+      this._telemetry.toolOpened("browserconsole");
 
     // Create an onFocus handler just to display the dev edition promo.
     // This is to prevent race conditions in some environments.
     // Hook to display promotional Developer Edition doorhanger. Only displayed once.
-    let onFocus = () => showDoorhanger({ window, type: "deveditionpromo" });
-    window.addEventListener("focus", onFocus);
+      let onFocus = () => showDoorhanger({ window, type: "deveditionpromo" });
+      window.addEventListener("focus", onFocus);
 
-    this._bc_init = this.$init();
-    return this._bc_init;
-  },
+      this._bc_init = this.$init();
+      return this._bc_init;
+    },
 
-  $destroy: WebConsole.prototype.destroy,
+    $destroy: WebConsole.prototype.destroy,
 
   /**
    * Destroy the object.
    *
    * @return object
    *         A promise object that is resolved once the Browser Console is closed.
    */
-  destroy: function BC_destroy()
+    destroy: function BC_destroy()
   {
-    if (this._bc_destroyer) {
-      return this._bc_destroyer.promise;
-    }
+      if (this._bc_destroyer) {
+        return this._bc_destroyer.promise;
+      }
 
-    this._telemetry.toolClosed("browserconsole");
+      this._telemetry.toolClosed("browserconsole");
 
-    this._bc_destroyer = promise.defer();
+      this._bc_destroyer = promise.defer();
 
-    let chromeWindow = this.chromeWindow;
-    this.$destroy().then(() =>
+      let chromeWindow = this.chromeWindow;
+      this.$destroy().then(() =>
       this.target.client.close(() => {
         HUDService._browserConsoleID = null;
         chromeWindow.close();
         this._bc_destroyer.resolve(null);
       }));
 
-    return this._bc_destroyer.promise;
-  },
-});
+      return this._bc_destroyer.promise;
+    },
+  });
 
 const HUDService = new HUD_SERVICE();
 
 (() => {
   let methods = ["openWebConsole", "openBrowserConsole",
                  "toggleBrowserConsole", "getOpenWebConsole",
                  "getBrowserConsole", "getHudByWindow",
                  "openBrowserConsoleOrFocus", "getHudReferenceById"];
--- a/devtools/client/webconsole/net/components/net-info-params.js
+++ b/devtools/client/webconsole/net/components/net-info-params.js
@@ -21,17 +21,17 @@ var NetInfoParams = React.createClass({
     })).isRequired,
   },
 
   displayName: "NetInfoParams",
 
   render() {
     let params = this.props.params || [];
 
-    params.sort(function(a, b) {
+    params.sort(function (a, b) {
       return a.name > b.name ? 1 : -1;
     });
 
     let rows = [];
     params.forEach(param => {
       rows.push(
         DOM.tr({key: param.name},
           DOM.td({className: "netInfoParamName"},
--- a/devtools/client/webconsole/net/data-provider.js
+++ b/devtools/client/webconsole/net/data-provider.js
@@ -12,21 +12,21 @@ const promise = require("promise");
 var promises = new Map();
 
 /**
  * This object is used to fetch network data from the backend.
  * Communication with the chrome scope is based on message
  * exchange.
  */
 var DataProvider = {
-  hasPendingRequests: function() {
+  hasPendingRequests: function () {
     return promises.size > 0;
   },
 
-  requestData: function(client, actor, method) {
+  requestData: function (client, actor, method) {
     let key = actor + ":" + method;
     let p = promises.get(key);
     if (p) {
       return p;
     }
 
     let deferred = promise.defer();
     let realMethodName = "get" + method.charAt(0).toUpperCase() +
@@ -40,17 +40,17 @@ var DataProvider = {
       promises.delete(key);
       deferred.resolve(response);
     });
 
     promises.set(key, deferred.promise);
     return deferred.promise;
   },
 
-  resolveString: function(client, stringGrip) {
+  resolveString: function (client, stringGrip) {
     let key = stringGrip.actor + ":getString";
     let p = promises.get(key);
     if (p) {
       return p;
     }
 
     p = client.getString(stringGrip).then(result => {
       promises.delete(key);
--- a/devtools/client/webconsole/net/net-request.js
+++ b/devtools/client/webconsole/net/net-request.js
@@ -33,17 +33,17 @@ const XHTML_NS = "http://www.w3.org/1999
  * When the user expands the log, data are requested from the backend
  * and rendered directly within the Console iframe.
  */
 function NetRequest(log) {
   this.initialize(log);
 }
 
 NetRequest.prototype = {
-  initialize: function(log) {
+  initialize: function (log) {
     this.client = log.client;
 
     // 'this.file' field is following HAR spec.
     // http://www.softwareishard.com/blog/har-12-spec/
     this.file = log.response;
     this.parentNode = log.node;
     this.file.request.queryString = parseURLParams(this.file.request.url);
 
@@ -60,17 +60,17 @@ NetRequest.prototype = {
     this.parentNode.setAttribute("collapsible", true);
 
     this.parentNode.classList.add("netRequest");
 
     // Register a click listener.
     this.addClickListener();
   },
 
-  addClickListener: function() {
+  addClickListener: function () {
     // Add an event listener to toggle the expanded state when clicked.
     // The event bubbling is canceled if the user clicks on the log
     // itself (not on the expanded body), so opening of the default
     // modal dialog is avoided.
     this.parentNode.addEventListener("click", (event) => {
       if (!isLeftClick(event)) {
         return;
       }
@@ -86,17 +86,17 @@ NetRequest.prototype = {
       // Alright, the user is clicking fine, let's open HTTP details!
       this.onToggleBody(event);
 
       // Avoid the default modal dialog
       cancelEvent(event);
     }, true);
   },
 
-  onToggleBody: function(event) {
+  onToggleBody: function (event) {
     let target = event.currentTarget;
     let logRow = target.closest(".netRequest");
     logRow.classList.toggle("opened");
 
     let twisty = this.parentNode.querySelector(".theme-twisty");
     if (logRow.classList.contains("opened")) {
       twisty.setAttribute("open", true);
     } else {
@@ -109,40 +109,40 @@ NetRequest.prototype = {
     } else {
       this.closeBody();
     }
   },
 
   /**
    * Executed when 'networkEventUpdate' is received from the backend.
    */
-  updateBody: function(response) {
+  updateBody: function (response) {
     // 'networkEventUpdate' event indicates that there are new data
     // available on the backend. The following logic checks the response
     // cache and if this data has been already requested before they
     // need to be updated now (re-requested).
     let method = response.updateType;
     let cached = this.cachedResponses.get(method);
     if (cached) {
       this.cachedResponses.delete(method);
       this.requestData(method);
     }
   },
 
   /**
    * Close network inline preview body.
    */
-  closeBody: function() {
+  closeBody: function () {
     this.netInfoBodyBox.parentNode.removeChild(this.netInfoBodyBox);
   },
 
   /**
    * Render network inline preview body.
    */
-  renderBody: function() {
+  renderBody: function () {
     let messageBody = this.parentNode.querySelector(".message-body-wrapper");
 
     // Create box for all markup rendered by ReactJS. Since we are
     // rendering within webconsole.xul (i.e. XUL document) we need
     // to explicitly specify XHTML namespace.
     let doc = messageBody.ownerDocument;
     this.netInfoBodyBox = doc.createElementNS(XHTML_NS, "div");
     this.netInfoBodyBox.classList.add("netInfoBody");
@@ -158,33 +158,33 @@ NetRequest.prototype = {
     this.body = ReactDOM.render(body, this.netInfoBodyBox);
 
     this.refresh();
   },
 
   /**
    * Render top level ReactJS component.
    */
-  refresh: function() {
+  refresh: function () {
     if (!this.netInfoBodyBox) {
       return;
     }
 
     // TODO: As soon as Redux is in place there will be reducer
     // computing a new state.
     let newState = Object.assign({}, this.body.state, {
       data: this.file
     });
 
     this.body.setState(newState);
   },
 
   // Communication with the backend
 
-  requestData: function(method) {
+  requestData: function (method) {
     // If the response has already been received bail out.
     let response = this.cachedResponses.get(method);
     if (response) {
       return;
     }
 
     // Set an attribute indicating that this net log is waiting for
     // data coming from the backend. Intended mainly for tests.
@@ -206,17 +206,17 @@ NetRequest.prototype = {
           let event = document.createEvent("Event");
           event.initEvent("netlog-no-pending-requests", true, true);
           this.parentNode.dispatchEvent(event);
         });
       }
     });
   },
 
-  onRequestData: function(method, response) {
+  onRequestData: function (method, response) {
     // TODO: This code will be part of a reducer.
     let result;
     switch (method) {
       case "requestHeaders":
         result = this.onRequestHeaders(response);
         break;
       case "responseHeaders":
         result = this.onResponseHeaders(response);
@@ -235,68 +235,68 @@ NetRequest.prototype = {
         break;
     }
 
     result.then(() => {
       this.refresh();
     });
   },
 
-  onRequestHeaders: function(response) {
+  onRequestHeaders: function (response) {
     this.file.request.headers = response.headers;
 
     return this.resolveHeaders(this.file.request.headers);
   },
 
-  onResponseHeaders: function(response) {
+  onResponseHeaders: function (response) {
     this.file.response.headers = response.headers;
 
     return this.resolveHeaders(this.file.response.headers);
   },
 
-  onResponseContent: function(response) {
+  onResponseContent: function (response) {
     let content = response.content;
 
     for (let p in content) {
       this.file.response.content[p] = content[p];
     }
 
     return Promise.resolve();
   },
 
-  onRequestPostData: function(response) {
+  onRequestPostData: function (response) {
     this.file.request.postData = response.postData;
     return Promise.resolve();
   },
 
-  onRequestCookies: function(response) {
+  onRequestCookies: function (response) {
     this.file.request.cookies = response.cookies;
     return this.resolveHeaders(this.file.request.cookies);
   },
 
-  onResponseCookies: function(response) {
+  onResponseCookies: function (response) {
     this.file.response.cookies = response.cookies;
     return this.resolveHeaders(this.file.response.cookies);
   },
 
-  resolveHeaders: function(headers) {
+  resolveHeaders: function (headers) {
     let promises = [];
 
     for (let header of headers) {
       if (typeof header.value == "object") {
         promises.push(this.resolveString(header.value).then(value => {
           header.value = value;
         }));
       }
     }
 
     return Promise.all(promises);
   },
 
-  resolveString: function(object, propName) {
+  resolveString: function (object, propName) {
     let stringGrip = object[propName];
     if (typeof stringGrip == "object") {
       DataProvider.resolveString(this.client, stringGrip).then(args => {
         object[propName] = args;
         this.refresh();
       });
     }
   }
--- a/devtools/client/webconsole/net/utils/json.js
+++ b/devtools/client/webconsole/net/utils/json.js
@@ -18,17 +18,17 @@ const contentTypes = {
 };
 
 // Implementation
 var Json = {};
 
 /**
  * Parsing JSON
  */
-Json.parseJSONString = function(jsonString) {
+Json.parseJSONString = function (jsonString) {
   if (!jsonString.length) {
     return null;
   }
 
   let regex, matches;
 
   let first = firstNonWs(jsonString);
   if (first !== "[" && first !== "{") {
@@ -192,17 +192,17 @@ function pseudoJsonToJson(json) {
   ret += json.slice(at);
   if (hasMultipleParts) {
     ret = "[" + ret + "]";
   }
 
   return ret;
 }
 
-Json.isJSON = function(contentType, data) {
+Json.isJSON = function (contentType, data) {
   // Workaround for JSON responses without proper content type
   // Let's consider all responses starting with "{" as JSON. In the worst
   // case there will be an exception when parsing. This means that no-JSON
   // responses (and post data) (with "{") can be parsed unnecessarily,
   // which represents a little overhead, but this happens only if the request
   // is actually expanded by the user in the UI (Net & Console panels).
   // Do a manual string search instead of checking (data.strip()[0] === "{")
   // to improve performance/memory usage.
--- a/devtools/client/webconsole/net/utils/net.js
+++ b/devtools/client/webconsole/net/utils/net.js
@@ -53,82 +53,82 @@ const mimeCategoryMap = {
   "font/ttf": "font",
   "font/woff": "font",
   "application/x-otf": "font",
   "application/x-font-otf": "font"
 };
 
 var NetUtils = {};
 
-NetUtils.isImage = function(contentType) {
+NetUtils.isImage = function (contentType) {
   if (!contentType) {
     return false;
   }
 
   contentType = contentType.split(";")[0];
   contentType = contentType.trim();
   return mimeCategoryMap[contentType] == "image";
 };
 
-NetUtils.isHTML = function(contentType) {
+NetUtils.isHTML = function (contentType) {
   if (!contentType) {
     return false;
   }
 
   contentType = contentType.split(";")[0];
   contentType = contentType.trim();
   return mimeCategoryMap[contentType] == "html";
 };
 
-NetUtils.getHeaderValue = function(headers, name) {
+NetUtils.getHeaderValue = function (headers, name) {
   if (!headers) {
     return null;
   }
 
   name = name.toLowerCase();
   for (let i = 0; i < headers.length; ++i) {
     let headerName = headers[i].name.toLowerCase();
     if (headerName == name) {
       return headers[i].value;
     }
   }
 };
 
-NetUtils.parseXml = function(content) {
+NetUtils.parseXml = function (content) {
   let contentType = content.mimeType.split(";")[0];
   contentType = contentType.trim();
 
   let parser = new DOMParser();
   let doc = parser.parseFromString(content.text, contentType);
   let root = doc.documentElement;
 
   // Error handling
   let nsURI = "http://www.mozilla.org/newlayout/xml/parsererror.xml";
   if (root.namespaceURI == nsURI && root.nodeName == "parsererror") {
     return null;
   }
 
   return doc;
 };
 
-NetUtils.isURLEncodedRequest = function(file) {
+NetUtils.isURLEncodedRequest = function (file) {
   let mimeType = "application/x-www-form-urlencoded";
 
   let postData = file.request.postData;
   if (postData && postData.text) {
     let text = postData.text.toLowerCase();
     if (text.startsWith("content-type: " + mimeType)) {
       return true;
     }
   }
 
   let value = NetUtils.getHeaderValue(file.request.headers, "content-type");
   return value && value.startsWith(mimeType);
 };
 
-NetUtils.isMultiPartRequest = function(file) {
+NetUtils.isMultiPartRequest = function (file) {
   let mimeType = "multipart/form-data";
   let value = NetUtils.getHeaderValue(file.request.headers, "content-type");
   return value && value.startsWith(mimeType);
 };
 
 // Exports from this module
 module.exports = NetUtils;
--- a/devtools/client/webconsole/new-console-output/components/console-output.js
+++ b/devtools/client/webconsole/new-console-output/components/console-output.js
@@ -37,17 +37,17 @@ const ConsoleOutput = createClass({
   componentDidUpdate() {
     if (this.shouldScrollBottom) {
       let node = ReactDOM.findDOMNode(this).parentNode.parentNode.parentNode;
       node.scrollTop = node.scrollHeight;
     }
   },
 
   render() {
-    let messageNodes = this.props.messages.map(function(message) {
+    let messageNodes = this.props.messages.map(function (message) {
       return (
         MessageContainer({ message })
       );
     });
     return (
       dom.div({}, messageNodes)
     );
   }
--- a/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
@@ -49,17 +49,17 @@ function ConsoleApiCall(props) {
           children
         )
       )
     )
   );
 }
 
 function formatTextContent(args) {
-  return args.map(function(arg, i, arr) {
+  return args.map(function (arg, i, arr) {
     const str = dom.span({className: "console-string"}, arg);
     if (i < arr.length - 1) {
       return [str, " "];
     }
     return str;
   });
 }
 
--- a/devtools/client/webconsole/new-console-output/main.js
+++ b/devtools/client/webconsole/new-console-output/main.js
@@ -13,12 +13,12 @@ Cu.import("resource://devtools/client/sh
 
 // Initialize module loader and load all modules of the new inline
 // preview feature. The entire code-base doesn't need any extra
 // privileges and runs entirely in content scope.
 const NewConsoleOutputWrapper = BrowserLoader({
   baseURI: "resource://devtools/client/webconsole/new-console-output/",
   window: this}).require("./new-console-output-wrapper");
 
-this.NewConsoleOutput = function(parentNode, jsterm) {
+this.NewConsoleOutput = function (parentNode, jsterm) {
   console.log("Creating NewConsoleOutput", parentNode, NewConsoleOutputWrapper);
   return new NewConsoleOutputWrapper(parentNode, jsterm);
 };
--- a/devtools/client/webconsole/new-console-output/test/actions/test_messages.js
+++ b/devtools/client/webconsole/new-console-output/test/actions/test_messages.js
@@ -10,28 +10,28 @@ const {
   prepareMessage
 } = require("devtools/client/webconsole/new-console-output/utils/messages");
 const constants = require("devtools/client/webconsole/new-console-output/constants");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function*() {
+add_task(function* () {
   const packet = testPackets.get("console.log");
   const action = messageAdd(packet);
   const expected = {
     type: constants.MESSAGE_ADD,
     // Prepare message is tested independently.
     message: prepareMessage(packet)
   };
   deepEqual(action, expected,
     "messageAdd action creator returns expected action object");
 });
 
-add_task(function*() {
+add_task(function* () {
   const action = messagesClear();
   const expected = {
     type: constants.MESSAGES_CLEAR,
   };
   deepEqual(action, expected,
     "messagesClear action creator returns expected action object");
 });
--- a/devtools/client/webconsole/new-console-output/test/components/head.js
+++ b/devtools/client/webconsole/new-console-output/test/components/head.js
@@ -44,17 +44,17 @@ testCommands.set("pageError", {
   command: null,
   commandType: "pageError",
   expectedText: "ReferenceError: asdf is not defined"
 });
 
 function* getPacket(command, type = "evaluationResult") {
   try {
     // Attach the console to the tab.
-    let state = yield new Promise(function(resolve) {
+    let state = yield new Promise(function (resolve) {
       attachConsoleToTab(["ConsoleAPI"], resolve);
     });
 
     // Run the command and get the packet.
     let packet;
     switch (type) {
       case "consoleAPICall":
         packet = yield new Promise((resolve) => {
@@ -150,17 +150,17 @@ function cleanActualHTML(htmlString) {
 
 function cleanExpectedHTML(htmlString) {
   return htmlString.replace(/(?:\r\n|\r|\n)\s*/g, "");
 }
 
 // Helpers copied in from shared/webconsole/test/common.js
 function initCommon()
 {
-  //Services.prefs.setBoolPref("devtools.debugger.log", true);
+  // Services.prefs.setBoolPref("devtools.debugger.log", true);
 }
 
 function initDebuggerServer()
 {
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
   }
@@ -229,17 +229,17 @@ function _attachConsole(aListeners, aCal
         let tab = aResponse.tabs[aResponse.selected];
         aState.dbgClient.attachTab(tab.actor, function (response, tabClient) {
           if (aAttachToWorker) {
             var worker = new Worker("console-test-worker.js");
             worker.addEventListener("message", function listener() {
               worker.removeEventListener("message", listener);
               tabClient.listWorkers(function (response) {
                 tabClient.attachWorker(response.workers[0].actor, function (response, workerClient) {
-                  workerClient.attachThread({}, function(aResponse) {
+                  workerClient.attachThread({}, function (aResponse) {
                     aState.actor = workerClient.consoleActor;
                     aState.dbgClient.attachConsole(workerClient.consoleActor, aListeners,
                                                    _onAttachConsole.bind(null, aState));
                   });
                 });
               });
             });
           } else {
--- a/devtools/client/webconsole/new-console-output/test/store/test_messages.js
+++ b/devtools/client/webconsole/new-console-output/test/store/test_messages.js
@@ -12,48 +12,48 @@ const { getAllMessages } = require("devt
 
 function run_test() {
   run_next_test();
 }
 
 /**
  * Test adding a message to the store.
  */
-add_task(function*() {
+add_task(function* () {
   const { getState, dispatch } = storeFactory();
 
   dispatch(actions.messageAdd(packet));
 
   const expectedMessage = prepareMessage(packet);
 
   deepEqual(getAllMessages(getState()), [expectedMessage],
     "MESSAGE_ADD action adds a message");
 });
 
 /**
  * Test repeating messages in the store.
  */
-add_task(function*() {
+add_task(function* () {
   const { getState, dispatch } = storeFactory();
 
   dispatch(actions.messageAdd(packet));
   dispatch(actions.messageAdd(packet));
   dispatch(actions.messageAdd(packet));
 
   const expectedMessage = prepareMessage(packet);
   expectedMessage.repeat = 3;
 
   deepEqual(getAllMessages(getState()), [expectedMessage],
     "Adding same message to the store twice results in repeated message");
 });
 
 /**
  * Test getRepeatId().
  */
-add_task(function*() {
+add_task(function* () {
   const message1 = prepareMessage(packet);
   const message2 = prepareMessage(packet);
   equal(getRepeatId(message1), getRepeatId(message2),
     "getRepeatId() returns same repeat id for objects with the same values");
 
   message2.data.arguments = ["new args"];
   notEqual(getRepeatId(message1), getRepeatId(message2),
     "getRepeatId() returns different repeat ids for different values");
--- a/devtools/client/webconsole/test/browser_bug1045902_console_csp_ignore_reflected_xss_message.js
+++ b/devtools/client/webconsole/test/browser_bug1045902_console_csp_ignore_reflected_xss_message.js
@@ -37,16 +37,16 @@ function loadDocument(browser) {
 }
 
 function testViolationMessage() {
   let aOutputNode = hud.outputNode;
 
   return waitForSuccess({
     name: "Confirming that CSP logs messages to the console when " +
           "\u2018reflected-xss\u2019 directive is used!",
-    validator: function() {
+    validator: function () {
       console.log(aOutputNode.textContent);
       let success = false;
       success = aOutputNode.textContent.indexOf(EXPECTED_RESULT) > -1;
       return success;
     }
   });
 }
--- a/devtools/client/webconsole/test/browser_bug664688_sandbox_update_after_navigation.js
+++ b/devtools/client/webconsole/test/browser_bug664688_sandbox_update_after_navigation.js
@@ -71,17 +71,17 @@ add_task(function* () {
 
   is(hud.outputNode.textContent.indexOf("Permission denied"), -1,
      "no permission denied errors");
 
   gBrowser.goBack();
 
   yield waitForSuccess({
     name: "go back",
-    validator: function() {
+    validator: function () {
       return content.location.href == TEST_URI1;
     },
   });
 
   hud.jsterm.clearOutput();
   executeSoon(() => {
     hud.jsterm.execute("window.location.href");
   });
--- a/devtools/client/webconsole/test/browser_console.js
+++ b/devtools/client/webconsole/test/browser_console.js
@@ -14,17 +14,17 @@ const TEST_FILE = "chrome://mochitests/c
 
 const TEST_XHR_ERROR_URI = `http://example.com/404.html?${Date.now()}`;
 
 const TEST_IMAGE = "http://example.com/browser/devtools/client/webconsole/" +
                    "test/test-image.png";
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
 
   let opened = waitForConsole();
 
   let hud = HUDService.getBrowserConsole();
   ok(!hud, "browser console is not open");
   info("wait for the browser console to open with ctrl-shift-j");
   EventUtils.synthesizeKey("j", { accelKey: true, shiftKey: true }, window);
--- a/devtools/client/webconsole/test/browser_console_clear_on_reload.js
+++ b/devtools/client/webconsole/test/browser_console_clear_on_reload.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Check that clear output on page reload works - bug 705921.
 // Check that clear output and page reload remove the sidebar - bug 971967.
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   const PREF = "devtools.webconsole.persistlog";
   const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                    "test/test-console.html";
 
   Services.prefs.setBoolPref(PREF, false);
   registerCleanupFunction(() => Services.prefs.clearUserPref(PREF));
 
   yield loadTab(TEST_URI);
--- a/devtools/client/webconsole/test/browser_console_consolejsm_output.js
+++ b/devtools/client/webconsole/test/browser_console_consolejsm_output.js
@@ -11,17 +11,17 @@ function onNewMessage(aEvent, aNewMessag
   for (let msg of aNewMessages) {
     // Messages that shouldn't be output contain the substring FAIL_TEST
     if (msg.node.textContent.includes("FAIL_TEST")) {
       ok(false, "Message shouldn't have been output: " + msg.node.textContent);
     }
   }
 }
 
-add_task(function*() {
+add_task(function* () {
   let consoleStorage = Cc["@mozilla.org/consoleAPI-storage;1"];
   let storage = consoleStorage.getService(Ci.nsIConsoleAPIStorage);
   storage.clearEvents();
 
   let {console} = Cu.import("resource://gre/modules/Console.jsm", {});
   console.log("bug861338-log-cached");
 
   let hud = yield HUDService.toggleBrowserConsole();
--- a/devtools/client/webconsole/test/browser_console_copy_command.js
+++ b/devtools/client/webconsole/test/browser_console_copy_command.js
@@ -39,21 +39,21 @@ add_task(function* testCopy() {
   let RANDOM = Math.random();
   let string = "Text: " + RANDOM;
   let obj = {a: 1, b: "foo", c: RANDOM};
 
   let samples = [
                   [RANDOM, RANDOM],
                   [JSON.stringify(string), string],
                   [obj.toSource(), JSON.stringify(obj, null, "  ")],
-                  [
-                    "$('#" + ID + "')",
-                    content.document.getElementById(ID).outerHTML
-                  ]
-                ];
+    [
+      "$('#" + ID + "')",
+      content.document.getElementById(ID).outerHTML
+    ]
+  ];
   for (let [source, reference] of samples) {
     let deferredResult = promise.defer();
 
     SimpleTest.waitForClipboard(
       "" + reference,
       () => {
         let command = "copy(" + source + ")";
         info("Attempting to copy: " + source);
--- a/devtools/client/webconsole/test/browser_console_filters.js
+++ b/devtools/client/webconsole/test/browser_console_filters.js
@@ -7,17 +7,17 @@
 // Console. See bug 878186.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf8,<p>browser console filters";
 const WEB_CONSOLE_PREFIX = "devtools.webconsole.filter.";
 const BROWSER_CONSOLE_PREFIX = "devtools.browserconsole.filter.";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
 
   info("open the web console");
   let hud = yield openConsole();
   ok(hud, "web console opened");
 
   is(Services.prefs.getBoolPref(BROWSER_CONSOLE_PREFIX + "exception"), true,
      "'exception' filter is enabled (browser console)");
--- a/devtools/client/webconsole/test/browser_console_hide_jsterm_when_devtools_chrome_enabled_false.js
+++ b/devtools/client/webconsole/test/browser_console_hide_jsterm_when_devtools_chrome_enabled_false.js
@@ -1,13 +1,13 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
- 
+
 /*
  * Bug 922161 - Hide Browser Console JS input field if devtools.chrome.enabled
  * is false.
  * when devtools.chrome.enabled then
  *   -browser console jsterm should be enabled
  *   -browser console object inspector properties should be set.
  *   -webconsole jsterm should be enabled
  *   -webconsole object inspector properties should be set.
--- a/devtools/client/webconsole/test/browser_console_iframe_messages.js
+++ b/devtools/client/webconsole/test/browser_console_iframe_messages.js
@@ -50,17 +50,17 @@ const expectedMessagesAny = [
     name: "iframe 1 (repeats: 2)",
     text: "iframe 1",
     category: CATEGORY_WEBDEV,
     severity: SEVERITY_LOG,
     repeats: 2
   },
 ];
 
-add_task(function*() {
+add_task(function* () {
   // On e10s, the exception is triggered in child process
   // and is ignored by test harness
   if (!Services.appinfo.browserTabsRemoteAutostart) {
     expectUncaughtException();
   }
 
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
@@ -79,19 +79,19 @@ function* testWebConsole(hud) {
   yield waitForMessages({
     webconsole: hud,
     messages: expectedMessages,
   });
 
   info("first messages matched");
 
   yield waitForMessages({
-      webconsole: hud,
-      messages: expectedMessagesAny,
-      matchCondition: "any",
+    webconsole: hud,
+    messages: expectedMessagesAny,
+    matchCondition: "any",
   });
 }
 
 function* testBrowserConsole(hud) {
   ok(hud, "browser console opened");
 
   // TODO: The browser console doesn't show page's console.log statements
   // in e10s windows. See Bug 1241289.
--- a/devtools/client/webconsole/test/browser_console_keyboard_accessibility.js
+++ b/devtools/client/webconsole/test/browser_console_keyboard_accessibility.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Check that basic keyboard shortcuts work in the web console.
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                    "test/test-console.html";
 
   yield loadTab(TEST_URI);
 
   let hud = yield openConsole();
   ok(hud, "Web Console opened");
 
--- a/devtools/client/webconsole/test/browser_console_log_inspectable_object.js
+++ b/devtools/client/webconsole/test/browser_console_log_inspectable_object.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test that objects given to console.log() are inspectable.
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab("data:text/html;charset=utf8,test for bug 676722 - " +
                 "inspectable objects for window.console");
 
   let hud = yield openConsole();
   hud.jsterm.clearOutput(true);
 
   yield hud.jsterm.execute("myObj = {abba: 'omgBug676722'}");
   hud.jsterm.execute("console.log('fooBug676722', myObj)");
--- a/devtools/client/webconsole/test/browser_console_native_getters.js
+++ b/devtools/client/webconsole/test/browser_console_native_getters.js
@@ -6,17 +6,17 @@
 // Check that native getters and setters for DOM elements work as expected in
 // variables view - bug 870220.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf8,<title>bug870220</title>\n" +
                  "<p>hello world\n<p>native getters!";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   let jsterm = hud.jsterm;
 
   jsterm.execute("document");
 
   let [result] = yield waitForMessages({
     webconsole: hud,
--- a/devtools/client/webconsole/test/browser_console_optimized_out_vars.js
+++ b/devtools/client/webconsole/test/browser_console_optimized_out_vars.js
@@ -18,35 +18,35 @@ function test() {
 
     let sources = panelWin.DebuggerView.Sources;
     yield panel.addBreakpoint({ actor: sources.values[0], line: 18 });
     yield ensureThreadClientState(panel, "resumed");
 
     let fetchedScopes = panelWin.once(panelWin.EVENTS.FETCHED_SCOPES);
 
     // Cause the debuggee to pause
-    ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+    ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
       let button = content.document.querySelector("button");
       button.click();
     });
 
     yield fetchedScopes;
     ok(true, "Scopes were fetched");
 
     yield toolbox.selectTool("webconsole");
 
     // This is the meat of the test: evaluate the optimized out variable.
     hud.jsterm.execute("upvar");
     yield waitForMessages({
-            webconsole: hud,
-            messages: [{
-              text: "optimized out",
-              category: CATEGORY_OUTPUT,
-            }]
-          });
+      webconsole: hud,
+      messages: [{
+        text: "optimized out",
+        category: CATEGORY_OUTPUT,
+      }]
+    });
 
     finishTest();
   }).then(null, aError => {
     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
   });
 }
 
 // Debugger helper functions stolen from devtools/client/debugger/test/head.js.
--- a/devtools/client/webconsole/test/browser_console_variables_view.js
+++ b/devtools/client/webconsole/test/browser_console_variables_view.js
@@ -7,17 +7,17 @@
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-eval-in-stackframe.html";
 
 var hud, gVariablesView;
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   hud = gVariablesView = null;
 });
 
 add_task(function* () {
   yield loadTab(TEST_URI);
 
   hud = yield openConsole();
 
--- a/devtools/client/webconsole/test/browser_console_variables_view_filter.js
+++ b/devtools/client/webconsole/test/browser_console_variables_view_filter.js
@@ -6,19 +6,19 @@
 // Check that variables view filter feature works fine in the console.
 
 function props(view, prefix = "") {
   // First match only the visible one, not hidden by a search
   let visible = [...view].filter(([id, prop]) => prop._isMatch);
   // Then flatten the list into a list of strings
   // being the jsonpath of each attribute being visible in the view
   return visible.reduce((list, [id, prop]) => {
-                   list.push(prefix + id);
-                   return list.concat(props(prop, prefix + id + "."));
-                 }, []);
+    list.push(prefix + id);
+    return list.concat(props(prop, prefix + id + "."));
+  }, []);
 }
 
 function assertAttrs(view, expected, message) {
   is(props(view).join(","), expected, message);
 }
 
 add_task(function* () {
   yield loadTab("data:text/html;charset=utf-8,webconsole-filter");
--- a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js
+++ b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js
@@ -7,33 +7,33 @@
 // from the js debugger, when changing the value of a property in the variables
 // view.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-eval-in-stackframe.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   let dbgPanel = yield openDebugger();
   yield waitForFrameAdded(dbgPanel);
   yield openConsole();
   yield testVariablesView(hud);
 });
 
 function* waitForFrameAdded(dbgPanel) {
   let thread = dbgPanel.panelWin.DebuggerController.activeThread;
 
   info("Waiting for framesadded");
   yield new Promise(resolve => {
     thread.addOneTimeListener("framesadded", resolve);
-    ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+    ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
       content.wrappedJSObject.firstCall();
     });
   });
 }
 
 function* testVariablesView(hud) {
   let jsterm = hud.jsterm;
   let msg = yield jsterm.execute("fooObj");
--- a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js
+++ b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js
@@ -6,17 +6,17 @@
 // Test that makes sure web console eval works while the js debugger paused the
 // page, and while the inspector is active. See bug 886137.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-eval-in-stackframe.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   let dbgPanel = yield openDebugger();
   yield openInspector();
   yield waitForFrameAdded(dbgPanel);
 
   yield openConsole();
@@ -24,17 +24,17 @@ add_task(function*() {
 });
 
 function* waitForFrameAdded(dbgPanel) {
   let thread = dbgPanel.panelWin.DebuggerController.activeThread;
 
   info("Waiting for framesadded");
   yield new Promise(resolve => {
     thread.addOneTimeListener("framesadded", resolve);
-    ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+    ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
       content.wrappedJSObject.firstCall();
     });
   });
 }
 
 function* testVariablesView(hud) {
   info("testVariablesView");
   let jsterm = hud.jsterm;
--- a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js
+++ b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js
@@ -76,17 +76,17 @@ function onExecuteFooAndFoo2() {
   executeSoon(() => {
     gJSTerm.clearOutput();
 
     info("openDebugger");
     openDebugger().then(() => {
       gThread.addOneTimeListener("framesadded", onFramesAdded);
 
       info("firstCall()");
-      ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+      ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
         content.wrappedJSObject.firstCall();
       });
     });
   });
 }
 
 function onFramesAdded() {
   info("onFramesAdded, openConsole() now");
--- a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js
+++ b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js
@@ -6,17 +6,17 @@
 // Test to make sure that web console commands can fire while paused at a
 // breakpoint that was triggered from a JS call.  Relies on asynchronous js
 // evaluation over the protocol - see Bug 1088861.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-eval-in-stackframe.html";
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
 
   info("open the web console");
   let hud = yield openConsole();
   let {jsterm} = hud;
 
   info("open the debugger");
   let {panelWin} = yield openDebugger();
--- a/devtools/client/webconsole/test/browser_output_longstring_expand.js
+++ b/devtools/client/webconsole/test/browser_output_longstring_expand.js
@@ -18,17 +18,17 @@ add_task(function* () {
   let initialString =
     longString.substring(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH);
 
   yield loadTab(TEST_URI);
 
   let hud = yield openConsole();
 
   hud.jsterm.clearOutput(true);
-  hud.jsterm.execute("console.log('bazbaz', '" + longString +"', 'boom')");
+  hud.jsterm.execute("console.log('bazbaz', '" + longString + "', 'boom')");
 
   let [result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       name: "console.log output",
       text: ["bazbaz", "boom", initialString],
       noText: "foobar",
       longString: true,
--- a/devtools/client/webconsole/test/browser_webconsole_autocomplete-properties-with-non-alphanumeric-names.js
+++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete-properties-with-non-alphanumeric-names.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that properties starting with underscores or dollars can be
 // autocompleted (bug 967468).
 
-add_task(function*() {
+add_task(function* () {
   const TEST_URI = "data:text/html;charset=utf8,test autocompletion with " +
                    "$ or _";
   yield loadTab(TEST_URI);
 
   function* autocomplete(term) {
     let deferred = promise.defer();
 
     jsterm.setInputValue(term);
--- a/devtools/client/webconsole/test/browser_webconsole_autocomplete_and_selfxss.js
+++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete_and_selfxss.js
@@ -36,17 +36,17 @@ function consoleOpened(HUD) {
 
   // wait for key "u"
   function onCompletionValue() {
     completionValue = jsterm.completeNode.value;
 
     // Arguments: expected, setup, success, failure.
     waitForClipboard(
       stringToCopy,
-      function() {
+      function () {
         clipboardHelper.copyString(stringToCopy);
       },
       onClipboardCopy,
       finishTest);
   }
 
   function onClipboardCopy() {
     testSelfXss();
--- a/devtools/client/webconsole/test/browser_webconsole_autocomplete_crossdomain_iframe.js
+++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete_crossdomain_iframe.js
@@ -9,17 +9,17 @@
 "use strict";
 
 function test() {
   let hud;
 
   const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                    "test/test-bug-989025-iframe-parent.html";
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab(TEST_URI);
     hud = yield openConsole(tab);
 
     hud.jsterm.execute("document.title");
 
     yield waitForMessages({
       webconsole: hud,
       messages: [{
--- a/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js
+++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js
@@ -7,22 +7,22 @@
 // stackframe from the js debugger.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-autocomplete-in-stackframe.html";
 
 var gStackframes;
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   gStackframes = null;
 });
 
 requestLongerTimeout(2);
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   yield testCompletion(hud);
 });
 
 function* testCompletion(hud) {
   let jsterm = hud.jsterm;
   let input = jsterm.inputNode;
@@ -32,80 +32,80 @@ function* testCompletion(hud) {
   input.value = "document.title.";
   input.setSelectionRange(input.value.length, input.value.length);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   let newItems = popup.getItems();
   ok(newItems.length > 0, "'document.title.' gave a list of suggestions");
-  ok(newItems.some(function(item) {
-       return item.label == "substr";
-     }), "autocomplete results do contain substr");
-  ok(newItems.some(function(item) {
-       return item.label == "toLowerCase";
-     }), "autocomplete results do contain toLowerCase");
-  ok(newItems.some(function(item) {
-       return item.label == "strike";
-     }), "autocomplete results do contain strike");
+  ok(newItems.some(function (item) {
+    return item.label == "substr";
+  }), "autocomplete results do contain substr");
+  ok(newItems.some(function (item) {
+    return item.label == "toLowerCase";
+  }), "autocomplete results do contain toLowerCase");
+  ok(newItems.some(function (item) {
+    return item.label == "strike";
+  }), "autocomplete results do contain strike");
 
   // Test if 'f' gives 'foo1' but not 'foo2' or 'foo3'
   input.value = "f";
   input.setSelectionRange(1, 1);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
   ok(newItems.length > 0, "'f' gave a list of suggestions");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1";
-     }), "autocomplete results do contain foo1");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1Obj";
-     }), "autocomplete results do contain foo1Obj");
-  ok(newItems.every(function(item) {
-       return item.label != "foo2";
-     }), "autocomplete results do not contain foo2");
-  ok(newItems.every(function(item) {
-       return item.label != "foo2Obj";
-     }), "autocomplete results do not contain foo2Obj");
-  ok(newItems.every(function(item) {
-       return item.label != "foo3";
-     }), "autocomplete results do not contain foo3");
-  ok(newItems.every(function(item) {
-       return item.label != "foo3Obj";
-     }), "autocomplete results do not contain foo3Obj");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1";
+  }), "autocomplete results do contain foo1");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1Obj";
+  }), "autocomplete results do contain foo1Obj");
+  ok(newItems.every(function (item) {
+    return item.label != "foo2";
+  }), "autocomplete results do not contain foo2");
+  ok(newItems.every(function (item) {
+    return item.label != "foo2Obj";
+  }), "autocomplete results do not contain foo2Obj");
+  ok(newItems.every(function (item) {
+    return item.label != "foo3";
+  }), "autocomplete results do not contain foo3");
+  ok(newItems.every(function (item) {
+    return item.label != "foo3Obj";
+  }), "autocomplete results do not contain foo3Obj");
 
   // Test if 'foo1Obj.' gives 'prop1' and 'prop2'
   input.value = "foo1Obj.";
   input.setSelectionRange(8, 8);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "prop1";
-     }), "autocomplete results do contain prop1");
-  ok(!newItems.every(function(item) {
-       return item.label != "prop2";
-     }), "autocomplete results do contain prop2");
+  ok(!newItems.every(function (item) {
+    return item.label != "prop1";
+  }), "autocomplete results do contain prop1");
+  ok(!newItems.every(function (item) {
+    return item.label != "prop2";
+  }), "autocomplete results do contain prop2");
 
   // Test if 'foo1Obj.prop2.' gives 'prop21'
   input.value = "foo1Obj.prop2.";
   input.setSelectionRange(14, 14);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "prop21";
-     }), "autocomplete results do contain prop21");
+  ok(!newItems.every(function (item) {
+    return item.label != "prop21";
+  }), "autocomplete results do contain prop21");
 
   info("Opening Debugger");
   let dbg = yield openDebugger();
 
   info("Waiting for pause");
   yield pauseDebugger(dbg);
 
   info("Opening Console again");
@@ -116,34 +116,34 @@ function* testCompletion(hud) {
   input.value = "f";
   input.setSelectionRange(1, 1);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
   ok(newItems.length > 0, "'f' gave a list of suggestions");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo3";
-     }), "autocomplete results do contain foo3");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo3Obj";
-     }), "autocomplete results do contain foo3Obj");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1";
-     }), "autocomplete results do contain foo1");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1Obj";
-     }), "autocomplete results do contain foo1Obj");
-  ok(newItems.every(function(item) {
-       return item.label != "foo2";
-     }), "autocomplete results do not contain foo2");
-  ok(newItems.every(function(item) {
-       return item.label != "foo2Obj";
-     }), "autocomplete results do not contain foo2Obj");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo3";
+  }), "autocomplete results do contain foo3");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo3Obj";
+  }), "autocomplete results do contain foo3Obj");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1";
+  }), "autocomplete results do contain foo1");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1Obj";
+  }), "autocomplete results do contain foo1Obj");
+  ok(newItems.every(function (item) {
+    return item.label != "foo2";
+  }), "autocomplete results do not contain foo2");
+  ok(newItems.every(function (item) {
+    return item.label != "foo2Obj";
+  }), "autocomplete results do not contain foo2Obj");
 
   yield openDebugger();
 
   gStackframes.selectFrame(1);
 
   info("openConsole");
   yield openConsole();
 
@@ -151,71 +151,71 @@ function* testCompletion(hud) {
   input.value = "f";
   input.setSelectionRange(1, 1);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
   ok(newItems.length > 0, "'f' gave a list of suggestions");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo2";
-     }), "autocomplete results do contain foo2");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo2Obj";
-     }), "autocomplete results do contain foo2Obj");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1";
-     }), "autocomplete results do contain foo1");
-  ok(!newItems.every(function(item) {
-       return item.label != "foo1Obj";
-     }), "autocomplete results do contain foo1Obj");
-  ok(newItems.every(function(item) {
-       return item.label != "foo3";
-     }), "autocomplete results do not contain foo3");
-  ok(newItems.every(function(item) {
-       return item.label != "foo3Obj";
-     }), "autocomplete results do not contain foo3Obj");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo2";
+  }), "autocomplete results do contain foo2");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo2Obj";
+  }), "autocomplete results do contain foo2Obj");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1";
+  }), "autocomplete results do contain foo1");
+  ok(!newItems.every(function (item) {
+    return item.label != "foo1Obj";
+  }), "autocomplete results do contain foo1Obj");
+  ok(newItems.every(function (item) {
+    return item.label != "foo3";
+  }), "autocomplete results do not contain foo3");
+  ok(newItems.every(function (item) {
+    return item.label != "foo3Obj";
+  }), "autocomplete results do not contain foo3Obj");
 
   // Test if 'foo2Obj.' gives 'prop1'
   input.value = "foo2Obj.";
   input.setSelectionRange(8, 8);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "prop1";
-     }), "autocomplete results do contain prop1");
+  ok(!newItems.every(function (item) {
+    return item.label != "prop1";
+  }), "autocomplete results do contain prop1");
 
   // Test if 'foo2Obj.prop1.' gives 'prop11'
   input.value = "foo2Obj.prop1.";
   input.setSelectionRange(14, 14);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "prop11";
-     }), "autocomplete results do contain prop11");
+  ok(!newItems.every(function (item) {
+    return item.label != "prop11";
+  }), "autocomplete results do contain prop11");
 
   // Test if 'foo2Obj.prop1.prop11.' gives suggestions for a string
   // i.e. 'length'
   input.value = "foo2Obj.prop1.prop11.";
   input.setSelectionRange(21, 21);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "length";
-     }), "autocomplete results do contain length");
+  ok(!newItems.every(function (item) {
+    return item.label != "length";
+  }), "autocomplete results do contain length");
 
   // Test if 'foo1Obj[0].' throws no errors.
   input.value = "foo2Obj[0].";
   input.setSelectionRange(11, 11);
   yield new Promise(resolve => {
     jsterm.complete(jsterm.COMPLETE_HINT_ONLY, resolve);
   });
 
@@ -227,13 +227,13 @@ function pauseDebugger(aResult) {
   let debuggerWin = aResult.panelWin;
   let debuggerController = debuggerWin.DebuggerController;
   let thread = debuggerController.activeThread;
   gStackframes = debuggerController.StackFrames;
   return new Promise(resolve => {
     thread.addOneTimeListener("framesadded", resolve);
 
     info("firstCall()");
-    ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+    ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
       content.wrappedJSObject.firstCall();
     });
   });
 }
--- a/devtools/client/webconsole/test/browser_webconsole_autocomplete_popup_close_on_tab_switch.js
+++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete_popup_close_on_tab_switch.js
@@ -5,23 +5,23 @@
 
 // Test that the autocomplete popup closes on switching tabs. See bug 900448.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>bug 900448 - autocomplete " +
                  "popup closes on tab switch";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   let popup = hud.jsterm.autocompletePopup;
   let popupShown = once(popup._panel, "popupshown");
 
   hud.jsterm.setInputValue("sc");
   EventUtils.synthesizeKey("r", {});
 
   yield popupShown;
 
-  yield loadTab("data:text/html;charset=utf-8,<p>testing autocomplete closes")
+  yield loadTab("data:text/html;charset=utf-8,<p>testing autocomplete closes");
 
   ok(!popup.isOpen, "Popup closes on tab switch");
 });
--- a/devtools/client/webconsole/test/browser_webconsole_block_mixedcontent_securityerrors.js
+++ b/devtools/client/webconsole/test/browser_webconsole_block_mixedcontent_securityerrors.js
@@ -55,17 +55,17 @@ add_task(function* () {
   yield testClickOpenNewTab(hud, results2[0]);
 });
 
 function pushPrefEnv() {
   let deferred = promise.defer();
   let options = {"set": [
                   ["security.mixed_content.block_active_content", true],
                   ["security.mixed_content.block_display_content", true]
-                ]};
+  ]};
   SpecialPowers.pushPrefEnv(options, deferred.resolve);
   return deferred.promise;
 }
 
 function mixedContentOverrideTest2(hud, browser) {
   let deferred = promise.defer();
   let {gIdentityHandler} = browser.ownerGlobal;
   ok(gIdentityHandler._identityBox.classList.contains("mixedActiveBlocked"),
--- a/devtools/client/webconsole/test/browser_webconsole_bug_1006027_message_timestamps_incorrect.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_1006027_message_timestamps_incorrect.js
@@ -24,17 +24,17 @@ function test() {
         category: CATEGORY_WEBDEV,
         severity: SEVERITY_LOG,
       }],
     });
 
     info("hud.outputNode.textContent:\n" + hud.outputNode.textContent);
     let timestampNodes = hud.outputNode.querySelectorAll("span.timestamp");
     let aTimestampMilliseconds = Array.prototype.map.call(timestampNodes,
-      function(value) {
+      function (value) {
         // We are parsing timestamps as local time, relative to the begin of
         // the epoch.
         // This is not the correct value of the timestamp, but good enough for
         // comparison.
         return Date.parse("T" + String.trim(value.textContent));
       });
 
     let minTimestamp = Math.min.apply(null, aTimestampMilliseconds);
--- a/devtools/client/webconsole/test/browser_webconsole_bug_1010953_cspro.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_1010953_cspro.js
@@ -39,17 +39,17 @@ add_task(function* () {
 
   let loaded = loadBrowser(browser);
   content.location = TEST_VIOLATION;
   yield loaded;
 
   yield waitForSuccess({
     name: "Confirmed that CSP and CSP-Report-Only log different messages to " +
           "the console.",
-    validator: function() {
+    validator: function () {
       console.log(hud.outputNode.textContent);
       let success = false;
       success = hud.outputNode.textContent.indexOf(CSP_VIOLATION_MSG) > -1 &&
                 hud.outputNode.textContent.indexOf(CSP_REPORT_MSG) > -1;
       return success;
     }
   });
 });
--- a/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js
@@ -5,17 +5,17 @@
 
 // Tests that clicking on a function displays its source in the debugger.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-bug_1050691_click_function_to_source.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   // Open the Debugger panel.
   let debuggerPanel = yield openDebugger();
   // And right after come back to the Console panel.
   yield openConsole();
   yield testWithDebuggerOpen(hud, debuggerPanel);
@@ -32,17 +32,17 @@ function* testWithDebuggerOpen(hud, debu
 }
 
 function synthesizeClick(clickable, hud) {
   EventUtils.synthesizeMouse(clickable, 2, 2, {}, hud.iframeWindow);
 }
 
 var printFunction = Task.async(function* (hud) {
   hud.jsterm.clearOutput();
-  ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     content.wrappedJSObject.foo();
   });
   let [result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       category: CATEGORY_WEBDEV,
       severity: SEVERITY_LOG,
     }],
--- a/devtools/client/webconsole/test/browser_webconsole_bug_579412_input_focus.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_579412_input_focus.js
@@ -5,16 +5,16 @@
 
 // Tests that the input field is focused when the console is opened.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let inputNode = hud.jsterm.inputNode;
   ok(inputNode.getAttribute("focused"), "input node is focused");
 });
--- a/devtools/client/webconsole/test/browser_webconsole_bug_580001_closing_after_completion.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_580001_closing_after_completion.js
@@ -26,17 +26,17 @@ function testClosingAfterCompletion(hud,
     errorWhileClosing = true;
   }
 
   browser.addEventListener("error", errorListener, false);
 
   // Focus the jsterm and perform the keycombo to close the WebConsole.
   hud.jsterm.focus();
 
-  gDevTools.once("toolbox-destroyed", function() {
+  gDevTools.once("toolbox-destroyed", function () {
     browser.removeEventListener("error", errorListener, false);
     is(errorWhileClosing, false, "no error while closing the WebConsole");
     deferred.resolve();
   });
 
   if (Services.appinfo.OS == "Darwin") {
     EventUtils.synthesizeKey("i", { accelKey: true, altKey: true });
   } else {
--- a/devtools/client/webconsole/test/browser_webconsole_bug_580030_errors_after_page_reload.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_580030_errors_after_page_reload.js
@@ -8,17 +8,17 @@
 // https://bugzilla.mozilla.org/show_bug.cgi?id=580030
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-error.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab(TEST_URI);
     const hud = yield openConsole(tab);
     info("console opened");
 
     executeSoon(() => {
       hud.jsterm.clearOutput();
       info("wait for reload");
       content.location.reload();
--- a/devtools/client/webconsole/test/browser_webconsole_bug_580454_timestamp_l10n.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_580454_timestamp_l10n.js
@@ -5,17 +5,17 @@
 
 // Tests that appropriately-localized timestamps are printed.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   const TEST_TIMESTAMP = 12345678;
   let date = new Date(TEST_TIMESTAMP);
   let localizedString = WCUL10n.timestampString(TEST_TIMESTAMP);
   isnot(localizedString.indexOf(date.getHours()), -1, "the localized " +
         "timestamp contains the hours");
   isnot(localizedString.indexOf(date.getMinutes()), -1, "the localized " +
         "timestamp contains the minutes");
--- a/devtools/client/webconsole/test/browser_webconsole_bug_585237_line_limit.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_585237_line_limit.js
@@ -20,17 +20,17 @@ add_task(function* () {
   outputNode = hud.outputNode;
 
   hud.jsterm.clearOutput();
 
   let prefBranch = Services.prefs.getBranch("devtools.hud.loglimit.");
   prefBranch.setIntPref("console", 20);
 
   for (let i = 0; i < 30; i++) {
-    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function(i) {
+    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function (i) {
       // must change message to prevent repeats
       content.console.log("foo #" + i);
     });
   }
 
   yield waitForMessages({
     webconsole: hud,
     messages: [{
@@ -38,17 +38,17 @@ add_task(function* () {
       category: CATEGORY_WEBDEV,
       severity: SEVERITY_LOG,
     }],
   });
 
   is(countMessageNodes(), 20, "there are 20 message nodes in the output " +
      "when the log limit is set to 20");
 
-  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function () {
     content.console.log("bar bug585237");
   });
 
   yield waitForMessages({
     webconsole: hud,
     messages: [{
       text: "bar bug585237",
       category: CATEGORY_WEBDEV,
@@ -56,17 +56,17 @@ add_task(function* () {
     }],
   });
 
   is(countMessageNodes(), 20, "there are still 20 message nodes in the " +
      "output when adding one more");
 
   prefBranch.setIntPref("console", 30);
   for (let i = 0; i < 20; i++) {
-    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function(i) {
+    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function (i) {
       // must change message to prevent repeats
       content.console.log("boo #" + i);
     });
   }
 
   yield waitForMessages({
     webconsole: hud,
     messages: [{
--- a/devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_keys.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_keys.js
@@ -7,17 +7,17 @@
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>bug 585991 - autocomplete " +
                  "popup keyboard usage test";
 
 // We should turn off auto-multiline editing during these tests
 const PREF_AUTO_MULTILINE = "devtools.webconsole.autoMultiline";
 var HUD, popup, jsterm, inputNode, completeNode;
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setBoolPref(PREF_AUTO_MULTILINE, false);
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   yield consoleOpened(hud);
   yield popupHideAfterTab();
   yield testReturnKey();
   yield dontShowArrayNumbers();
@@ -25,17 +25,17 @@ add_task(function*() {
   yield popupHideAfterReturnWithNoSelection();
   yield testCompletionInText();
   yield popupHideAfterCompletionInText();
 
   HUD = popup = jsterm = inputNode = completeNode = null;
   Services.prefs.setBoolPref(PREF_AUTO_MULTILINE, true);
 });
 
-var consoleOpened = Task.async(function*(aHud) {
+var consoleOpened = Task.async(function* (aHud) {
   let deferred = promise.defer();
   HUD = aHud;
   info("web console opened");
 
   jsterm = HUD.jsterm;
 
   yield jsterm.execute("window.foobarBug585991={" +
     "'item0': 'value0'," +
@@ -57,20 +57,20 @@ var consoleOpened = Task.async(function*
     ok(popup.isOpen, "popup is open");
 
     // 4 values, and the following properties:
     // __defineGetter__  __defineSetter__ __lookupGetter__ __lookupSetter__
     // __proto__ hasOwnProperty isPrototypeOf propertyIsEnumerable
     // toLocaleString toString toSource unwatch valueOf watch constructor.
     is(popup.itemCount, 19, "popup.itemCount is correct");
 
-    let sameItems = popup.getItems().reverse().map(function(e) {
+    let sameItems = popup.getItems().reverse().map(function (e) {
       return e.label;
     });
-    ok(sameItems.every(function(prop, index) {
+    ok(sameItems.every(function (prop, index) {
       return [
         "__defineGetter__",
         "__defineSetter__",
         "__lookupGetter__",
         "__lookupSetter__",
         "__proto__",
         "constructor",
         "hasOwnProperty",
@@ -185,23 +185,23 @@ function popupHideAfterTab() {
          "completion was cancelled");
 
       ok(!completeNode.value, "completeNode is empty");
 
       deferred.resolve();
     }, false);
 
     info("press Escape to close the popup");
-    executeSoon(function() {
+    executeSoon(function () {
       EventUtils.synthesizeKey("VK_ESCAPE", {});
     });
   }, false);
 
   info("wait for completion: window.foobarBug585991.");
-  executeSoon(function() {
+  executeSoon(function () {
     jsterm.setInputValue("window.foobarBug585991");
     EventUtils.synthesizeKey(".", {});
   });
 
   return deferred.promise;
 }
 
 function testReturnKey() {
@@ -246,43 +246,43 @@ function testReturnKey() {
 
     info("press Return to accept suggestion. wait for popup to hide");
 
     executeSoon(() => EventUtils.synthesizeKey("VK_RETURN", {}));
   }, false);
 
   info("wait for completion suggestions: window.foobarBug585991.");
 
-  executeSoon(function() {
+  executeSoon(function () {
     jsterm.setInputValue("window.foobarBug58599");
     EventUtils.synthesizeKey("1", {});
     EventUtils.synthesizeKey(".", {});
   });
 
   return deferred.promise;
 }
 
 function* dontShowArrayNumbers() {
   let deferred = promise.defer();
 
   info("dontShowArrayNumbers");
-  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     content.wrappedJSObject.foobarBug585991 = ["Sherlock Holmes"];
   });
 
   jsterm = HUD.jsterm;
   popup = jsterm.autocompletePopup;
 
   popup._panel.addEventListener("popupshown", function onShown() {
     popup._panel.removeEventListener("popupshown", onShown, false);
 
-    let sameItems = popup.getItems().map(function(e) {
+    let sameItems = popup.getItems().map(function (e) {
       return e.label;
     });
-    ok(!sameItems.some(function(prop) {
+    ok(!sameItems.some(function (prop) {
       prop === "0";
     }), "Completing on an array doesn't show numbers.");
 
     popup._panel.addEventListener("popuphidden", function popupHidden() {
       popup._panel.removeEventListener("popuphidden", popupHidden, false);
       deferred.resolve();
     }, false);
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_popup.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_585991_autocomplete_popup.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf-8,<p>bug 585991 - autocomplete " +
                  "popup test";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   yield consoleOpened(hud);
 });
 
 function consoleOpened(HUD) {
   let deferred = promise.defer();
@@ -44,17 +44,17 @@ function consoleOpened(HUD) {
     ok(!input.hasAttribute("aria-activedescendant"),
        "no aria-activedescendant");
 
     popup.setItems(items);
 
     is(popup.itemCount, items.length, "items added");
 
     let sameItems = popup.getItems();
-    is(sameItems.every(function(aItem, aIndex) {
+    is(sameItems.every(function (aItem, aIndex) {
       return aItem === items[aIndex];
     }), true, "getItems returns back the same items");
 
     is(popup.selectedIndex, 2,
        "Index of the first item from bottom is selected.");
     is(popup.selectedItem, items[2], "First item from bottom is selected");
     ok(getActiveDescendant().selected, "aria-activedescendant is correct");
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_586388_select_all.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_586388_select_all.js
@@ -10,39 +10,39 @@ const TEST_URI = "http://example.com/";
 add_task(function* () {
   yield loadTab(TEST_URI);
 
   let hud = yield openConsole();
   yield testSelectionWhenMovingBetweenBoxes(hud);
   performTestsAfterOutput(hud);
 });
 
-var testSelectionWhenMovingBetweenBoxes = Task.async(function*(hud) {
+var testSelectionWhenMovingBetweenBoxes = Task.async(function* (hud) {
   let jsterm = hud.jsterm;
 
   // Fill the console with some output.
   jsterm.clearOutput();
   yield jsterm.execute("1 + 2");
   yield jsterm.execute("3 + 4");
   yield jsterm.execute("5 + 6");
 
   return waitForMessages({
     webconsole: hud,
     messages: [{
       text: "3",
       category: CATEGORY_OUTPUT,
     },
-    {
-      text: "7",
-      category: CATEGORY_OUTPUT,
-    },
-    {
-      text: "11",
-      category: CATEGORY_OUTPUT,
-    }],
+      {
+        text: "7",
+        category: CATEGORY_OUTPUT,
+      },
+      {
+        text: "11",
+        category: CATEGORY_OUTPUT,
+      }],
   });
 });
 
 function performTestsAfterOutput(hud) {
   let outputNode = hud.outputNode;
 
   ok(outputNode.childNodes.length >= 3, "the output node has children after " +
      "executing some JavaScript");
--- a/devtools/client/webconsole/test/browser_webconsole_bug_588730_text_node_insertion.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_588730_text_node_insertion.js
@@ -25,29 +25,29 @@ function testTextNodeInsertion(hud) {
   let outputNode = hud.outputNode;
 
   let label = document.createElementNS(
     "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "label");
   outputNode.appendChild(label);
 
   let error = false;
   let listener = {
-    observe: function(aMessage) {
+    observe: function (aMessage) {
       let messageText = aMessage.message;
       if (messageText.indexOf("JavaScript Warning") !== -1) {
         error = true;
       }
     }
   };
 
   Services.console.registerListener(listener);
 
   // This shouldn't fail.
   label.appendChild(document.createTextNode("foo"));
 
-  executeSoon(function() {
+  executeSoon(function () {
     Services.console.unregisterListener(listener);
     ok(!error, "no error when adding text nodes as children of labels");
 
     return deferred.resolve();
   });
   return deferred.promise;
 }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_592442_closing_brackets.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_592442_closing_brackets.js
@@ -5,17 +5,17 @@
 
 // Tests that, when the user types an extraneous closing bracket, no error
 // appears.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf-8,test for bug 592442";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
   let jsterm = hud.jsterm;
 
   jsterm.setInputValue("document.getElementById)");
 
   let error = false;
--- a/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
@@ -10,20 +10,20 @@ const TEST_URI = "http://example.com/bro
 
 const TEST_IFRAME_URI = "http://example.com/browser/devtools/client/" +
                         "webconsole/test/test-bug-593003-iframe-wrong-" +
                         "hud-iframe.html";
 
 const TEST_DUMMY_URI = "http://example.com/browser/devtools/client/" +
                        "webconsole/test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
 
   let tab1 = (yield loadTab(TEST_URI)).tab;
-  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     content.console.log("FOO");
   });
   yield openConsole();
 
   let tab2 = (yield loadTab(TEST_DUMMY_URI)).tab;
   yield openConsole(gBrowser.selectedTab);
 
   info("Reloading tab 1");
--- a/devtools/client/webconsole/test/browser_webconsole_bug_595350_multiple_windows_and_tabs.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_595350_multiple_windows_and_tabs.js
@@ -47,17 +47,17 @@ function addTabs(aWindow) {
       }
     }, true);
   }
 }
 
 function openConsoles() {
   function open(i) {
     let tab = openTabs[i];
-    openConsole(tab).then(function(hud) {
+    openConsole(tab).then(function (hud) {
       ok(hud, "HUD is open for tab " + i);
       let window = hud.target.tab.linkedBrowser.contentWindow;
       window.console.log("message for tab " + i);
 
       if (i >= openTabs.length - 1) {
         // Use executeSoon() to allow the promise to resolve.
         executeSoon(closeConsoles);
       }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_595934_message_categories.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_595934_message_categories.js
@@ -22,17 +22,17 @@ const TESTS = [
     category: "Layout: ImageMap",
     matchString: "shape=\"rect\"",
   },
   {
     // #2
     file: "test-bug-595934-html.html",
     category: "HTML",
     matchString: "multipart/form-data",
-    onload: function() {
+    onload: function () {
       let form = content.document.querySelector("form");
       form.submit();
     },
   },
   {
     // #3
     file: "test-bug-595934-workers.html",
     category: "Web Worker",
--- a/devtools/client/webconsole/test/browser_webconsole_bug_597103_deactivateHUDForContext_unfocused_window.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_597103_deactivateHUDForContext_unfocused_window.js
@@ -49,17 +49,17 @@ function tab2Loaded(aEvent) {
       ok(false, "gDevTools.showToolbox(target2) exception: " + ex);
       noErrors = false;
     }
   }
 
   function closeConsoles() {
     try {
       let target1 = TargetFactory.forTab(tab1);
-      gDevTools.closeToolbox(target1).then(function() {
+      gDevTools.closeToolbox(target1).then(function () {
         try {
           let target2 = TargetFactory.forTab(tab2);
           gDevTools.closeToolbox(target2).then(testEnd);
         } catch (ex) {
           ok(false, "gDevTools.closeToolbox(target2) exception: " + ex);
           noErrors = false;
         }
       });
@@ -69,21 +69,21 @@ function tab2Loaded(aEvent) {
     }
   }
 
   function testEnd() {
     ok(noErrors, "there were no errors");
 
     win1.gBrowser.removeTab(tab1);
 
-    Array.forEach(win2.gBrowser.tabs, function(aTab) {
+    Array.forEach(win2.gBrowser.tabs, function (aTab) {
       win2.gBrowser.removeTab(aTab);
     });
 
-    executeSoon(function() {
+    executeSoon(function () {
       win2.close();
       tab1 = tab2 = win1 = win2 = null;
       finishTest();
     });
   }
 
   openConsoles();
 }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_597136_network_requests_from_chrome.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_597136_network_requests_from_chrome.js
@@ -8,17 +8,17 @@
 
 "use strict";
 
 const TEST_URI = "http://example.com/";
 
 var good = true;
 var listener = {
   QueryInterface: XPCOMUtils.generateQI([ Ci.nsIObserver ]),
-  observe: function(subject) {
+  observe: function (subject) {
     if (subject instanceof Ci.nsIScriptError &&
         subject.category === "XPConnect JavaScript" &&
         subject.sourceName.contains("webconsole")) {
       good = false;
     }
   }
 };
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_599725_response_headers.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_599725_response_headers.js
@@ -20,17 +20,17 @@ function performTest(request, console) {
       if (header.name == name) {
         return header.value;
       }
     }
     return null;
   }
 
   console.webConsoleClient.getResponseHeaders(request.actor,
-    function(response) {
+    function (response) {
       headers = response.headers;
       ok(headers, "we have the response headers for reload");
 
       let contentType = readHeader("Content-Type");
       let contentLength = readHeader("Content-Length");
 
       ok(!contentType, "we do not have the Content-Type header");
       isnot(contentLength, 60, "Content-Length != 60");
--- a/devtools/client/webconsole/test/browser_webconsole_bug_611795.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_611795.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const TEST_URI = 'data:text/html;charset=utf-8,<div style="-moz-opacity:0;">' +
                  'test repeated css warnings</div><p style="-moz-opacity:0">' +
-                 'hi</p>';
+                 "hi</p>";
 var hud;
 
 /**
  * Unit test for bug 611795:
  * Repeated CSS messages get collapsed into one.
  */
 
 add_task(function* () {
--- a/devtools/client/webconsole/test/browser_webconsole_bug_613280_jsterm_copy.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_613280_jsterm_copy.js
@@ -24,21 +24,21 @@ function test() {
 }
 
 function performTest(HUD, [result]) {
   let msg = [...result.matched][0];
   let input = HUD.jsterm.inputNode;
   let selection = getSelection();
   let contentSelection = content.getSelection();
 
-  let clipboardSetup = function() {
+  let clipboardSetup = function () {
     goDoCommand("cmd_copy");
   };
 
-  let clipboardCopyDone = function() {
+  let clipboardCopyDone = function () {
     finishTest();
   };
 
   // Check if we first need to clear any existing selections.
   if (selection.rangeCount > 0 || contentSelection.rangeCount > 0 ||
       input.selectionStart != input.selectionEnd) {
     if (input.selectionStart != input.selectionEnd) {
       input.selectionStart = input.selectionEnd = 0;
--- a/devtools/client/webconsole/test/browser_webconsole_bug_614793_jsterm_scroll.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_614793_jsterm_scroll.js
@@ -16,17 +16,17 @@ add_task(function* () {
 });
 
 function* testScrollPosition(hud) {
   hud.jsterm.clearOutput();
 
   let scrollNode = hud.ui.outputWrapper;
 
   for (let i = 0; i < 150; i++) {
-    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function*(i) {
+    yield ContentTask.spawn(gBrowser.selectedBrowser, i, function* (i) {
       content.console.log("test message " + i);
     });
   }
 
   let oldScrollTop = -1;
 
   yield waitForMessages({
     webconsole: hud,
--- a/devtools/client/webconsole/test/browser_webconsole_bug_622303_persistent_filters.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_622303_persistent_filters.js
@@ -18,45 +18,45 @@ const prefs = {
     "csslog"
   ],
   "js": [
     "exception",
     "jswarn",
     "jslog",
   ],
   "logging": [
-     "error",
-     "warn",
-     "info",
-     "log",
-     "serviceworkers",
-     "sharedworkers",
-     "windowlessworkers"
+    "error",
+    "warn",
+    "info",
+    "log",
+    "serviceworkers",
+    "sharedworkers",
+    "windowlessworkers"
   ]
 };
 
 add_task(function* () {
   // Set all prefs to true
   for (let category in prefs) {
-    prefs[category].forEach(function(pref) {
+    prefs[category].forEach(function (pref) {
       Services.prefs.setBoolPref("devtools.webconsole.filter." + pref, true);
     });
   }
 
   yield loadTab("about:blank");
 
   let hud = yield openConsole();
 
   let hud2 = yield onConsoleOpen(hud);
   let hud3 = yield onConsoleReopen1(hud2);
   yield onConsoleReopen2(hud3);
 
   // Clear prefs
   for (let category in prefs) {
-    prefs[category].forEach(function(pref) {
+    prefs[category].forEach(function (pref) {
       Services.prefs.clearUserPref("devtools.webconsole.filter." + pref);
     });
   }
 });
 
 function onConsoleOpen(hud) {
   let deferred = promise.defer();
 
@@ -64,25 +64,25 @@ function onConsoleOpen(hud) {
 
   // Check if the filters menuitems exists and are checked
   for (let category in prefs) {
     let button = hudBox.querySelector(".webconsole-filter-button[category=\""
                                       + category + "\"]");
     ok(isChecked(button), "main button for " + category +
        " category is checked");
 
-    prefs[category].forEach(function(pref) {
+    prefs[category].forEach(function (pref) {
       let menuitem = hudBox.querySelector("menuitem[prefKey=" + pref + "]");
       ok(isChecked(menuitem), "menuitem for " + pref + " is checked");
     });
   }
 
   // Set all prefs to false
   for (let category in prefs) {
-    prefs[category].forEach(function(pref) {
+    prefs[category].forEach(function (pref) {
       hud.setFilterState(pref, false);
     });
   }
 
   // Re-init the console
   closeConsole().then(() => {
     openConsole().then(deferred.resolve);
   });
@@ -98,17 +98,17 @@ function onConsoleReopen1(hud) {
 
   // Check if the filter button and menuitems are unchecked
   for (let category in prefs) {
     let button = hudBox.querySelector(".webconsole-filter-button[category=\""
                                            + category + "\"]");
     ok(isUnchecked(button), "main button for " + category +
        " category is not checked");
 
-    prefs[category].forEach(function(pref) {
+    prefs[category].forEach(function (pref) {
       let menuitem = hudBox.querySelector("menuitem[prefKey=" + pref + "]");
       ok(isUnchecked(menuitem), "menuitem for " + pref + " is not checked");
     });
   }
 
   // Set first pref in each category to true
   for (let category in prefs) {
     hud.setFilterState(prefs[category][0], true);
--- a/devtools/client/webconsole/test/browser_webconsole_bug_630733_response_redirect_headers.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_630733_response_redirect_headers.js
@@ -46,38 +46,38 @@ function getHeaders() {
   let deferred = promise.defer();
 
   HUDService.lastFinishedRequest.callback = null;
 
   ok("301" in lastFinishedRequests, "request 1: 301 Moved Permanently");
   ok("404" in lastFinishedRequests, "request 2: 404 Not found");
 
   webConsoleClient.getResponseHeaders(lastFinishedRequests["301"].actor,
-    function(response) {
+    function (response) {
       lastFinishedRequests["301"].response.headers = response.headers;
 
       webConsoleClient.getResponseHeaders(lastFinishedRequests["404"].actor,
-        function(resp) {
+        function (resp) {
           lastFinishedRequests["404"].response.headers = resp.headers;
           executeSoon(deferred.resolve);
         });
     });
   return deferred.promise;
 }
 
 function getContent() {
   let deferred = promise.defer();
 
   webConsoleClient.getResponseContent(lastFinishedRequests["301"].actor,
-    function(response) {
+    function (response) {
       lastFinishedRequests["301"].response.content = response.content;
       lastFinishedRequests["301"].discardResponseBody = response.contentDiscarded;
 
       webConsoleClient.getResponseContent(lastFinishedRequests["404"].actor,
-        function(resp) {
+        function (resp) {
           lastFinishedRequests["404"].response.content = resp.content;
           lastFinishedRequests["404"].discardResponseBody =
             resp.contentDiscarded;
 
           webConsoleClient = null;
           executeSoon(deferred.resolve);
         });
     });
--- a/devtools/client/webconsole/test/browser_webconsole_bug_632275_getters_document_width.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_632275_getters_document_width.js
@@ -27,17 +27,17 @@ function consoleOpened(hud) {
 
 function onViewOpened(hud, event, view) {
   let doc = content.wrappedJSObject.document;
 
   findVariableViewProperties(view, [
     { name: /^(width|height)$/, dontMatch: 1 },
     { name: "foobar._val", value: getterValue },
     { name: "foobar.val", isGetter: true },
-  ], { webconsole: hud }).then(function() {
+  ], { webconsole: hud }).then(function () {
     is(doc.foobar._val, getterValue, "getter did not execute");
     is(doc.foobar.val, getterValue + 1, "getter executed");
     is(doc.foobar._val, getterValue + 1, "getter executed (recheck)");
 
     let textContent = hud.outputNode.textContent;
     is(textContent.indexOf("document.body.client"), -1,
        "no document.width/height warning displayed");
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_632347_iterators_generators.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_632347_iterators_generators.js
@@ -73,12 +73,12 @@ function consoleOpened(HUD) {
 }
 
 function testVariablesView(aWebconsole, aEvent, aView) {
   findVariableViewProperties(aView, [
     { name: "gen1", isGenerator: true },
     { name: "gen2", isGenerator: true },
     { name: "iter1", isIterator: true },
     { name: "iter2", isIterator: true },
-  ], { webconsole: aWebconsole }).then(function() {
+  ], { webconsole: aWebconsole }).then(function () {
     executeSoon(finishTest);
   });
 }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_642108_pruneTest.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_642108_pruneTest.js
@@ -17,17 +17,17 @@ function test() {
   Task.spawn(runner).then(finishTest);
 
   function* runner() {
     let {tab} = yield loadTab(TEST_URI);
 
     Services.prefs.setIntPref("devtools.hud.loglimit.cssparser", LOG_LIMIT);
     Services.prefs.setBoolPref("devtools.webconsole.filter.cssparser", true);
 
-    registerCleanupFunction(function() {
+    registerCleanupFunction(function () {
       Services.prefs.clearUserPref("devtools.hud.loglimit.cssparser");
       Services.prefs.clearUserPref("devtools.webconsole.filter.cssparser");
     });
 
     hud = yield openConsole(tab);
 
     for (let i = 0; i < 5; i++) {
       logCSSMessage("css log x");
@@ -49,22 +49,22 @@ function test() {
 
     let [result] = yield waitForMessages({
       webconsole: hud,
       messages: [{
         text: "css log 5",
         category: CATEGORY_CSS,
         severity: SEVERITY_WARNING,
       },
-      {
+        {
         // LOG_LIMIT + 5
-        text: "css log 24",
-        category: CATEGORY_CSS,
-        severity: SEVERITY_WARNING,
-      }],
+          text: "css log 24",
+          category: CATEGORY_CSS,
+          severity: SEVERITY_WARNING,
+        }],
     });
 
     is(hud.ui.outputNode.querySelectorAll(".message").length, LOG_LIMIT,
        "number of messages");
 
     is(Object.keys(hud.ui._repeatNodes).length, LOG_LIMIT,
        "repeated nodes pruned from repeatNodes");
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_651501_document_body_autocomplete.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_651501_document_body_autocomplete.js
@@ -65,17 +65,17 @@ function autocompletePopupHidden() {
   let popup = jsterm.autocompletePopup;
   let completeNode = jsterm.completeNode;
 
   popup._panel.removeEventListener("popuphidden", autocompletePopupHidden,
                                    false);
 
   ok(!popup.isOpen, "popup is not open");
 
-  jsterm.once("autocomplete-updated", function() {
+  jsterm.once("autocomplete-updated", function () {
     is(completeNode.value, testStr + "dy", "autocomplete shows document.body");
     deferred.resolve();
   });
 
   let inputStr = "document.b";
   jsterm.setInputValue(inputStr);
   EventUtils.synthesizeKey("o", {});
   let testStr = inputStr.replace(/./g, " ") + " ";
--- a/devtools/client/webconsole/test/browser_webconsole_bug_653531_highlighter_console_helper.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_653531_highlighter_console_helper.js
@@ -43,17 +43,17 @@ function createDocument() {
   setupHighlighterTests();
 }
 
 function setupHighlighterTests() {
   ok(h1, "we have the header node");
   openInspector().then(runSelectionTests);
 }
 
-var runSelectionTests = Task.async(function*(aInspector) {
+var runSelectionTests = Task.async(function* (aInspector) {
   inspector = aInspector;
 
   let onPickerStarted = inspector.toolbox.once("picker-started");
   inspector.toolbox.highlighterUtils.startPicker();
   yield onPickerStarted;
 
   info("Picker mode started, now clicking on H1 to select that node");
   h1.scrollIntoView();
--- a/devtools/client/webconsole/test/browser_webconsole_bug_659907_console_dir.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_659907_console_dir.js
@@ -5,17 +5,17 @@
 
 // Tests that console.dir works as intended.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf-8,Web Console test for " +
                  "bug 659907: Expand console object with a dir method";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   hud.jsterm.execute("console.dir(document)");
 
   let varView = yield hud.jsterm.once("variablesview-fetched");
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_660806_history_nav.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_660806_history_nav.js
@@ -16,17 +16,17 @@ add_task(function* () {
   yield consoleOpened(hud);
 });
 
 function consoleOpened(HUD) {
   let deferred = promise.defer();
 
   let jsterm = HUD.jsterm;
   let popup = jsterm.autocompletePopup;
-  let onShown = function() {
+  let onShown = function () {
     ok(false, "popup shown");
   };
 
   jsterm.execute("window.foobarBug660806 = {\
     'location': 'value0',\
     'locationbar': 'value1'\
   }");
 
@@ -40,15 +40,15 @@ function consoleOpened(HUD) {
      "lastInputValue is correct");
 
   EventUtils.synthesizeKey("VK_RETURN", {});
   EventUtils.synthesizeKey("VK_UP", {});
 
   is(jsterm.lastInputValue, "window.foobarBug660806.location",
      "lastInputValue is correct, again");
 
-  executeSoon(function() {
+  executeSoon(function () {
     ok(!popup.isOpen, "popup is not open");
     popup._panel.removeEventListener("popupshown", onShown, false);
     executeSoon(deferred.resolve);
   });
   return deferred.promise;
 }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_686937_autocomplete_JSTerm_helpers.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_686937_autocomplete_JSTerm_helpers.js
@@ -21,50 +21,50 @@ add_task(function* () {
   let input = jsterm.inputNode;
   let popup = jsterm.autocompletePopup;
 
   // Test if 'i' gives 'inspect'
   input.value = "i";
   input.setSelectionRange(1, 1);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
-  let newItems = popup.getItems().map(function(e) {
+  let newItems = popup.getItems().map(function (e) {
     return e.label;
   });
   ok(newItems.indexOf("inspect") > -1,
      "autocomplete results contain helper 'inspect'");
 
   // Test if 'window.' does not give 'inspect'.
   input.value = "window.";
   input.setSelectionRange(7, 7);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
-  newItems = popup.getItems().map(function(e) {
+  newItems = popup.getItems().map(function (e) {
     return e.label;
   });
   is(newItems.indexOf("inspect"), -1,
      "autocomplete results do not contain helper 'inspect'");
 
   // Test if 'dump(i' gives 'inspect'
   input.value = "dump(i";
   input.setSelectionRange(6, 6);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
-  newItems = popup.getItems().map(function(e) {
+  newItems = popup.getItems().map(function (e) {
     return e.label;
   });
   ok(newItems.indexOf("inspect") > -1,
      "autocomplete results contain helper 'inspect'");
 
   // Test if 'window.dump(i' gives 'inspect'
   input.value = "window.dump(i";
   input.setSelectionRange(13, 13);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
-  newItems = popup.getItems().map(function(e) {
+  newItems = popup.getItems().map(function (e) {
     return e.label;
   });
   ok(newItems.indexOf("inspect") > -1,
      "autocomplete results contain helper 'inspect'");
 
   jsterm = null;
 });
 
--- a/devtools/client/webconsole/test/browser_webconsole_bug_737873_mixedcontent.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_737873_mixedcontent.js
@@ -24,17 +24,17 @@ add_task(function* () {
   let hud = yield openConsole();
 
   yield testMixedContent(hud);
 
   Services.prefs.clearUserPref("security.mixed_content.block_display_content");
   Services.prefs.clearUserPref("security.mixed_content.block_active_content");
 });
 
-var testMixedContent = Task.async(function*(hud) {
+var testMixedContent = Task.async(function* (hud) {
   content.location = TEST_HTTPS_URI;
 
   let results = yield waitForMessages({
     webconsole: hud,
     messages: [{
       text: "example.com",
       category: CATEGORY_NETWORK,
       severity: SEVERITY_WARNING,
--- a/devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
@@ -41,17 +41,17 @@ function test() {
             severity: SEVERITY_LOG
           }
         ]
       }).then(() => {
         let msgs = hud.outputNode.querySelectorAll(".message[category=security]");
         is(msgs.length, 1, "one security message");
         testNoWarning(0);
       });
-    })
+    });
   });
 }
 
 function testNoWarning(id) {
   loadTab(TEST_URI_NOWARNING[id]).then(() => {
     openConsole().then((hud) => {
       content.console.log(SENTINEL_MSG);
       waitForMessages({
--- a/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js
@@ -29,21 +29,21 @@ function test() {
 
     let [exceptionRule, consoleRule] = yield waitForMessages({
       webconsole: hud,
       messages: [{
         text: "document.bar",
         category: CATEGORY_JS,
         severity: SEVERITY_ERROR,
       },
-      {
-        text: "Blah Blah",
-        category: CATEGORY_WEBDEV,
-        severity: SEVERITY_LOG,
-      }],
+        {
+          text: "Blah Blah",
+          category: CATEGORY_WEBDEV,
+          severity: SEVERITY_LOG,
+        }],
     });
 
     let exceptionMsg = [...exceptionRule.matched][0];
     let consoleMsg = [...consoleRule.matched][0];
     let nodes = [exceptionMsg.querySelector(".message-location > .frame-link"),
                  consoleMsg.querySelector(".message-location > .frame-link")];
     ok(nodes[0], ".location node for the exception message");
     ok(nodes[1], ".location node for the console message");
--- a/devtools/client/webconsole/test/browser_webconsole_bug_770099_violation.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_770099_violation.js
@@ -23,13 +23,13 @@ add_task(function* () {
   hud.jsterm.clearOutput();
 
   let loaded = loadBrowser(browser);
   content.location = TEST_VIOLATION;
   yield loaded;
 
   yield waitForSuccess({
     name: "CSP policy URI warning displayed successfully",
-    validator: function() {
+    validator: function () {
       return hud.outputNode.textContent.indexOf(CSP_VIOLATION_MSG) > -1;
     }
   });
 });
--- a/devtools/client/webconsole/test/browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js
@@ -60,43 +60,43 @@ function testViewSource() {
 function onStyleEditorReady(panel) {
   let deferred = promise.defer();
 
   let win = panel.panelWindow;
   ok(win, "Style Editor Window is defined");
   ok(StyleEditorUI, "Style Editor UI is defined");
 
   function fireEvent(toolbox, href, line) {
-    toolbox.once("styleeditor-selected", function(evt) {
+    toolbox.once("styleeditor-selected", function (evt) {
       info(evt + " event fired");
 
       checkStyleEditorForSheetAndLine(href, line - 1).then(deferred.resolve);
     });
 
     EventUtils.sendMouseEvent({ type: "click" }, nodes[1].querySelector(".frame-link-filename"));
   }
 
-  waitForFocus(function() {
+  waitForFocus(function () {
     info("style editor window focused");
 
     let href = nodes[0].getAttribute("data-url");
     let line = nodes[0].getAttribute("data-line");
     ok(line, "found source line");
 
-    checkStyleEditorForSheetAndLine(href, line - 1).then(function() {
+    checkStyleEditorForSheetAndLine(href, line - 1).then(function () {
       info("first check done");
 
       let target = TargetFactory.forTab(gBrowser.selectedTab);
       let toolbox = gDevTools.getToolbox(target);
 
       href = nodes[1].getAttribute("data-url");
       line = nodes[1].getAttribute("data-line");
       ok(line, "found source line");
 
-      toolbox.selectTool("webconsole").then(function() {
+      toolbox.selectTool("webconsole").then(function () {
         info("webconsole selected");
         fireEvent(toolbox, href, line);
       });
     });
   }, win);
 
   return deferred.promise;
 }
--- a/devtools/client/webconsole/test/browser_webconsole_bug_922212_console_dirxml.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_922212_console_dirxml.js
@@ -5,17 +5,17 @@
 
 // Tests that console.dirxml works as intended.
 
 "use strict";
 
 const TEST_URI = `data:text/html;charset=utf-8,Web Console test for bug 922212:
   Add console.dirxml`;
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   // Should work like console.log(window)
   hud.jsterm.execute("console.dirxml(window)");
 
   let [result] = yield waitForMessages({
--- a/devtools/client/webconsole/test/browser_webconsole_cached_autocomplete.js
+++ b/devtools/client/webconsole/test/browser_webconsole_cached_autocomplete.js
@@ -40,47 +40,47 @@ add_task(function* () {
   yield jsterm.execute("window.docfoobar = true");
 
   // Test typing 'window.doc'.
   input.value = "window.doc";
   input.setSelectionRange(10, 10);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   let newItems = popup.getItems();
-  ok(newItems.every(function(item) {
+  ok(newItems.every(function (item) {
     return item.label != "docfoobar";
   }), "autocomplete cached results do not contain docfoobar. list has not " +
       "been updated");
 
   // Test that backspace does not cause a request to the server
   input.value = "window.do";
   input.setSelectionRange(9, 9);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   newItems = popup.getItems();
-  ok(newItems.every(function(item) {
+  ok(newItems.every(function (item) {
     return item.label != "docfoobar";
   }), "autocomplete cached results do not contain docfoobar. list has not " +
       "been updated");
 
   yield jsterm.execute("delete window.docfoobar");
 
   // Test if 'window.getC' gives 'getComputedStyle'
   input.value = "window.";
   input.setSelectionRange(7, 7);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   input.value = "window.getC";
   input.setSelectionRange(11, 11);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   newItems = popup.getItems();
-  ok(!newItems.every(function(item) {
-       return item.label != "getComputedStyle";
-     }), "autocomplete results do contain getComputedStyle");
+  ok(!newItems.every(function (item) {
+    return item.label != "getComputedStyle";
+  }), "autocomplete results do contain getComputedStyle");
 
   // Test if 'dump(d' gives non-zero results
   input.value = "dump(d";
   input.setSelectionRange(6, 6);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   ok(popup.getItems().length > 0, "'dump(d' gives non-zero results");
 
@@ -92,17 +92,17 @@ add_task(function* () {
   yield jsterm.execute("window.docfoobar = true");
 
   // Make sure 'dump(window.doc)' does not contain 'docfoobar'.
   input.value = "dump(window.doc)";
   input.setSelectionRange(15, 15);
   yield complete(jsterm.COMPLETE_HINT_ONLY);
 
   newItems = popup.getItems();
-  ok(newItems.every(function(item) {
+  ok(newItems.every(function (item) {
     return item.label != "docfoobar";
   }), "autocomplete cached results do not contain docfoobar. list has not " +
       "been updated");
 
   yield jsterm.execute("delete window.docfoobar");
 
   jsterm = null;
 });
--- a/devtools/client/webconsole/test/browser_webconsole_certificate_messages.js
+++ b/devtools/client/webconsole/test/browser_webconsole_certificate_messages.js
@@ -29,17 +29,17 @@ var gWebconsoleTests = [
    warning: [], nowarning: ["SHA-1", "SSL 3.0", "RC4"]},
 ];
 const TRIGGER_MSG = "If you haven't seen ssl warnings yet, you won't";
 
 var gHud = undefined, gContentBrowser;
 var gCurrentTest;
 
 function test() {
-  registerCleanupFunction(function() {
+  registerCleanupFunction(function () {
     gHud = gContentBrowser = null;
   });
 
   loadTab(TEST_URI).then(({browser}) => {
     gContentBrowser = browser;
     openConsole().then(runTestLoop);
   });
 }
@@ -52,38 +52,38 @@ function runTestLoop(theHud) {
   }
   if (!gHud) {
     gHud = theHud;
   }
   gHud.jsterm.clearOutput();
   gContentBrowser.addEventListener("load", onLoad, true);
   if (gCurrentTest.pref) {
     SpecialPowers.pushPrefEnv({"set": gCurrentTest.pref},
-      function() {
+      function () {
         content.location = gCurrentTest.url;
       });
   } else {
     content.location = gCurrentTest.url;
   }
 }
 
 function onLoad() {
   gContentBrowser.removeEventListener("load", onLoad, true);
 
   waitForSuccess({
-      name: gCurrentTest.name,
-      validator: function() {
-        if (gHud.outputNode.textContent.indexOf(TRIGGER_MSG) >= 0) {
-          for (let warning of gCurrentTest.warning) {
-            if (gHud.outputNode.textContent.indexOf(warning) < 0) {
-              return false;
-            }
+    name: gCurrentTest.name,
+    validator: function () {
+      if (gHud.outputNode.textContent.indexOf(TRIGGER_MSG) >= 0) {
+        for (let warning of gCurrentTest.warning) {
+          if (gHud.outputNode.textContent.indexOf(warning) < 0) {
+            return false;
           }
-          for (let nowarning of gCurrentTest.nowarning) {
-            if (gHud.outputNode.textContent.indexOf(nowarning) >= 0) {
-              return false;
-            }
+        }
+        for (let nowarning of gCurrentTest.nowarning) {
+          if (gHud.outputNode.textContent.indexOf(nowarning) >= 0) {
+            return false;
           }
-          return true;
         }
+        return true;
       }
-    }).then(runTestLoop);
+    }
+  }).then(runTestLoop);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_change_font_size.js
+++ b/devtools/client/webconsole/test/browser_webconsole_change_font_size.js
@@ -2,17 +2,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const TEST_URI = "http://example.com/";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   Services.prefs.setIntPref("devtools.webconsole.fontSize", 10);
   let hud = yield HUDService.toggleBrowserConsole();
 
   let inputNode = hud.jsterm.inputNode;
   let outputNode = hud.jsterm.outputNode;
   outputNode.focus();
 
--- a/devtools/client/webconsole/test/browser_webconsole_chrome.js
+++ b/devtools/client/webconsole/test/browser_webconsole_chrome.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that code completion works properly in chrome tabs, like about:credits.
 
 "use strict";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab("about:config");
     ok(tab, "tab loaded");
 
     const hud = yield openConsole(tab);
     ok(hud, "we have a console");
     ok(hud.iframeWindow, "we have the console UI window");
 
     let jsterm = hud.jsterm;
@@ -23,16 +23,16 @@ function test() {
     ok(hud.outputNode, "we have an output node");
 
     // Test typing 'docu'.
     input.value = "docu";
     input.setSelectionRange(4, 4);
 
     let deferred = promise.defer();
 
-    jsterm.complete(jsterm.COMPLETE_HINT_ONLY, function() {
+    jsterm.complete(jsterm.COMPLETE_HINT_ONLY, function () {
       is(jsterm.completeNode.value, "    ment", "'docu' completion");
       deferred.resolve(null);
     });
 
     yield deferred.promise;
   }).then(finishTest);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js
+++ b/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js
@@ -27,17 +27,17 @@ function test() {
   }
 
   loadTab(TEST_URI).then(() => {
     openConsole().then((hud) => {
       openDebugger().then(({ toolbox, panelWin }) => {
         let deferred = promise.defer();
         fetchScopes(hud, toolbox, panelWin, deferred);
 
-        ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+        ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
           let button = content.document.querySelector("button");
           ok(button, "button element found");
           button.click();
         });
 
         return deferred.promise;
       });
     });
--- a/devtools/client/webconsole/test/browser_webconsole_console_logging_api.js
+++ b/devtools/client/webconsole/test/browser_webconsole_console_logging_api.js
@@ -5,17 +5,17 @@
 
 // Tests that the basic console.log()-style APIs and filtering work.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let outputNode = hud.outputNode;
 
   let methods = ["log", "info", "warn", "error", "exception", "debug"];
   for (let method of methods) {
--- a/devtools/client/webconsole/test/browser_webconsole_console_logging_workers_api.js
+++ b/devtools/client/webconsole/test/browser_webconsole_console_logging_workers_api.js
@@ -6,17 +6,17 @@
 // Tests that the basic console.log()-style APIs and filtering work for
 // sharedWorkers
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console-workers.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
 
   let hud = yield openConsole();
 
   yield waitForMessages({
     webconsole: hud,
     messages: [{
       text: "foo-bar-shared-worker"
--- a/devtools/client/webconsole/test/browser_webconsole_context_menu_open_in_var_view.js
+++ b/devtools/client/webconsole/test/browser_webconsole_context_menu_open_in_var_view.js
@@ -8,17 +8,17 @@
 
 "use strict";
 
 const TEST_URI = `data:text/html,<script>
   console.log("foo");
   console.log("foo", window);
 </script>`;
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   let [result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       category: CATEGORY_WEBDEV,
       severity: SEVERITY_LOG,
--- a/devtools/client/webconsole/test/browser_webconsole_context_menu_store_as_global.js
+++ b/devtools/client/webconsole/test/browser_webconsole_context_menu_store_as_global.js
@@ -9,17 +9,17 @@
 "use strict";
 
 const TEST_URI = `data:text/html,<script>
   window.bar = { baz: 1 };
   console.log("foo");
   console.log("foo", window.bar);
 </script>`;
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   let [result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       category: CATEGORY_WEBDEV,
       severity: SEVERITY_LOG,
--- a/devtools/client/webconsole/test/browser_webconsole_count.js
+++ b/devtools/client/webconsole/test/browser_webconsole_count.js
@@ -22,17 +22,17 @@ function test() {
     [
       "start",
       "<no label>: 2",
       "console.count() testcounter: 1",
       "console.count() testcounter: 2",
       "console.count() testcounter: 3",
       "console.count() testcounter: 4",
       "end"
-    ].forEach(function(msg) {
+    ].forEach(function (msg) {
       messages.push({
         text: msg,
         category: CATEGORY_WEBDEV,
         severity: SEVERITY_LOG
       });
     });
     messages.push({
       name: "Three local counts with no label and count=1",
@@ -50,17 +50,17 @@ function test() {
 
     BrowserTestUtils.synthesizeMouseAtCenter("#external", {}, gBrowser.selectedBrowser);
     messages = [];
     [
       "start",
       "console.count() testcounter: 5",
       "console.count() testcounter: 6",
       "end"
-    ].forEach(function(msg) {
+    ].forEach(function (msg) {
       messages.push({
         text: msg,
         category: CATEGORY_WEBDEV,
         severity: SEVERITY_LOG
       });
     });
     messages.push({
       name: "Two external counts with no label and count=1",
--- a/devtools/client/webconsole/test/browser_webconsole_exception_stackframe.js
+++ b/devtools/client/webconsole/test/browser_webconsole_exception_stackframe.js
@@ -51,34 +51,34 @@ function test() {
         stacktrace: stack,
       }, {
         text: "An invalid or illegal string was specified",
         category: CATEGORY_JS,
         severity: SEVERITY_ERROR,
         collapsible: true,
         stacktrace: [{
           file: TEST_FILE,
-            fn: "domAPI",
-            line: 25,
-          }, {
+          fn: "domAPI",
+          line: 25,
+        }, {
             file: TEST_FILE,
             fn: "onLoadDomAPI",
             line: 33,
           }
         ]
       }, {
         text: "DOMException",
         category: CATEGORY_JS,
         severity: SEVERITY_ERROR,
         collapsible: true,
         stacktrace: [{
-            file: TEST_FILE,
-            fn: "domException",
-            line: 29,
-          }, {
+          file: TEST_FILE,
+          fn: "domException",
+          line: 29,
+        }, {
             file: TEST_FILE,
             fn: "onLoadDomException",
             line: 36,
           },
 
         ]
       }],
     });
--- a/devtools/client/webconsole/test/browser_webconsole_execution_scope.js
+++ b/devtools/client/webconsole/test/browser_webconsole_execution_scope.js
@@ -5,32 +5,32 @@
 
 // Tests that commands run by the user are executed in content space.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
   hud.jsterm.execute("window.location.href;");
 
   let [input, output] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       text: "window.location.href;",
       category: CATEGORY_INPUT,
     },
-    {
-      text: TEST_URI,
-      category: CATEGORY_OUTPUT,
-    }],
+      {
+        text: TEST_URI,
+        category: CATEGORY_OUTPUT,
+      }],
   });
 
   let inputNode = [...input.matched][0];
   let outputNode = [...output.matched][0];
   is(inputNode.getAttribute("category"), "input",
      "input node category is correct");
   is(outputNode.getAttribute("category"), "output",
      "output node category is correct");
--- a/devtools/client/webconsole/test/browser_webconsole_history.js
+++ b/devtools/client/webconsole/test/browser_webconsole_history.js
@@ -9,17 +9,17 @@
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
 // Constants used for defining the direction of JSTerm input history navigation.
 const HISTORY_BACK = -1;
 const HISTORY_FORWARD = 1;
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let jsterm = hud.jsterm;
   let input = jsterm.inputNode;
 
   let executeList = ["document", "window", "window.location"];
--- a/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js
+++ b/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js
@@ -5,17 +5,17 @@
 
 // Test that the JS input field is focused when the user switches back to the
 // web console from other tools, see bug 891581.
 
 "use strict";
 
 const TEST_URI = "data:text/html;charset=utf8,<p>hello";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   is(hud.jsterm.inputNode.hasAttribute("focused"), true,
      "inputNode should be focused");
 
   hud.ui.filterBox.focus();
--- a/devtools/client/webconsole/test/browser_webconsole_js_input_expansion.js
+++ b/devtools/client/webconsole/test/browser_webconsole_js_input_expansion.js
@@ -5,17 +5,17 @@
 
 // Tests that the input box expands as the user types long lines.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let input = hud.jsterm.inputNode;
   input.focus();
 
   is(input.getAttribute("multiline"), "true", "multiline is enabled");
--- a/devtools/client/webconsole/test/browser_webconsole_jsterm.js
+++ b/devtools/client/webconsole/test/browser_webconsole_jsterm.js
@@ -56,17 +56,17 @@ function* testJSTerm(hud) {
   yield jsterm.execute("$x('.//*', document.body)[0] == $$('h1')[0]");
   yield checkResult("true", "$x() worked");
 
   // no jsterm.clearOutput() here as we clear the output using the clear() fn.
   yield jsterm.execute("clear()");
 
   yield waitForSuccess({
     name: "clear() worked",
-    validator: function() {
+    validator: function () {
       return jsterm.outputNode.childNodes.length == 0;
     }
   });
 
   jsterm.clearOutput();
   yield jsterm.execute("keys({b:1})[0] == 'b'");
   yield checkResult("true", "keys() worked", 1);
 
@@ -104,17 +104,17 @@ function* testJSTerm(hud) {
 
   jsterm.clearOutput();
   yield jsterm.execute("({}) instanceof Object");
   yield checkResult("true", "({}) instanceof Object == true");
 
   // check for occurrences of Object XRayWrapper, bug 604430
   jsterm.clearOutput();
   yield jsterm.execute("document");
-  yield checkResult(function(node) {
+  yield checkResult(function (node) {
     return node.textContent.search(/\[object xraywrapper/i) == -1;
   }, "document - no XrayWrapper");
 
   // check that pprint(window) and keys(window) don't throw, bug 608358
   jsterm.clearOutput();
   yield jsterm.execute("pprint(window)");
   yield checkResult(null, "pprint(window)");
 
@@ -125,17 +125,17 @@ function* testJSTerm(hud) {
   // bug 614561
   jsterm.clearOutput();
   yield jsterm.execute("pprint('hi')");
   yield checkResult("\"  0: \"h\"\n  1: \"i\"\"", "pprint('hi')");
 
   // check that pprint(function) shows function source, bug 618344
   jsterm.clearOutput();
   yield jsterm.execute("pprint(function() { var someCanaryValue = 42; })");
-  yield checkResult(function(node) {
+  yield checkResult(function (node) {
     return node.textContent.indexOf("someCanaryValue") > -1;
   }, "pprint(function) shows source");
 
   // check that an evaluated null produces "null", bug 650780
   jsterm.clearOutput();
   yield jsterm.execute("null");
   yield checkResult("null", "null is null");
 
--- a/devtools/client/webconsole/test/browser_webconsole_live_filtering_of_message_types.js
+++ b/devtools/client/webconsole/test/browser_webconsole_live_filtering_of_message_types.js
@@ -5,17 +5,17 @@
 
 // Tests that the message type filter checkboxes work.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let console = content.console;
 
   for (let i = 0; i < 50; i++) {
     console.log("foobarz #" + i);
--- a/devtools/client/webconsole/test/browser_webconsole_live_filtering_on_search_strings.js
+++ b/devtools/client/webconsole/test/browser_webconsole_live_filtering_on_search_strings.js
@@ -5,22 +5,22 @@
 
 // Tests that the text filter box works.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
-  ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     for (let i = 0; i < 50; i++) {
       content.console.log("http://www.example.com/ " + i);
     }
   });
 
   yield waitForMessages({
     webconsole: hud,
     messages: [{
--- a/devtools/client/webconsole/test/browser_webconsole_message_node_id.js
+++ b/devtools/client/webconsole/test/browser_webconsole_message_node_id.js
@@ -3,25 +3,25 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   hud.jsterm.execute("console.log('a log message')");
 
   let [result] = yield waitForMessages({
-      webconsole: hud,
-      messages: [{
+    webconsole: hud,
+    messages: [{
         text: "a log message",
         category: CATEGORY_WEBDEV,
         severity: SEVERITY_LOG,
       }],
   });
 
   let msg = [...result.matched][0];
   ok(msg.getAttribute("id"), "log message has an ID");
--- a/devtools/client/webconsole/test/browser_webconsole_multiline_input.js
+++ b/devtools/client/webconsole/test/browser_webconsole_multiline_input.js
@@ -28,22 +28,22 @@ let SHOULD_ENTER_MULTILINE = [
   // shift + enter creates a new line despite parse errors
   {input: "{2,}", shiftKey: true },
 ];
 let SHOULD_EXECUTE = [
   {input: "function foo() { }" },
   {input: "var a = 1;" },
   {input: "function foo() { var a = 1; }" },
   {input: '"asdf"' },
-  {input: '99 + 3' },
-  {input: '1, 2, 3' },
+  {input: "99 + 3" },
+  {input: "1, 2, 3" },
   // errors
-  {input: 'function f(x) { let y = 1, }' },
-  {input: 'function f(x=,) {' },
-  {input: '{2,}' },
+  {input: "function f(x) { let y = 1, }" },
+  {input: "function f(x=,) {" },
+  {input: "{2,}" },
 ];
 
 add_task(function* () {
   let { tab, browser } = yield loadTab(TEST_URI);
   let hud = yield openConsole();
   let inputNode = hud.jsterm.inputNode;
 
   for (let test of SHOULD_ENTER_MULTILINE) {
--- a/devtools/client/webconsole/test/browser_webconsole_netlogging.js
+++ b/devtools/client/webconsole/test/browser_webconsole_netlogging.js
@@ -97,17 +97,17 @@ add_task(function* testXhrPost() {
 
   yield closeTabAndToolbox();
 });
 
 add_task(function* testFormSubmission() {
   let pageLoadRequestFinished = waitForFinishedRequest(PAGE_REQUEST_PREDICATE);
   let hud = yield loadPageAndGetHud(TEST_NETWORK_REQUEST_URI);
 
-  info("Waiting for the page load to be finished.")
+  info("Waiting for the page load to be finished.");
   yield pageLoadRequestFinished;
 
   // The form POSTs to the page URL but over https (page over http).
   let finishedRequest = waitForFinishedRequest(PAGE_REQUEST_PREDICATE);
   ContentTask.spawn(gBrowser.selectedBrowser, { }, `function()
   {
     let form = content.document.querySelector("form");
     form.submit();
--- a/devtools/client/webconsole/test/browser_webconsole_open-links-without-callback.js
+++ b/devtools/client/webconsole/test/browser_webconsole_open-links-without-callback.js
@@ -33,17 +33,17 @@ function test() {
 
     // The correct anchor is second in the message node; the first anchor has
     // class .cm-variable. Ignore the first one by not matching anchors that
     // have the class .cm-variable.
     let urlNode = messageNode.querySelector("a:not(.cm-variable)");
 
     let linkOpened = false;
     let oldOpenUILinkIn = window.openUILinkIn;
-    window.openUILinkIn = function(aLink) {
+    window.openUILinkIn = function (aLink) {
       if (aLink == TEST_PAGE_URI) {
         linkOpened = true;
       }
     };
 
     EventUtils.synthesizeMouseAtCenter(urlNode, {}, hud.iframeWindow);
 
     ok(linkOpened, "Clicking the URL opens the desired page");
--- a/devtools/client/webconsole/test/browser_webconsole_output_01.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_01.js
@@ -104,17 +104,17 @@ var inputTests = [
   },
 ];
 
 longString = initialString = null;
 
 function test() {
   requestLongerTimeout(2);
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     return checkOutputForInputs(hud, inputTests);
   }).then(finishUp);
 }
 
 function finishUp() {
   longString = initialString = inputTests = null;
--- a/devtools/client/webconsole/test/browser_webconsole_output_02.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_02.js
@@ -70,19 +70,19 @@ var inputTests = [
                  '[object DOMStringMap],"',
     inspectable: true,
     variablesViewLabel: "Array[5]",
   },
 
   // 7 - array with more than 10 elements
   {
     input: "window.array3",
-    output: 'Array [ 1, Window \u2192 test-console-output-02.html, null, ' +
+    output: "Array [ 1, Window \u2192 test-console-output-02.html, null, " +
             '"a", "b", undefined, false, "", -Infinity, ' +
-            'testfn3DisplayName(), 3 more\u2026 ]',
+            "testfn3DisplayName(), 3 more\u2026 ]",
     printOutput: '"1,[object Window],,a,b,,false,,-Infinity,' +
                  'function testfn3() { return 42; },[object Object],foo,bar"',
     inspectable: true,
     variablesViewLabel: "Array[13]",
   },
 
   // 8 - array with holes and a cyclic reference
   {
@@ -91,27 +91,27 @@ var inputTests = [
     printOutput: '",,,,,test,"',
     inspectable: true,
     variablesViewLabel: "Array[7]",
   },
 
   // 9
   {
     input: "window.typedarray1",
-    output: 'Int32Array [ 1, 287, 8651, 40983, 8754 ]',
+    output: "Int32Array [ 1, 287, 8651, 40983, 8754 ]",
     printOutput: "[object Int32Array]",
     inspectable: true,
     variablesViewLabel: "Int32Array[5]",
   },
 
   // 10 - Set with cyclic reference
   {
     input: "window.set1",
     output: 'Set [ 1, 2, null, Array[13], "a", "b", undefined, <head>, ' +
-            'Set[9] ]',
+            "Set[9] ]",
     printOutput: "[object Set]",
     inspectable: true,
     variablesViewLabel: "Set[9]",
   },
 
   // 11 - Object with cyclic reference and a getter
   {
     input: "window.testobj2",
@@ -122,17 +122,17 @@ var inputTests = [
     variablesViewLabel: "Object",
   },
 
   // 12 - Object with more than 10 properties
   {
     input: "window.testobj3",
     output: 'Object { a: "b", c: "d", e: 1, f: "2", g: true, h: null, ' +
             'i: undefined, j: "", k: StyleSheetList[0], l: NodeList[5], ' +
-            '2 more\u2026 }',
+            "2 more\u2026 }",
     printOutput: "[object Object]",
     inspectable: true,
     variablesViewLabel: "Object",
   },
 
   // 13 - Object with a non-enumerable property that we do not show
   {
     input: "window.testobj4",
@@ -169,15 +169,15 @@ var inputTests = [
     printOutput: "[object WeakMap]",
     inspectable: true,
     variablesViewLabel: "WeakMap[2]",
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab(TEST_URI);
     const hud = yield openConsole(tab);
     yield checkOutputForInputs(hud, inputTests);
     inputTests = null;
   }).then(finishTest);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_output_03.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_03.js
@@ -154,15 +154,15 @@ var inputTests = [
     printOutput: "[object Attr]",
     inspectable: true,
     variablesViewLabel: 'class="test1 tezt2"',
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab(TEST_URI);
     const hud = yield openConsole(tab);
     yield checkOutputForInputs(hud, inputTests);
     inputTests = null;
   }).then(finishTest);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_output_04.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_04.js
@@ -116,15 +116,15 @@ var inputTests = [
     printOutput: "[object CSSMediaRule",
     inspectable: true,
     variablesViewLabel: "CSSMediaRule",
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const {tab} = yield loadTab(TEST_URI);
     const hud = yield openConsole(tab);
     yield checkOutputForInputs(hud, inputTests);
     inputTests = null;
   }).then(finishTest);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_output_05.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_05.js
@@ -150,17 +150,17 @@ var inputTests = [
             '", 2: "a shorter string", 3: 100 }',
     printOutput: "[object Object]",
     inspectable: false,
   }
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     return checkOutputForInputs(hud, inputTests);
   }).then(finishUp);
 }
 
 function finishUp() {
   inputTests = testDate = null;
--- a/devtools/client/webconsole/test/browser_webconsole_output_06.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_06.js
@@ -135,17 +135,17 @@ var inputTests = [
     inspectable: false,
   },
 
   // 15
   {
     input: '({0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", 6: "g", ' +
            '7: "h", 8: "i", 9: "j", 10: "k", 11: "l"})',
     output: 'Object [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", ' +
-            '2 more\u2026 ]',
+            "2 more\u2026 ]",
     printOutput: "[object Object]",
     inspectable: true,
     variablesViewLabel: "Object[12]",
   },
 
   // 16
   {
     input: '({0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", 6: "g", ' +
@@ -155,17 +155,17 @@ var inputTests = [
     printOutput: "[object Object]",
     inspectable: true,
     variablesViewLabel: "Object",
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     return checkOutputForInputs(hud, inputTests);
   }).then(finishUp);
 }
 
 function finishUp() {
   inputTests = null;
--- a/devtools/client/webconsole/test/browser_webconsole_output_copy_newlines.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_copy_newlines.js
@@ -3,17 +3,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Test that multiple messages are copied into the clipboard and that they are
 // separated by new lines. See bug 916997.
 
 "use strict";
 
-add_task(function*() {
+add_task(function* () {
   const TEST_URI = "data:text/html;charset=utf8,<p>hello world, bug 916997";
   let clipboardValue = "";
 
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
   hud.jsterm.clearOutput();
 
   let controller = top.document.commandDispatcher
--- a/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_01.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_01.js
@@ -107,14 +107,14 @@ var inputTests = [
     inspectable: true,
     noClick: true,
     inspectorIcon: false
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     yield checkOutputForInputs(hud, inputTests);
   }).then(finishTest);
 }
--- a/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_02.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_02.js
@@ -53,17 +53,17 @@ const TEST_DATA = [
         name: "lang",
         value: "en-US"
       }
     ]
   }
 ];
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     let toolbox = gDevTools.getToolbox(hud.target);
 
     // Loading the inspector panel at first, to make it possible to listen for
     // new node selections
     yield toolbox.selectTool("inspector");
     let inspector = toolbox.getCurrentPanel();
--- a/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_03.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_03.js
@@ -7,17 +7,17 @@
 // the actual DOM Nodes on hover
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console-output-dom-elements.html";
 
 function test() {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     let toolbox = gDevTools.getToolbox(hud.target);
 
     // Loading the inspector panel at first, to make it possible to listen for
     // new node selections
     yield toolbox.loadTool("inspector");
     toolbox.getPanel("inspector");
--- a/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_04.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_dom_elements_04.js
@@ -34,17 +34,17 @@ const TEST_DATA = [
 ];
 
 const PREF = "devtools.webconsole.persistlog";
 
 function test() {
   Services.prefs.setBoolPref(PREF, true);
   registerCleanupFunction(() => Services.prefs.clearUserPref(PREF));
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     let toolbox = gDevTools.getToolbox(hud.target);
 
     info("Executing the test data");
     let widgets = [];
     for (let data of TEST_DATA) {
       let [result] = yield jsEval(data.input, hud, {text: data.output});
--- a/devtools/client/webconsole/test/browser_webconsole_output_order.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_order.js
@@ -6,40 +6,40 @@
 // Tests that any output created from calls to the console API comes before the
 // echoed JavaScript.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-console.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole();
 
   let jsterm = hud.jsterm;
 
   jsterm.clearOutput();
   jsterm.execute("console.log('foo', 'bar');");
 
   let [functionCall, consoleMessage, result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
       text: "console.log('foo', 'bar');",
       category: CATEGORY_INPUT,
     },
-    {
-      text: "foo bar",
-      category: CATEGORY_WEBDEV,
-      severity: SEVERITY_LOG,
-    },
-    {
-      text: "undefined",
-      category: CATEGORY_OUTPUT,
-    }]
+      {
+        text: "foo bar",
+        category: CATEGORY_WEBDEV,
+        severity: SEVERITY_LOG,
+      },
+      {
+        text: "undefined",
+        category: CATEGORY_OUTPUT,
+      }]
   });
 
   let fncallNode = [...functionCall.matched][0];
   let consoleMessageNode = [...consoleMessage.matched][0];
   let resultNode = [...result.matched][0];
   is(fncallNode.nextElementSibling, consoleMessageNode,
      "console.log() is followed by 'foo' 'bar'");
   is(consoleMessageNode.nextElementSibling, resultNode,
--- a/devtools/client/webconsole/test/browser_webconsole_output_table.js
+++ b/devtools/client/webconsole/test/browser_webconsole_output_table.js
@@ -137,17 +137,17 @@ const TEST_DATA = [
       { _key: "String", _value: "\"oh no\"" },
       { _key: "String", _value: "23" },
     ],
     columns: { _index: "(iteration index)", _key: "Key", _value: "Values" },
     couldBeOutOfOrder: true,
   },
 ];
 
-add_task(function*() {
+add_task(function* () {
   const {tab} = yield loadTab(TEST_URI);
   let hud = yield openConsole(tab);
 
   for (let testdata of TEST_DATA) {
     hud.jsterm.clearOutput();
 
     info("Executing " + testdata.command);
 
--- a/devtools/client/webconsole/test/browser_webconsole_promise.js
+++ b/devtools/client/webconsole/test/browser_webconsole_promise.js
@@ -18,17 +18,17 @@ var inputTests = [
     inspectable: true,
     variablesViewLabel: "Object"
   },
 ];
 
 function test() {
   requestLongerTimeout(2);
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let {tab} = yield loadTab(TEST_URI);
     let hud = yield openConsole(tab);
     return checkOutputForInputs(hud, inputTests);
   }).then(finishUp);
 }
 
 function finishUp() {
   finishTest();
--- a/devtools/client/webconsole/test/browser_webconsole_scratchpad_panel_link.js
+++ b/devtools/client/webconsole/test/browser_webconsole_scratchpad_panel_link.js
@@ -15,17 +15,17 @@ function pushPrefEnv() {
   let deferred = promise.defer();
   let options = {"set":
       [["devtools.scratchpad.enabled", true]
   ]};
   SpecialPowers.pushPrefEnv(options, deferred.resolve);
   return deferred.promise;
 }
 
-add_task(function*() {
+add_task(function* () {
   waitForExplicitFinish();
 
   yield pushPrefEnv();
 
   yield loadTab(TEST_URI);
 
   info("Opening toolbox with Scratchpad panel");
 
--- a/devtools/client/webconsole/test/browser_webconsole_script_errordoc_urls.js
+++ b/devtools/client/webconsole/test/browser_webconsole_script_errordoc_urls.js
@@ -6,31 +6,31 @@
 // Ensure that [Learn More] links appear alongside any errors listed
 // in "errordocs.js". Note: this only tests script execution.
 
 "use strict";
 
 const ErrorDocs = require("devtools/server/actors/errordocs");
 
 function makeURIData(script) {
-  return `data:text/html;charset=utf8,<script>${script}</script>`
+  return `data:text/html;charset=utf8,<script>${script}</script>`;
 }
 
 const TestData = [
   {
     jsmsg: "JSMSG_READ_ONLY",
     script: "'use strict'; (Object.freeze({name: 'Elsa', score: 157})).score = 0;",
     isException: true,
   },
   {
     jsmsg: "JSMSG_STMT_AFTER_RETURN",
     script: "function a() { return; 1 + 1; };",
     isException: false,
   }
-]
+];
 
 add_task(function* () {
   yield loadTab("data:text/html;charset=utf8,errordoc tests");
 
   let hud = yield openConsole();
 
   for (let i = 0; i < TestData.length; i++) {
     yield testScriptError(hud, TestData[i]);
--- a/devtools/client/webconsole/test/browser_webconsole_show_subresource_security_errors.js
+++ b/devtools/client/webconsole/test/browser_webconsole_show_subresource_security_errors.js
@@ -21,13 +21,13 @@ add_task(function* () {
   hud.jsterm.clearOutput();
 
   let loaded = loadBrowser(browser);
   content.location = TEST_DOC;
   yield loaded;
 
   yield waitForSuccess({
     name: "Subresource STS warning displayed successfully",
-    validator: function() {
+    validator: function () {
       return hud.outputNode.textContent.indexOf(SAMPLE_MSG) > -1;
     }
   });
 });
--- a/devtools/client/webconsole/test/browser_webconsole_split.js
+++ b/devtools/client/webconsole/test/browser_webconsole_split.js
@@ -41,17 +41,17 @@ function test() {
 
     // Closes split console.
     EventUtils.sendKey("ESCAPE", toolbox.win);
   }
 
   function checkAllTools() {
     info("About to check split console with each panel individually.");
 
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       yield openAndCheckPanel("jsdebugger");
       yield openAndCheckPanel("inspector");
       yield openAndCheckPanel("styleeditor");
       yield openAndCheckPanel("performance");
       yield openAndCheckPanel("netmonitor");
 
       yield checkWebconsolePanelOpened();
       testBottomHost();
@@ -153,17 +153,17 @@ function test() {
       });
     });
     return deferred.promise;
   }
 
   function openPanel(toolId) {
     let deferred = promise.defer();
     let target = TargetFactory.forTab(gBrowser.selectedTab);
-    gDevTools.showToolbox(target, toolId).then(function(box) {
+    gDevTools.showToolbox(target, toolId).then(function (box) {
       toolbox = box;
       deferred.resolve();
     }).then(null, console.error);
     return deferred.promise;
   }
 
   function openAndCheckPanel(toolId) {
     let deferred = promise.defer();
@@ -245,17 +245,17 @@ function test() {
   function checkHostType(hostType) {
     is(toolbox.hostType, hostType, "host type is " + hostType);
 
     let pref = Services.prefs.getCharPref("devtools.toolbox.host");
     is(pref, hostType, "host pref is " + hostType);
   }
 
   function testDestroy() {
-    toolbox.destroy().then(function() {
+    toolbox.destroy().then(function () {
       let target = TargetFactory.forTab(gBrowser.selectedTab);
       gDevTools.showToolbox(target).then(finish);
     });
   }
 
   function finish() {
     toolbox = null;
     finishTest();
--- a/devtools/client/webconsole/test/browser_webconsole_split_escape_key.js
+++ b/devtools/client/webconsole/test/browser_webconsole_split_escape_key.js
@@ -1,165 +1,165 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
  "use strict";
 
-function test() {
-  info("Test various cases where the escape key should hide the split console.");
+ function test() {
+   info("Test various cases where the escape key should hide the split console.");
 
-  let toolbox;
-  let hud;
-  let jsterm;
-  let hudMessages;
-  let variablesView;
+   let toolbox;
+   let hud;
+   let jsterm;
+   let hudMessages;
+   let variablesView;
 
-  Task.spawn(runner).then(finish);
+   Task.spawn(runner).then(finish);
 
-  function* runner() {
-    let {tab} = yield loadTab("data:text/html;charset=utf-8,<p>Web Console " +
+   function* runner() {
+     let {tab} = yield loadTab("data:text/html;charset=utf-8,<p>Web Console " +
                               "test for splitting");
-    let target = TargetFactory.forTab(tab);
-    toolbox = yield gDevTools.showToolbox(target, "inspector");
+     let target = TargetFactory.forTab(tab);
+     toolbox = yield gDevTools.showToolbox(target, "inspector");
 
-    yield testCreateSplitConsoleAfterEscape();
+     yield testCreateSplitConsoleAfterEscape();
 
-    yield showAutoCompletePopoup();
+     yield showAutoCompletePopoup();
 
-    yield testHideAutoCompletePopupAfterEscape();
+     yield testHideAutoCompletePopupAfterEscape();
 
-    yield executeJS();
-    yield clickMessageAndShowVariablesView();
-    jsterm.focus();
+     yield executeJS();
+     yield clickMessageAndShowVariablesView();
+     jsterm.focus();
 
-    yield testHideVariablesViewAfterEscape();
+     yield testHideVariablesViewAfterEscape();
 
-    yield clickMessageAndShowVariablesView();
-    yield startPropertyEditor();
+     yield clickMessageAndShowVariablesView();
+     yield startPropertyEditor();
 
-    yield testCancelPropertyEditorAfterEscape();
-    yield testHideVariablesViewAfterEscape();
-    yield testHideSplitConsoleAfterEscape();
-  }
+     yield testCancelPropertyEditorAfterEscape();
+     yield testHideVariablesViewAfterEscape();
+     yield testHideSplitConsoleAfterEscape();
+   }
 
-  function testCreateSplitConsoleAfterEscape() {
-    let result = toolbox.once("webconsole-ready", () => {
-      hud = toolbox.getPanel("webconsole").hud;
-      jsterm = hud.jsterm;
-      ok(toolbox.splitConsole, "Split console is created.");
-    });
+   function testCreateSplitConsoleAfterEscape() {
+     let result = toolbox.once("webconsole-ready", () => {
+       hud = toolbox.getPanel("webconsole").hud;
+       jsterm = hud.jsterm;
+       ok(toolbox.splitConsole, "Split console is created.");
+     });
 
-    let contentWindow = toolbox.win;
-    contentWindow.focus();
-    EventUtils.sendKey("ESCAPE", contentWindow);
+     let contentWindow = toolbox.win;
+     contentWindow.focus();
+     EventUtils.sendKey("ESCAPE", contentWindow);
 
-    return result;
-  }
+     return result;
+   }
 
-  function testHideSplitConsoleAfterEscape() {
-    let result = toolbox.once("split-console", () => {
-      ok(!toolbox.splitConsole, "Split console is hidden.");
-    });
-    EventUtils.sendKey("ESCAPE", toolbox.win);
+   function testHideSplitConsoleAfterEscape() {
+     let result = toolbox.once("split-console", () => {
+       ok(!toolbox.splitConsole, "Split console is hidden.");
+     });
+     EventUtils.sendKey("ESCAPE", toolbox.win);
 
-    return result;
-  }
+     return result;
+   }
 
-  function testHideVariablesViewAfterEscape() {
-    let result = jsterm.once("sidebar-closed", () => {
-      ok(!hud.ui.jsterm.sidebar,
+   function testHideVariablesViewAfterEscape() {
+     let result = jsterm.once("sidebar-closed", () => {
+       ok(!hud.ui.jsterm.sidebar,
         "Variables view is hidden.");
-      ok(toolbox.splitConsole,
+       ok(toolbox.splitConsole,
         "Split console is open after hiding the variables view.");
-    });
-    EventUtils.sendKey("ESCAPE", toolbox.win);
+     });
+     EventUtils.sendKey("ESCAPE", toolbox.win);
 
-    return result;
-  }
+     return result;
+   }
 
-  function testHideAutoCompletePopupAfterEscape() {
-    let deferred = promise.defer();
-    let popup = jsterm.autocompletePopup;
+   function testHideAutoCompletePopupAfterEscape() {
+     let deferred = promise.defer();
+     let popup = jsterm.autocompletePopup;
 
-    popup._panel.addEventListener("popuphidden", function popupHidden() {
-      popup._panel.removeEventListener("popuphidden", popupHidden, false);
-      ok(!popup.isOpen,
+     popup._panel.addEventListener("popuphidden", function popupHidden() {
+       popup._panel.removeEventListener("popuphidden", popupHidden, false);
+       ok(!popup.isOpen,
         "Auto complete popup is hidden.");
-      ok(toolbox.splitConsole,
+       ok(toolbox.splitConsole,
         "Split console is open after hiding the autocomplete popup.");
 
-      deferred.resolve();
-    }, false);
+       deferred.resolve();
+     }, false);
 
-    EventUtils.sendKey("ESCAPE", toolbox.win);
+     EventUtils.sendKey("ESCAPE", toolbox.win);
 
-    return deferred.promise;
-  }
+     return deferred.promise;
+   }
 
-  function testCancelPropertyEditorAfterEscape() {
-    EventUtils.sendKey("ESCAPE", variablesView.window);
-    ok(hud.ui.jsterm.sidebar,
+   function testCancelPropertyEditorAfterEscape() {
+     EventUtils.sendKey("ESCAPE", variablesView.window);
+     ok(hud.ui.jsterm.sidebar,
       "Variables view is open after canceling property editor.");
-    ok(toolbox.splitConsole,
+     ok(toolbox.splitConsole,
       "Split console is open after editing.");
-  }
+   }
 
-  function* executeJS() {
-    jsterm.execute("var foo = { bar: \"baz\" }; foo;");
-    hudMessages = yield waitForMessages({
-      webconsole: hud,
-      messages: [{
-        text: "Object { bar: \"baz\" }",
-        category: CATEGORY_OUTPUT,
-        objects: true
-      }],
-    });
-  }
+   function* executeJS() {
+     jsterm.execute("var foo = { bar: \"baz\" }; foo;");
+     hudMessages = yield waitForMessages({
+       webconsole: hud,
+       messages: [{
+         text: "Object { bar: \"baz\" }",
+         category: CATEGORY_OUTPUT,
+         objects: true
+       }],
+     });
+   }
 
-  function clickMessageAndShowVariablesView() {
-    let result = jsterm.once("variablesview-fetched", (event, vview) => {
-      variablesView = vview;
-    });
+   function clickMessageAndShowVariablesView() {
+     let result = jsterm.once("variablesview-fetched", (event, vview) => {
+       variablesView = vview;
+     });
 
-    let clickable = hudMessages[0].clickableElements[0];
-    EventUtils.synthesizeMouse(clickable, 2, 2, {}, hud.iframeWindow);
+     let clickable = hudMessages[0].clickableElements[0];
+     EventUtils.synthesizeMouse(clickable, 2, 2, {}, hud.iframeWindow);
 
-    return result;
-  }
+     return result;
+   }
 
-  function* startPropertyEditor() {
-    let results = yield findVariableViewProperties(variablesView, [
+   function* startPropertyEditor() {
+     let results = yield findVariableViewProperties(variablesView, [
       {name: "bar", value: "baz"}
-    ], {webconsole: hud});
-    results[0].matchedProp.focus();
-    EventUtils.synthesizeKey("VK_RETURN", variablesView.window);
-  }
+     ], {webconsole: hud});
+     results[0].matchedProp.focus();
+     EventUtils.synthesizeKey("VK_RETURN", variablesView.window);
+   }
 
-  function showAutoCompletePopoup() {
-    let deferred = promise.defer();
-    let popupPanel = jsterm.autocompletePopup._panel;
+   function showAutoCompletePopoup() {
+     let deferred = promise.defer();
+     let popupPanel = jsterm.autocompletePopup._panel;
 
-    popupPanel.addEventListener("popupshown", function popupShown() {
-      popupPanel.removeEventListener("popupshown", popupShown, false);
-      deferred.resolve();
-    }, false);
+     popupPanel.addEventListener("popupshown", function popupShown() {
+       popupPanel.removeEventListener("popupshown", popupShown, false);
+       deferred.resolve();
+     }, false);
 
-    jsterm.focus();
-    jsterm.setInputValue("document.location.");
-    EventUtils.sendKey("TAB", hud.iframeWindow);
+     jsterm.focus();
+     jsterm.setInputValue("document.location.");
+     EventUtils.sendKey("TAB", hud.iframeWindow);
 
-    return deferred.promise;
-  }
+     return deferred.promise;
+   }
 
-  function finish() {
-    toolbox.destroy().then(() => {
-      toolbox = null;
-      hud = null;
-      jsterm = null;
-      hudMessages = null;
-      variablesView = null;
+   function finish() {
+     toolbox.destroy().then(() => {
+       toolbox = null;
+       hud = null;
+       jsterm = null;
+       hudMessages = null;
+       variablesView = null;
 
-      finishTest();
-    });
-  }
-}
+       finishTest();
+     });
+   }
+ }
--- a/devtools/client/webconsole/test/browser_webconsole_split_focus.js
+++ b/devtools/client/webconsole/test/browser_webconsole_split_focus.js
@@ -1,16 +1,16 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
  "use strict";
 
-function test() {
+ function test() {
   info("Test that the split console state is persisted");
 
   let toolbox;
   let TEST_URI = "data:text/html;charset=utf-8,<p>Web Console test for " +
                  "splitting</p>";
 
   Task.spawn(runner).then(finish);
 
--- a/devtools/client/webconsole/test/browser_webconsole_split_persist.js
+++ b/devtools/client/webconsole/test/browser_webconsole_split_persist.js
@@ -1,16 +1,16 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
  "use strict";
 
-function test() {
+ function test() {
   info("Test that the split console state is persisted");
 
   let toolbox;
   let TEST_URI = "data:text/html;charset=utf-8,<p>Web Console test for " +
                  "splitting</p>";
 
   Task.spawn(runner).then(finish);
 
--- a/devtools/client/webconsole/test/browser_webconsole_trackingprotection_errors.js
+++ b/devtools/client/webconsole/test/browser_webconsole_trackingprotection_errors.js
@@ -8,17 +8,17 @@
 
 "use strict";
 
 const TEST_URI = "http://tracking.example.org/browser/devtools/client/webconsole/test/test-trackingprotection-securityerrors.html";
 const LEARN_MORE_URI = "https://developer.mozilla.org/Firefox/Privacy/Tracking_Protection";
 const PREF = "privacy.trackingprotection.enabled";
 const {UrlClassifierTestUtils} = Cu.import("resource://testing-common/UrlClassifierTestUtils.jsm", {});
 
-registerCleanupFunction(function() {
+registerCleanupFunction(function () {
   Services.prefs.clearUserPref(PREF);
   UrlClassifierTestUtils.cleanupTestTrackers();
 });
 
 add_task(function* testMessagesAppear() {
   yield UrlClassifierTestUtils.addTestTrackers();
   Services.prefs.setBoolPref(PREF, true);
 
--- a/devtools/client/webconsole/test/browser_webconsole_view_source.js
+++ b/devtools/client/webconsole/test/browser_webconsole_view_source.js
@@ -6,29 +6,29 @@
 // Tests that source URLs in the Web Console can be clicked to display the
 // standard View Source window.
 
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
                  "test/test-error.html";
 
-add_task(function*() {
+add_task(function* () {
   yield loadTab(TEST_URI);
   let hud = yield openConsole(null);
   info("console opened");
 
 
   // On e10s, the exception is triggered in child process
   // and is ignored by test harness
   if (!Services.appinfo.browserTabsRemoteAutostart) {
     expectUncaughtException();
   }
 
-  ContentTask.spawn(gBrowser.selectedBrowser, {}, function*() {
+  ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
     let button = content.document.querySelector("button");
     ok(button, "we have the button on the page");
     button.click();
   });
 
   let [result] = yield waitForMessages({
     webconsole: hud,
     messages: [{
--- a/devtools/client/webconsole/test/head.js
+++ b/devtools/client/webconsole/test/head.js
@@ -205,17 +205,17 @@ function findLogEntry(str) {
  *        Optional tab element for which you want open the Web Console. The
  *        default tab is taken from the global variable |tab|.
  * @param function [callback]
  *        Optional function to invoke after the Web Console completes
  *        initialization (web-console-created).
  * @return object
  *         A promise that is resolved once the web console is open.
  */
-var openConsole = function(tab) {
+var openConsole = function (tab) {
   let webconsoleOpened = promise.defer();
   let target = TargetFactory.forTab(tab || gBrowser.selectedTab);
   gDevTools.showToolbox(target, "webconsole").then(toolbox => {
     let hud = toolbox.getCurrentPanel().hud;
     hud.jsterm._lazyVariablesView = false;
     webconsoleOpened.resolve(hud);
   });
   return webconsoleOpened.promise;
@@ -241,17 +241,17 @@ var closeConsole = Task.async(function* 
   }
 });
 
 /**
  * Listen for a new tab to open and return a promise that resolves when one
  * does and completes the load event.
  * @return a promise that resolves to the tab object
  */
-var waitForTab = Task.async(function*() {
+var waitForTab = Task.async(function* () {
   info("Waiting for a tab to open");
   yield once(gBrowser.tabContainer, "TabOpen");
   let tab = gBrowser.selectedTab;
   let browser = tab.linkedBrowser;
   yield once(browser, "load", true);
   info("The tab load completed");
   return tab;
 });
@@ -313,17 +313,17 @@ var finishTest = Task.async(function* ()
   }
 
   let target = TargetFactory.forTab(gBrowser.selectedTab);
   yield gDevTools.closeToolbox(target);
 
   finish();
 });
 
-registerCleanupFunction(function*() {
+registerCleanupFunction(function* () {
   DevToolsUtils.testing = false;
 
   // Remove stored console commands in between tests
   yield asyncStorage.removeItem("webConsoleHistory");
 
   dumpConsoles();
 
   let browserConsole = HUDService.getBrowserConsole();
@@ -478,22 +478,22 @@ function findVariableViewProperties(view
     };
 
     variablesViewExpandTo(expandOptions).then(function onSuccess(prop) {
       let name = rule.name;
       let lastName = name.split(".").pop();
       rule.name = lastName;
 
       let matched = matchVariablesViewProperty(prop, rule, options);
-      return matched.then(onMatch.bind(null, prop, rule)).then(function() {
+      return matched.then(onMatch.bind(null, prop, rule)).then(function () {
         rule.name = name;
       });
     }, function onFailure() {
       return promise.resolve(null);
-    }).then(processExpandRules.bind(null, rules)).then(function() {
+    }).then(processExpandRules.bind(null, rules)).then(function () {
       deferred.resolve(null);
     });
 
     return deferred.promise;
   }
 
   function onAllRulesMatched(rules) {
     for (let rule of rules) {
@@ -654,17 +654,17 @@ function variablesViewExpandTo(options) 
     if (!prop.onexpand) {
       ok(false, "property " + prop.name + " cannot be expanded: !onexpand");
       return promise.reject(prop);
     }
 
     let deferred = promise.defer();
 
     if (prop._fetched || !jsterm) {
-      executeSoon(function() {
+      executeSoon(function () {
         deferred.resolve(prop);
       });
     } else {
       jsterm.once("variablesview-fetched", function _onFetchProp() {
         executeSoon(() => deferred.resolve(prop));
       });
     }
 
@@ -1591,44 +1591,44 @@ function checkOutputForInputs(hud, input
  * @param {Function} predicate A predicate function that takes the request
  * object as an argument and returns true if the request was the expected one,
  * false otherwise. The returned promise is resolved ONLY if the predicate
  * matches a request. Defaults to accepting any request.
  * @return promise
  * @resolves The request object.
  */
 function waitForFinishedRequest(predicate = () => true) {
-  registerCleanupFunction(function() {
+  registerCleanupFunction(function () {
     HUDService.lastFinishedRequest.callback = null;
   });
 
   return new Promise(resolve => {
     HUDService.lastFinishedRequest.callback = request => {
       // Check if this is the expected request
       if (predicate(request)) {
         // Match found. Clear the listener.
         HUDService.lastFinishedRequest.callback = null;
 
         resolve(request);
       } else {
         info(`Ignoring unexpected request ${JSON.stringify(request, null, 2)}`);
       }
-    }
+    };
   });
 }
 
 /**
  * Wait for eventName on target.
  * @param {Object} target An observable object that either supports on/off or
  * addEventListener/removeEventListener
  * @param {String} eventName
  * @param {Boolean} useCapture Optional for addEventListener/removeEventListener
  * @return A promise that resolves when the event has been handled
  */
-function once(target, eventName, useCapture=false) {
+function once(target, eventName, useCapture = false) {
   info("Waiting for event: '" + eventName + "' on " + target + ".");
 
   let deferred = promise.defer();
 
   for (let [add, remove] of [
     ["addEventListener", "removeEventListener"],
     ["addListener", "removeListener"],
     ["on", "off"]
@@ -1700,17 +1700,17 @@ function getPacket(client, requestType, 
  * open the expected URL.
  */
 function simulateMessageLinkClick(element, expectedLink) {
   let deferred = promise.defer();
 
   // Invoke the click event and check if a new tab would
   // open to the correct page.
   let oldOpenUILinkIn = window.openUILinkIn;
-  window.openUILinkIn = function(link) {
+  window.openUILinkIn = function (link) {
     if (link == expectedLink) {
       ok(true, "Clicking the message link opens the desired page");
       window.openUILinkIn = oldOpenUILinkIn;
       deferred.resolve();
     }
   };
 
   let event = new MouseEvent("click", {
@@ -1719,16 +1719,16 @@ function simulateMessageLinkClick(elemen
     bubbles: true,
     cancelable: true
   });
   element.dispatchEvent(event);
 
   return deferred.promise;
 }
 
-function getRenderedSource (root) {
+function getRenderedSource(root) {
   let location = root.querySelector(".message-location .frame-link");
   return location ? {
     url: location.getAttribute("data-url"),
     line: location.getAttribute("data-line"),
     column: location.getAttribute("data-column"),
   } : null;
 }
--- a/devtools/client/webconsole/test/test-bug-595934-canvas-css.js
+++ b/devtools/client/webconsole/test/test-bug-595934-canvas-css.js
@@ -1,10 +1,10 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-window.addEventListener("DOMContentLoaded", function() {
+window.addEventListener("DOMContentLoaded", function () {
   var canvas = document.querySelector("canvas");
   var context = canvas.getContext("2d");
   context.strokeStyle = "foobarCanvasCssParser";
 }, false);
--- a/devtools/client/webconsole/test/test-bug-595934-empty-getelementbyid.js
+++ b/devtools/client/webconsole/test/test-bug-595934-empty-getelementbyid.js
@@ -1,8 +1,8 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-window.addEventListener("load", function() {
+window.addEventListener("load", function () {
   document.getElementById("");
 }, false);
--- a/devtools/client/webconsole/test/test-bug-595934-workers.js
+++ b/devtools/client/webconsole/test/test-bug-595934-workers.js
@@ -1,9 +1,9 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-onmessage = function() {
+onmessage = function () {
   fooBarWorker();
-}
+};
 
--- a/devtools/client/webconsole/test/test-bug-603750-websocket.js
+++ b/devtools/client/webconsole/test/test-bug-603750-websocket.js
@@ -1,18 +1,18 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 window.addEventListener("load", function () {
   var ws1 = new WebSocket("ws://0.0.0.0:81");
-  ws1.onopen = function() {
+  ws1.onopen = function () {
     ws1.send("test 1");
     ws1.close();
   };
 
   var ws2 = new window.frames[0].WebSocket("ws://0.0.0.0:82");
-  ws2.onopen = function() {
+  ws2.onopen = function () {
     ws2.send("test 2");
     ws2.close();
   };
 }, false);
--- a/devtools/client/webconsole/test/test-bug-766001-js-errors.js
+++ b/devtools/client/webconsole/test/test-bug-766001-js-errors.js
@@ -1,8 +1,8 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
-window.addEventListener("load", function() {
+window.addEventListener("load", function () {
   document.bar();
 }, false);
--- a/devtools/client/webconsole/webconsole.js
+++ b/devtools/client/webconsole/webconsole.js
@@ -12,17 +12,17 @@ const {Utils: WebConsoleUtils, CONSOLE_W
   require("devtools/shared/webconsole/utils");
 const { getSourceNames } = require("devtools/client/shared/source-utils");
 const BrowserLoaderModule = {};
 Cu.import("resource://devtools/client/shared/browser-loader.js", BrowserLoaderModule);
 
 const promise = require("promise");
 const Services = require("Services");
 const ErrorDocs = require("devtools/server/actors/errordocs");
-const Telemetry = require("devtools/client/shared/telemetry")
+const Telemetry = require("devtools/client/shared/telemetry");
 
 loader.lazyServiceGetter(this, "clipboardHelper",
                          "@mozilla.org/widget/clipboardhelper;1",
                          "nsIClipboardHelper");
 loader.lazyRequireGetter(this, "EventEmitter", "devtools/shared/event-emitter");
 loader.lazyRequireGetter(this, "AutocompletePopup", "devtools/client/shared/autocomplete-popup", true);
 loader.lazyRequireGetter(this, "ToolSidebar", "devtools/client/framework/sidebar", true);
 loader.lazyRequireGetter(this, "ConsoleOutput", "devtools/client/webconsole/console-output", true);
@@ -401,17 +401,17 @@ WebConsoleFrame.prototype = {
   _inputCharWidth: 0,
 
   /**
    * Setter for saving of network request and response bodies.
    *
    * @param boolean value
    *        The new value you want to set.
    */
-  setSaveRequestAndResponseBodies: function(value) {
+  setSaveRequestAndResponseBodies: function (value) {
     if (!this.webConsoleClient) {
       // Don't continue if the webconsole disconnected.
       return promise.resolve(null);
     }
 
     let deferred = promise.defer();
     let newValue = !!value;
     let toSet = {
@@ -444,17 +444,17 @@ WebConsoleFrame.prototype = {
            Services.prefs.getBoolPref(PREF_PERSISTLOG);
   },
 
   /**
    * Initialize the WebConsoleFrame instance.
    * @return object
    *         A promise object that resolves once the frame is ready to use.
    */
-  init: function() {
+  init: function () {
     this._initUI();
     let connectionInited = this._initConnection();
 
     // Don't reject if the history fails to load for some reason.
     // This would be fine, the panel will just start with empty history.
     let allReady = this.jsterm.historyLoaded.catch(() => {}).then(() => {
       return connectionInited;
     });
@@ -474,17 +474,17 @@ WebConsoleFrame.prototype = {
   /**
    * Connect to the server using the remote debugging protocol.
    *
    * @private
    * @return object
    *         A promise object that is resolved/reject based on the connection
    *         result.
    */
-  _initConnection: function() {
+  _initConnection: function () {
     if (this._initDefer) {
       return this._initDefer.promise;
     }
 
     this._initDefer = promise.defer();
     this.proxy = new WebConsoleConnectionProxy(this, this.owner.target);
 
     this.proxy.connect().then(() => {
@@ -500,17 +500,17 @@ WebConsoleFrame.prototype = {
 
     return this._initDefer.promise;
   },
 
   /**
    * Find the Web Console UI elements and setup event listeners as needed.
    * @private
    */
-  _initUI: function() {
+  _initUI: function () {
     this.document = this.window.document;
     this.rootElement = this.document.documentElement;
     this.NEW_CONSOLE_OUTPUT_ENABLED = !this.owner._browserConsole &&
       Services.prefs.getBoolPref(PREF_NEW_FRONTEND_ENABLED);
 
     this._initDefaultFilterPrefs();
 
     // Register the controller to handle "select all" properly.
@@ -631,34 +631,34 @@ WebConsoleFrame.prototype = {
     this.jsterm.focus();
   },
 
   /**
    * Resizes the output node to fit the output wrapped.
    * We need this because it makes the layout a lot faster than
    * using -moz-box-flex and 100% width.  See Bug 1237368.
    */
-  resize: function() {
+  resize: function () {
     this.outputNode.style.width = this.outputWrapper.clientWidth + "px";
   },
 
   /**
    * Sets the focus to JavaScript input field when the web console tab is
    * selected or when there is a split console present.
    * @private
    */
-  _onPanelSelected: function() {
+  _onPanelSelected: function () {
     this.jsterm.focus();
   },
 
   /**
    * Initialize the default filter preferences.
    * @private
    */
-  _initDefaultFilterPrefs: function() {
+  _initDefaultFilterPrefs: function () {
     let prefs = ["network", "networkinfo", "csserror", "cssparser", "csslog",
                  "exception", "jswarn", "jslog", "error", "info", "warn", "log",
                  "secerror", "secwarn", "netwarn", "netxhr", "sharedworkers",
                  "serviceworkers", "windowlessworkers", "servererror",
                  "serverwarn", "serverinfo", "serverlog"];
 
     for (let pref of prefs) {
       this.filterPrefs[pref] = Services.prefs.getBoolPref(
@@ -669,17 +669,17 @@ WebConsoleFrame.prototype = {
   /**
    * Attach / detach reflow listeners depending on the checked status
    * of the `CSS > Log` menuitem.
    *
    * @param function [callback=null]
    *        Optional function to invoke when the listener has been
    *        added/removed.
    */
-  _updateReflowActivityListener: function(callback) {
+  _updateReflowActivityListener: function (callback) {
     if (this.webConsoleClient) {
       let pref = this._filterPrefsPrefix + "csslog";
       if (Services.prefs.getBoolPref(pref)) {
         this.webConsoleClient.startListeners(["ReflowActivity"], callback);
       } else {
         this.webConsoleClient.stopListeners(["ReflowActivity"], callback);
       }
     }
@@ -689,17 +689,17 @@ WebConsoleFrame.prototype = {
    * Attach / detach server logging listener depending on the filter
    * preferences. If the user isn't interested in the server logs at
    * all the listener is not registered.
    *
    * @param function [callback=null]
    *        Optional function to invoke when the listener has been
    *        added/removed.
    */
-  _updateServerLoggingListener: function(callback) {
+  _updateServerLoggingListener: function (callback) {
     if (!this.webConsoleClient) {
       return null;
     }
 
     let startListener = false;
     let prefs = ["servererror", "serverwarn", "serverinfo", "serverlog"];
     for (let i = 0; i < prefs.length; i++) {
       if (this.filterPrefs[prefs[i]]) {
@@ -714,17 +714,17 @@ WebConsoleFrame.prototype = {
       this.webConsoleClient.stopListeners(["ServerLogging"], callback);
     }
   },
 
   /**
    * Sets the events for the filter input field.
    * @private
    */
-  _setFilterTextBoxEvents: function() {
+  _setFilterTextBoxEvents: function () {
     let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
     let timerEvent = this.adjustVisibilityOnSearchStringChange.bind(this);
 
     let onChange = function _onChange() {
       // To improve responsiveness, we let the user finish typing before we
       // perform the search.
       timer.cancel();
       timer.initWithCallback(timerEvent, SEARCH_DELAY,
@@ -741,28 +741,28 @@ WebConsoleFrame.prototype = {
    * @private
    * @param nsIDOMNode aParent
    *        The node to which the filter button should be appended.
    * @param object aDescriptor
    *        A descriptor that contains info about the button. Contains "name",
    *        "category", and "prefKey" properties, and optionally a "severities"
    *        property.
    */
-  _initFilterButtons: function() {
+  _initFilterButtons: function () {
     let categories = this.document
                      .querySelectorAll(".webconsole-filter-button[category]");
-    Array.forEach(categories, function(button) {
+    Array.forEach(categories, function (button) {
       button.addEventListener("contextmenu", () => {
         button.open = true;
       }, false);
       button.addEventListener("click", this._toggleFilter, false);
 
       let someChecked = false;
       let severities = button.querySelectorAll("menuitem[prefKey]");
-      Array.forEach(severities, function(menuItem) {
+      Array.forEach(severities, function (menuItem) {
         menuItem.addEventListener("command", this._toggleFilter, false);
 
         let prefKey = menuItem.getAttribute("prefKey");
         let checked = this.filterPrefs[prefKey];
         menuItem.setAttribute("checked", checked);
         someChecked = someChecked || checked;
       }, this);
 
@@ -795,17 +795,17 @@ WebConsoleFrame.prototype = {
 
   /**
    * Increase, decrease or reset the font size.
    *
    * @param string size
    *        The size of the font change. Accepted values are "+" and "-".
    *        An unmatched size assumes a font reset.
    */
-  changeFontSize: function(size) {
+  changeFontSize: function (size) {
     let fontSize = this.window
                    .getComputedStyle(this.outputNode, null)
                    .getPropertyValue("font-size").replace("px", "");
 
     if (this.outputNode.style.fontSize) {
       fontSize = this.outputNode.style.fontSize.replace("px", "");
     }
 
@@ -838,17 +838,17 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Calculates the width and height of a single character of the input box.
    * This will be used in opening the popup at the correct offset.
    *
    * @private
    */
-  _updateCharSize: function() {
+  _updateCharSize: function () {
     let doc = this.document;
     let tempLabel = doc.createElementNS(XHTML_NS, "span");
     let style = tempLabel.style;
     style.position = "fixed";
     style.padding = "0";
     style.margin = "0";
     style.width = "auto";
     style.color = "transparent";
@@ -866,17 +866,17 @@ WebConsoleFrame.prototype = {
   /**
    * The event handler that is called whenever a user switches a filter on or
    * off.
    *
    * @private
    * @param nsIDOMEvent event
    *        The event that triggered the filter change.
    */
-  _toggleFilter: function(event) {
+  _toggleFilter: function (event) {
     let target = event.target;
     let tagName = target.tagName;
     // Prevent toggle if generated from a contextmenu event (right click)
     let isRightClick = (event.button === 2);
     if (tagName != event.currentTarget.tagName || isRightClick) {
       return;
     }
 
@@ -967,33 +967,33 @@ WebConsoleFrame.prototype = {
    * Set the menu attributes for a specific toggle button.
    *
    * @private
    * @param XULElement target
    *        Button with drop down items to be toggled.
    * @param boolean state
    *        True if the menu item is being toggled on, and false otherwise.
    */
-  _setMenuState: function(target, state) {
+  _setMenuState: function (target, state) {
     let menuItems = target.querySelectorAll("menuitem");
     Array.forEach(menuItems, (item) => {
       item.setAttribute("checked", state);
       let prefKey = item.getAttribute("prefKey");
       this.setFilterState(prefKey, state);
     });
   },
 
   /**
    * Set the filter state for a specific toggle button.
    *
    * @param string toggleType
    * @param boolean state
    * @returns void
    */
-  setFilterState: function(toggleType, state) {
+  setFilterState: function (toggleType, state) {
     this.filterPrefs[toggleType] = state;
     this.adjustVisibilityForMessageType(toggleType, state);
 
     Services.prefs.setBoolPref(this._filterPrefsPrefix + toggleType, state);
 
     if (this._updateListenersTimeout) {
       clearTimeout(this._updateListenersTimeout);
     }
@@ -1003,63 +1003,63 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Get the filter state for a specific toggle button.
    *
    * @param string toggleType
    * @returns boolean
    */
-  getFilterState: function(toggleType) {
+  getFilterState: function (toggleType) {
     return this.filterPrefs[toggleType];
   },
 
   /**
    * Called when a logging filter changes. Allows to stop/start
    * listeners according to the current filter state.
    */
-  _onUpdateListeners: function() {
+  _onUpdateListeners: function () {
     this._updateReflowActivityListener();
     this._updateServerLoggingListener();
   },
 
   /**
    * Check that the passed string matches the filter arguments.
    *
    * @param String str
    *        to search for filter words in.
    * @param String filter
    *        is a string containing all of the words to filter on.
    * @returns boolean
    */
-  stringMatchesFilters: function(str, filter) {
+  stringMatchesFilters: function (str, filter) {
     if (!filter || !str) {
       return true;
     }
 
     let searchStr = str.toLowerCase();
     let filterStrings = filter.toLowerCase().split(/\s+/);
-    return !filterStrings.some(function(f) {
+    return !filterStrings.some(function (f) {
       return searchStr.indexOf(f) == -1;
     });
   },
 
   /**
    * Turns the display of log nodes on and off appropriately to reflect the
    * adjustment of the message type filter named by @prefKey.
    *
    * @param string prefKey
    *        The preference key for the message type being filtered: one of the
    *        values in the MESSAGE_PREFERENCE_KEYS table.
    * @param boolean state
    *        True if the filter named by @messageType is being turned on; false
    *        otherwise.
    * @returns void
    */
-  adjustVisibilityForMessageType: function(prefKey, state) {
+  adjustVisibilityForMessageType: function (prefKey, state) {
     let outputNode = this.outputNode;
     let doc = this.document;
 
     // Look for message nodes (".message") with the given preference key
     // (filter="error", filter="cssparser", etc.) and add or remove the
     // "filtered-by-type" class, which turns on or off the display.
 
     let attribute = WORKERTYPES_PREFKEYS.indexOf(prefKey) == -1
@@ -1078,17 +1078,17 @@ WebConsoleFrame.prototype = {
       }
     }
   },
 
   /**
    * Turns the display of log nodes on and off appropriately to reflect the
    * adjustment of the search string.
    */
-  adjustVisibilityOnSearchStringChange: function() {
+  adjustVisibilityOnSearchStringChange: function () {
     let nodes = this.outputNode.getElementsByClassName("message");
     let searchString = this.filterBox.value;
 
     for (let i = 0, n = nodes.length; i < n; ++i) {
       let node = nodes[i];
 
       // hide nodes that match the strings
       let text = node.textContent;
@@ -1108,17 +1108,17 @@ WebConsoleFrame.prototype = {
    * Applies the user's filters to a newly-created message node via CSS
    * classes.
    *
    * @param nsIDOMNode node
    *        The newly-created message node.
    * @return boolean
    *         True if the message was filtered or false otherwise.
    */
-  filterMessageNode: function(node) {
+  filterMessageNode: function (node) {
     let isFiltered = false;
 
     // Filter by the message type.
     let prefKey = MESSAGE_PREFERENCE_KEYS[node.category][node.severity];
     if (prefKey && !this.getFilterState(prefKey)) {
       // The node is filtered by type.
       node.classList.add("filtered-by-type");
       isFiltered = true;
@@ -1148,17 +1148,17 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Merge the attributes of repeated nodes.
    *
    * @param nsIDOMNode original
    *        The Original Node. The one being merged into.
    */
-  mergeFilteredMessageNode: function(original) {
+  mergeFilteredMessageNode: function (original) {
     let repeatNode = original.getElementsByClassName("message-repeats")[0];
     if (!repeatNode) {
       // no repeat node, return early.
       return;
     }
 
     let occurrences = parseInt(repeatNode.getAttribute("value"), 10) + 1;
     repeatNode.setAttribute("value", occurrences);
@@ -1173,17 +1173,17 @@ WebConsoleFrame.prototype = {
    *
    * @private
    * @param nsIDOMNode node
    *        The message node to be filtered or not.
    * @returns nsIDOMNode|null
    *          Returns the duplicate node if the message was filtered, null
    *          otherwise.
    */
-  _filterRepeatedMessage: function(node) {
+  _filterRepeatedMessage: function (node) {
     let repeatNode = node.getElementsByClassName("message-repeats")[0];
     if (!repeatNode) {
       return null;
     }
 
     let uid = repeatNode._uid;
     let dupeNode = null;
 
@@ -1224,22 +1224,22 @@ WebConsoleFrame.prototype = {
   /**
    * Display cached messages that may have been collected before the UI is
    * displayed.
    *
    * @param array remoteMessages
    *        Array of cached messages coming from the remote Web Console
    *        content instance.
    */
-  displayCachedMessages: function(remoteMessages) {
+  displayCachedMessages: function (remoteMessages) {
     if (!remoteMessages.length) {
       return;
     }
 
-    remoteMessages.forEach(function(message) {
+    remoteMessages.forEach(function (message) {
       switch (message._type) {
         case "PageError": {
           let category = Utils.categoryForScriptError(message);
           this.outputMessage(category, this.reportPageError,
                              [category, message]);
           break;
         }
         case "LogMessage":
@@ -1260,17 +1260,17 @@ WebConsoleFrame.prototype = {
    * Logs a message to the Web Console that originates from the Web Console
    * server.
    *
    * @param object message
    *        The message received from the server.
    * @return nsIDOMElement|null
    *         The message element to display in the Web Console output.
    */
-  logConsoleAPIMessage: function(message) {
+  logConsoleAPIMessage: function (message) {
     let body = null;
     let clipboardText = null;
     let sourceURL = message.filename;
     let sourceLine = message.lineNumber;
     let level = message.level;
     let args = message.arguments;
     let objectActors = new Set();
     let node = null;
@@ -1433,29 +1433,29 @@ WebConsoleFrame.prototype = {
 
   /**
    * Handle ConsoleAPICall objects received from the server. This method outputs
    * the window.console API call.
    *
    * @param object message
    *        The console API message received from the server.
    */
-  handleConsoleAPICall: function(message) {
+  handleConsoleAPICall: function (message) {
     this.outputMessage(CATEGORY_WEBDEV, this.logConsoleAPIMessage, [message]);
   },
 
   /**
    * Reports an error in the page source, either JavaScript or CSS.
    *
    * @param nsIScriptError scriptError
    *        The error message to report.
    * @return nsIDOMElement|undefined
    *         The message element to display in the Web Console output.
    */
-  reportPageError: function(category, scriptError) {
+  reportPageError: function (category, scriptError) {
     // Warnings and legacy strict errors become warnings; other types become
     // errors.
     let severity = "error";
     if (scriptError.warning || scriptError.strict) {
       severity = "warning";
     } else if (scriptError.info) {
       severity = "log";
     }
@@ -1535,44 +1535,44 @@ WebConsoleFrame.prototype = {
 
   /**
    * Handle PageError objects received from the server. This method outputs the
    * given error.
    *
    * @param nsIScriptError pageError
    *        The error received from the server.
    */
-  handlePageError: function(pageError) {
+  handlePageError: function (pageError) {
     let category = Utils.categoryForScriptError(pageError);
     this.outputMessage(category, this.reportPageError, [category, pageError]);
   },
 
   /**
    * Handle log messages received from the server. This method outputs the given
    * message.
    *
    * @param object packet
    *        The message packet received from the server.
    */
-  handleLogMessage: function(packet) {
+  handleLogMessage: function (packet) {
     if (packet.message) {
       this.outputMessage(CATEGORY_JS, this._reportLogMessage, [packet]);
     }
   },
 
   /**
    * Display log messages received from the server.
    *
    * @private
    * @param object packet
    *        The message packet received from the server.
    * @return nsIDOMElement
    *         The message element to render for the given log message.
    */
-  _reportLogMessage: function(packet) {
+  _reportLogMessage: function (packet) {
     let msg = packet.message;
     if (msg.type && msg.type == "longString") {
       msg = msg.initial;
     }
     let node = this.createMessageNode(CATEGORY_JS, SEVERITY_LOG, msg, null,
                                       null, null, null, packet.timeStamp);
     if (WebConsoleUtils.isActorGrip(packet.message)) {
       node._objectActors = new Set([packet.message.actor]);
@@ -1583,17 +1583,17 @@ WebConsoleFrame.prototype = {
   /**
    * Log network event.
    *
    * @param object networkInfo
    *        The network request information to log.
    * @return nsIDOMElement|null
    *         The message element to display in the Web Console output.
    */
-  logNetEvent: function(networkInfo) {
+  logNetEvent: function (networkInfo) {
     let actorId = networkInfo.actor;
     let request = networkInfo.request;
     let clipboardText = request.method + " " + request.url;
     let severity = SEVERITY_LOG;
     if (networkInfo.isXHR) {
       clipboardText = request.method + " XHR " + request.url;
       severity = SEVERITY_INFO;
     }
@@ -1674,17 +1674,17 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Create a mixed content warning Node.
    *
    * @param linkNode
    *        Parent to the requested urlNode.
    */
-  makeMixedContentNode: function(linkNode) {
+  makeMixedContentNode: function (linkNode) {
     let mixedContentWarning =
       "[" + l10n.getStr("webConsoleMixedContentWarning") + "]";
 
     // Mixed content warning message links to a Learn More page
     let mixedContentWarningNode = this.document.createElementNS(XHTML_NS, "a");
     mixedContentWarningNode.title = MIXED_CONTENT_LEARN_MORE;
     mixedContentWarningNode.href = MIXED_CONTENT_LEARN_MORE;
     mixedContentWarningNode.className = "learn-more-link";
@@ -1703,17 +1703,17 @@ WebConsoleFrame.prototype = {
    * Adds a more info link node to messages based on the nsIScriptError object
    * that we need to report to the console
    *
    * @param node
    *        The node to which we will be adding the more info link node
    * @param scriptError
    *        The script error object that we are reporting to the console
    */
-  addMoreInfoLink: function(node, scriptError) {
+  addMoreInfoLink: function (node, scriptError) {
     let url;
     switch (scriptError.category) {
       case "Insecure Password Field":
         url = INSECURE_PASSWORDS_LEARN_MORE;
         break;
       case "Mixed Content Message":
       case "Mixed Content Blocker":
         url = MIXED_CONTENT_LEARN_MORE;
@@ -1748,17 +1748,17 @@ WebConsoleFrame.prototype = {
    *
    * @param node
    *        The node to which we will be adding a clickable warning node.
    * @param url
    *        The url which points to the page where the user can learn more
    *        about security issues associated with the specific message that's
    *        being logged.
    */
-  addLearnMoreWarningNode: function(node, url) {
+  addLearnMoreWarningNode: function (node, url) {
     let moreInfoLabel = "[" + l10n.getStr("webConsoleMoreInfoLabel") + "]";
 
     let warningNode = this.document.createElementNS(XHTML_NS, "a");
     warningNode.title = url;
     warningNode.href = url;
     warningNode.draggable = false;
     warningNode.textContent = moreInfoLabel;
     warningNode.className = "learn-more-link";
@@ -1774,17 +1774,17 @@ WebConsoleFrame.prototype = {
   /**
    * Log file activity.
    *
    * @param string fileURI
    *        The file URI that was loaded.
    * @return nsIDOMElement|undefined
    *         The message element to display in the Web Console output.
    */
-  logFileActivity: function(fileURI) {
+  logFileActivity: function (fileURI) {
     let urlNode = this.document.createElementNS(XHTML_NS, "a");
     urlNode.setAttribute("title", fileURI);
     urlNode.className = "url";
     urlNode.textContent = fileURI;
     urlNode.draggable = false;
     urlNode.href = fileURI;
 
     let outputNode = this.createMessageNode(CATEGORY_NETWORK, SEVERITY_LOG,
@@ -1798,27 +1798,27 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Handle the file activity messages coming from the remote Web Console.
    *
    * @param string fileURI
    *        The file URI that was requested.
    */
-  handleFileActivity: function(fileURI) {
+  handleFileActivity: function (fileURI) {
     this.outputMessage(CATEGORY_NETWORK, this.logFileActivity, [fileURI]);
   },
 
   /**
    * Handle the reflow activity messages coming from the remote Web Console.
    *
    * @param object msg
    *        An object holding information about a reflow batch.
    */
-  logReflowActivity: function(message) {
+  logReflowActivity: function (message) {
     let {start, end, sourceURL, sourceLine} = message;
     let duration = Math.round((end - start) * 100) / 100;
     let node = this.document.createElementNS(XHTML_NS, "span");
     if (sourceURL) {
       node.textContent =
         l10n.getFormatStr("reflow.messageWithLink", [duration]);
       let a = this.document.createElementNS(XHTML_NS, "a");
       a.href = "#";
@@ -1834,49 +1834,49 @@ WebConsoleFrame.prototype = {
       node.appendChild(a);
     } else {
       node.textContent =
         l10n.getFormatStr("reflow.messageWithNoLink", [duration]);
     }
     return this.createMessageNode(CATEGORY_CSS, SEVERITY_LOG, node);
   },
 
-  handleReflowActivity: function(message) {
+  handleReflowActivity: function (message) {
     this.outputMessage(CATEGORY_CSS, this.logReflowActivity, [message]);
   },
 
   /**
    * Inform user that the window.console API has been replaced by a script
    * in a content page.
    */
-  logWarningAboutReplacedAPI: function() {
+  logWarningAboutReplacedAPI: function () {
     let node = this.createMessageNode(CATEGORY_JS, SEVERITY_WARNING,
                                       l10n.getStr("ConsoleAPIDisabled"));
     this.outputMessage(CATEGORY_JS, node);
   },
 
   /**
    * Handle the network events coming from the remote Web Console.
    *
    * @param object networkInfo
    *        The network request information.
    */
-  handleNetworkEvent: function(networkInfo) {
+  handleNetworkEvent: function (networkInfo) {
     this.outputMessage(CATEGORY_NETWORK, this.logNetEvent, [networkInfo]);
   },
 
   /**
    * Handle network event updates coming from the server.
    *
    * @param object networkInfo
    *        The network request information.
    * @param object packet
    *        Update details.
    */
-  handleNetworkEventUpdate: function(networkInfo, packet) {
+  handleNetworkEventUpdate: function (networkInfo, packet) {
     if (networkInfo.node && this._updateNetMessage(packet.from)) {
       if (this.window.NetRequest) {
         this.window.NetRequest.onNetworkEvent({
           client: this.webConsoleClient,
           response: packet,
           node: networkInfo.node,
           update: true
         });
@@ -1903,17 +1903,17 @@ WebConsoleFrame.prototype = {
    * given a network event actor ID.
    *
    * @private
    * @param string actorId
    *        The network event actor ID for which you want to update the message.
    * @return boolean
    *         |true| if the message node was updated, or |false| otherwise.
    */
-  _updateNetMessage: function(actorId) {
+  _updateNetMessage: function (actorId) {
     let networkInfo = this.webConsoleClient.getNetworkRequest(actorId);
     if (!networkInfo || !networkInfo.node) {
       return false;
     }
 
     let messageNode = networkInfo.node;
     let updates = networkInfo.updates;
     let hasEventTimings = updates.indexOf("eventTimings") > -1;
@@ -1957,17 +1957,17 @@ WebConsoleFrame.prototype = {
   },
 
   /**
    * Opens the network monitor and highlights the specified request.
    *
    * @param string requestId
    *        The actor ID of the network request.
    */
-  openNetworkPanel: function(requestId) {
+  openNetworkPanel: function (requestId) {
     let toolbox = gDevTools.getToolbox(this.owner.target);
     // The browser console doesn't have a toolbox.
     if (!toolbox) {
       return;
     }
     return toolbox.selectTool("netmonitor").then(panel => {
       return panel.panelWin.NetMonitorController.inspectRequest(requestId);
     });
@@ -1976,32 +1976,32 @@ WebConsoleFrame.prototype = {
   /**
    * Handler for page location changes.
    *
    * @param string uri
    *        New page location.
    * @param string title
    *        New page title.
    */
-  onLocationChange: function(uri, title) {
+  onLocationChange: function (uri, title) {
     this.contentLocation = uri;
     if (this.owner.onLocationChange) {
       this.owner.onLocationChange(uri, title);
     }
   },
 
   /**
    * Handler for the tabNavigated notification.
    *
    * @param string event
    *        Event name.
    * @param object packet
    *        Notification packet received from the server.
    */
-  handleTabNavigated: function(event, packet) {
+  handleTabNavigated: function (event, packet) {
     if (event == "will-navigate") {
       if (this.persistLog) {
         let marker = new Messages.NavigationMarker(packet, Date.now());
         this.output.addMessage(marker);
       } else {
         this.jsterm.clearOutput();
       }
     }
@@ -2030,17 +2030,17 @@ WebConsoleFrame.prototype = {
    *        the actual element. If a method is given it will be bound to the HUD
    *        object and the arguments will be |args|.
    * @param array [args]
    *        If a method is given to output the message element then the method
    *        will be invoked with the list of arguments given here. The last
    *        object in this array should be the packet received from the
    *        back end.
    */
-  outputMessage: function(category, methodOrNode, args) {
+  outputMessage: function (category, methodOrNode, args) {
     if (!this._outputQueue.length) {
       // If the queue is empty we consider that now was the last output flush.
       // This avoid an immediate output flush when the timer executes.
       this._lastOutputFlush = Date.now();
     }
 
     this._outputQueue.push([category, methodOrNode, args]);
 
@@ -2049,17 +2049,17 @@ WebConsoleFrame.prototype = {
 
   /**
    * Try to flush the output message queue. This takes the messages in the
    * output queue and displays them. Outputting stops at MESSAGES_IN_INTERVAL.
    * Further output is queued to happen later - see OUTPUT_INTERVAL.
    *
    * @private
    */
-  _flushMessageQueue: function() {
+  _flushMessageQueue: function () {
     this._outputTimerInitialized = false;
     if (!this._outputTimer) {
       return;
     }
 
     let startTime = Date.now();
     let timeSinceFlush = startTime - this._lastOutputFlush;
     let shouldThrottle = this._outputQueue.length > MESSAGES_IN_INTERVAL &&
@@ -2172,17 +2172,17 @@ WebConsoleFrame.prototype = {
 
     this._lastOutputFlush = Date.now();
   },
 
   /**
    * Initialize the output timer.
    * @private
    */
-  _initOutputTimer: function() {
+  _initOutputTimer: function () {
     let panelIsDestroyed = !this._outputTimer;
     let alreadyScheduled = this._outputTimerInitialized;
     let nothingToDo = !this._itemDestroyQueue.length &&
                       !this._outputQueue.length;
 
     // Don't schedule a callback in the following cases:
     if (panelIsDestroyed || alreadyScheduled || nothingToDo) {
       return;
@@ -2204,17 +2204,17 @@ WebConsoleFrame.prototype = {
    *        An item from the output queue - this item represents a message.
    * @return object
    *         An object that holds the following properties:
    *         - node: the DOM element of the message.
    *         - isRepeated: the DOM element of the original message, if this is
    *         a repeated message, otherwise null.
    *         - visible: boolean that tells if the message is visible.
    */
-  _outputMessageFromQueue: function(hudIdSupportsString, item) {
+  _outputMessageFromQueue: function (hudIdSupportsString, item) {
     let [, methodOrNode, args] = item;
 
     // The last object in the args array should be message
     // object or response packet received from the server.
     let message = (args && args.length) ? args[args.length - 1] : null;
 
     let node = typeof methodOrNode == "function" ?
                methodOrNode.apply(this, args || []) :
@@ -2258,21 +2258,21 @@ WebConsoleFrame.prototype = {
     };
   },
 
   /**
    * Prune the queue of messages to display. This avoids displaying messages
    * that will be removed at the end of the queue anyway.
    * @private
    */
-  _pruneOutputQueue: function() {
+  _pruneOutputQueue: function () {
     let nodes = {};
 
     // Group the messages per category.
-    this._outputQueue.forEach(function(item, index) {
+    this._outputQueue.forEach(function (item, index) {
       let [category] = item;
       if (!(category in nodes)) {
         nodes[category] = [];
       }
       nodes[category].push(index);
     }, this);
 
     let pruned = 0;
@@ -2298,17 +2298,17 @@ WebConsoleFrame.prototype = {
    * Destroy an item that was once in the outputQueue but isn't needed
    * after all.
    *
    * @private
    * @param array item
    *        The item you want to destroy.  Does not remove it from the output
    *        queue.
    */
-  _destroyItem: function(item) {
+  _destroyItem: function (item) {
     // TODO: handle object releasing in a more elegant way once all console
     // messages use the new API - bug 778766.
     let [category, methodOrNode, args] = item;
     if (typeof methodOrNode != "function" && methodOrNode._objectActors) {
       for (let actor of methodOrNode._objectActors) {
         this._releaseObject(actor);
       }
       methodOrNode._objectActors.clear();
@@ -2383,32 +2383,32 @@ WebConsoleFrame.prototype = {
    * Ensures that the number of message nodes of type category don't exceed that
    * category's line limit by removing old messages as needed.
    *
    * @param integer category
    *        The category of message nodes to prune if needed.
    * @return number
    *         The number of removed nodes.
    */
-  pruneOutputIfNecessary: function(category) {
+  pruneOutputIfNecessary: function (category) {
     let logLimit = Utils.logLimitForCategory(category);
     let messageNodes = this.outputNode.querySelectorAll(".message[category=" +
                        CATEGORY_CLASS_FRAGMENTS[category] + "]");
     let n = Math.max(0, messageNodes.length - logLimit);
     [...messageNodes].slice(0, n).forEach(this.removeOutputMessage, this);
     return n;
   },
 
   /**
    * Remove a given message from the output.
    *
    * @param nsIDOMNode node
    *        The message node you want to remove.
    */
-  removeOutputMessage: function(node) {
+  removeOutputMessage: function (node) {
     if (node._messageObject) {
       node._messageObject.destroy();
     }
 
     if (node._objectActors) {
       for (let actor of node._objectActors) {
         this._releaseObject(actor);
       }
@@ -2461,17 +2461,17 @@ WebConsoleFrame.prototype = {
    *        The level of the console API message.
    * @param number timestamp [optional]
    *        The timestamp to use for this message node. If omitted, the current
    *        date and time is used.
    * @return nsIDOMNode
    *         The message node: a DIV ready to be inserted into the Web Console
    *         output node.
    */
-  createMessageNode: function(category, severity, body, sourceURL, sourceLine,
+  createMessageNode: function (category, severity, body, sourceURL, sourceLine,
                               clipboardText, level, timestamp) {
     if (typeof body != "string" && clipboardText == null && body.innerText) {
       clipboardText = body.innerText;
     }
 
     let indentNode = this.document.createElementNS(XHTML_NS, "span");
     indentNode.className = "indent";
 
@@ -2590,17 +2590,17 @@ WebConsoleFrame.prototype = {
    * message.
    *
    * @param {Object} aLocation
    *        An object containing url, line and column number of the message
    *        source (destructured).
    * @return {Element}
    *         The new anchor element, ready to be added to the message node.
    */
-  createLocationNode: function({url, line, column}) {
+  createLocationNode: function ({url, line, column}) {
     if (!url) {
       url = "";
     }
 
     let fullURL = url.split(" -> ").pop();
     let locationNode = this.document.createElementNS(XHTML_NS, "a");
     locationNode.draggable = false;
     locationNode.className = "message-location devtools-monospace";
@@ -2655,17 +2655,17 @@ WebConsoleFrame.prototype = {
    * @param nsIDOMNode messageNode
    *        The message node to alter.
    * @param number category
    *        The category for the message; one of the CATEGORY_ constants.
    * @param number severity
    *        The severity for the message; one of the SEVERITY_ constants.
    * @return void
    */
-  setMessageType: function(messageNode, category, severity) {
+  setMessageType: function (messageNode, category, severity) {
     messageNode.category = category;
     messageNode.severity = severity;
     messageNode.setAttribute("category", CATEGORY_CLASS_FRAGMENTS[category]);
     messageNode.setAttribute("severity", SEVERITY_CLASS_FRAGMENTS[severity]);
     messageNode.setAttribute("filter",
       MESSAGE_PREFERENCE_KEYS[category][severity]);
   },
 
@@ -2673,17 +2673,17 @@ WebConsoleFrame.prototype = {
    * Add the mouse event handlers needed to make a link.
    *
    * @private
    * @param nsIDOMNode node
    *        The node for which you want to add the event handlers.
    * @param function callback
    *        The function you want to invoke on click.
    */
-  _addMessageLinkCallback: function(node, callback) {
+  _addMessageLinkCallback: function (node, callback) {
     node.addEventListener("mousedown", (event) => {
       this._mousedown = true;
       this._startX = event.clientX;
       this._startY = event.clientY;
     }, false);
 
     node.addEventListener("click", (event) => {
       let mousedown = this._mousedown;
@@ -2717,17 +2717,17 @@ WebConsoleFrame.prototype = {
    *
    * @private
    * @param object event
    *        This parameter is a string that holds the event name
    *        pref-changed in this case.
    * @param object data
    *        This is the pref-changed data object.
   */
-  _onToolboxPrefChanged: function(event, data) {
+  _onToolboxPrefChanged: function (event, data) {
     if (data.pref == PREF_MESSAGE_TIMESTAMP) {
       if (data.newValue) {
         this.outputNode.classList.remove("hideTimestamps");
       } else {
         this.outputNode.classList.add("hideTimestamps");
       }
     }
   },
@@ -2738,17 +2738,17 @@ WebConsoleFrame.prototype = {
    * @param object options
    *        - linkOnly:
    *        An optional flag to copy only URL without other meta-information.
    *        Default is false.
    *        - contextmenu:
    *        An optional flag to copy the last clicked item which brought
    *        up the context menu if nothing is selected. Default is false.
    */
-  copySelectedItems: function(options) {
+  copySelectedItems: function (options) {
     options = options || { linkOnly: false, contextmenu: false };
 
     // Gather up the selected items and concatenate their clipboard text.
     let strings = [];
 
     let children = this.output.getSelectedMessages();
     if (!children.length && options.contextmenu) {
       children = [this._contextMenuHandler.lastClickedMessage];
@@ -2773,45 +2773,45 @@ WebConsoleFrame.prototype = {
    * Object properties provider. This function gives you the properties of the
    * remote object you want.
    *
    * @param string actor
    *        The object actor ID from which you want the properties.
    * @param function callback
    *        Function you want invoked once the properties are received.
    */
-  objectPropertiesProvider: function(actor, callback) {
+  objectPropertiesProvider: function (actor, callback) {
     this.webConsoleClient.inspectObjectProperties(actor,
-      function(response) {
+      function (response) {
         if (response.error) {
           console.error("Failed to retrieve the object properties from the " +
                         "server. Error: " + response.error);
           return;
         }
         callback(response.properties);
       });
   },
 
   /**
    * Release an actor.
    *
    * @private
    * @param string actor
    *        The actor ID you want to release.
    */
-  _releaseObject: function(actor) {
+  _releaseObject: function (actor) {
     if (this.proxy) {
       this.proxy.releaseActor(actor);
     }
   },
 
   /**
    * Open the selected item's URL in a new tab.
    */
-  openSelectedItemInTab: function() {
+  openSelectedItemInTab: function () {
     let item = this.output.getSelectedMessages(1)[0] ||
                this._contextMenuHandler.lastClickedMessage;
 
     if (!item || !item.url) {
       return;
     }
 
     this.owner.openLink(item.url);
@@ -2820,17 +2820,17 @@ WebConsoleFrame.prototype = {
   /**
    * Destroy the WebConsoleFrame object. Call this method to avoid memory leaks
    * when the Web Console is closed.
    *
    * @return object
    *         A promise that is resolved when the WebConsoleFrame instance is
    *         destroyed.
    */
-  destroy: function() {
+  destroy: function () {
     if (this._destroyer) {
       return this._destroyer.promise;
     }
 
     this._destroyer = promise.defer();
 
     let toolbox = gDevTools.getToolbox(this.owner.target);
     if (toolbox) {
@@ -2898,46 +2898,46 @@ WebConsoleFrame.prototype = {
 var Utils = {
   /**
    * Scrolls a node so that it's visible in its containing element.
    *
    * @param nsIDOMNode node
    *        The node to make visible.
    * @returns void
    */
-  scrollToVisible: function(node) {
+  scrollToVisible: function (node) {
     node.scrollIntoView(false);
   },
 
   /**
    * Check if the given output node is scrolled to the bottom.
    *
    * @param nsIDOMNode outputNode
    * @param nsIDOMNode scrollNode
    * @return boolean
    *         True if the output node is scrolled to the bottom, or false
    *         otherwise.
    */
-  isOutputScrolledToBottom: function(outputNode, scrollNode) {
+  isOutputScrolledToBottom: function (outputNode, scrollNode) {
     let lastNodeHeight = outputNode.lastChild ?
                          outputNode.lastChild.clientHeight : 0;
     return scrollNode.scrollTop + scrollNode.clientHeight >=
            scrollNode.scrollHeight - lastNodeHeight / 2;
   },
 
   /**
    * Determine the category of a given nsIScriptError.
    *
    * @param nsIScriptError scriptError
    *        The script error you want to determine the category for.
    * @return CATEGORY_JS|CATEGORY_CSS|CATEGORY_SECURITY
    *         Depending on the script error CATEGORY_JS, CATEGORY_CSS, or
    *         CATEGORY_SECURITY can be returned.
    */
-  categoryForScriptError: function(scriptError) {
+  categoryForScriptError: function (scriptError) {
     let category = scriptError.category;
 
     if (/^(?:CSS|Layout)\b/.test(category)) {
       return CATEGORY_CSS;
     }
 
     switch (category) {
       case "Mixed Content Blocker":
@@ -2963,17 +2963,17 @@ var Utils = {
    * Retrieve the limit of messages for a specific category.
    *
    * @param number category
    *        The category of messages you want to retrieve the limit for. See the
    *        CATEGORY_* constants.
    * @return number
    *         The number of messages allowed for the specific category.
    */
-  logLimitForCategory: function(category) {
+  logLimitForCategory: function (category) {
     let logLimit = DEFAULT_LOG_LIMIT;
 
     try {
       let prefName = CATEGORY_CLASS_FRAGMENTS[category];
       logLimit = Services.prefs.getIntPref("devtools.hud.loglimit." + prefName);
       logLimit = Math.max(logLimit, 1);
     } catch (e) {
       // Ignore any exceptions
@@ -2994,46 +2994,46 @@ var Utils = {
 function CommandController(webConsole) {
   this.owner = webConsole;
 }
 
 CommandController.prototype = {
   /**
    * Selects all the text in the HUD output.
    */
-  selectAll: function() {
+  selectAll: function () {
     this.owner.output.selectAllMessages();
   },
 
   /**
    * Open the URL of the selected message in a new tab.
    */
-  openURL: function() {
+  openURL: function () {
     this.owner.openSelectedItemInTab();
   },
 
-  copyURL: function() {
+  copyURL: function () {
     this.owner.copySelectedItems({ linkOnly: true, contextmenu: true });
   },
 
   /**
    * Copies the last clicked message.
    */
-  copyLastClicked: function() {
+  copyLastClicked: function () {
     this.owner.copySelectedItems({ linkOnly: false, contextmenu: true });
   },
 
-  supportsCommand: function(command) {
+  supportsCommand: function (command) {
     if (!this.owner || !this.owner.output) {
       return false;
     }
     return this.isCommandEnabled(command);
   },
 
-  isCommandEnabled: function(command) {
+  isCommandEnabled: function (command) {
     switch (command) {
       case "consoleCmd_openURL":
       case "consoleCmd_copyURL": {
         // Only enable URL-related actions if node is Net Activity.
         let selectedItem = this.owner.output.getSelectedMessages(1)[0] ||
                            this.owner._contextMenuHandler.lastClickedMessage;
         return selectedItem && "url" in selectedItem;
       }
@@ -3052,17 +3052,17 @@ CommandController.prototype = {
       case "cmd_fontSizeReduce":
       case "cmd_fontSizeReset":
       case "cmd_close":
         return this.owner.owner._browserConsole;
     }
     return false;
   },
 
-  doCommand: function(command) {
+  doCommand: function (command) {
     switch (command) {
       case "consoleCmd_openURL":
         this.openURL();
         break;
       case "consoleCmd_copyURL":
         this.copyURL();
         break;
       case "consoleCmd_clearOutput":
@@ -3192,17 +3192,17 @@ WebConsoleConnectionProxy.prototype = {
 
   /**
    * Initialize a debugger client and connect it to the debugger server.
    *
    * @return object
    *         A promise object that is resolved/rejected based on the success of
    *         the connection initialization.
    */
-  connect: function() {
+  connect: function () {
     if (this._connectDefer) {
       return this._connectDefer.promise;
     }
 
     this._connectDefer = promise.defer();
 
     let timeout = Services.prefs.getIntPref(PREF_CONNECTION_TIMEOUT);
     this._connectTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
@@ -3243,47 +3243,47 @@ WebConsoleConnectionProxy.prototype = {
 
     return connPromise;
   },
 
   /**
    * Connection timeout handler.
    * @private
    */
-  _connectionTimeout: function() {
+  _connectionTimeout: function () {
     let error = {
       error: "timeout",
       message: l10n.getStr("connectionTimeout"),
     };
 
     this._connectDefer.reject(error);
   },
 
   /**
    * Attach to the Web Console actor.
    * @private
    */
-  _attachConsole: function() {
+  _attachConsole: function () {
     let listeners = ["PageError", "ConsoleAPI", "NetworkActivity",
                      "FileActivity"];
     this.client.attachConsole(this._consoleActor, listeners,
                               this._onAttachConsole);
   },
 
   /**
    * The "attachConsole" response handler.
    *
    * @private
    * @param object response
    *        The JSON response object received from the server.
    * @param object webConsoleClient
    *        The WebConsoleClient instance for the attached console, for the
    *        specific tab we work with.
    */
-  _onAttachConsole: function(response, webConsoleClient) {
+  _onAttachConsole: function (response, webConsoleClient) {
     if (response.error) {
       console.error("attachConsole failed: " + response.error + " " +
                     response.message);
       this._connectDefer.reject(response);
       return;
     }
 
     this.webConsoleClient = webConsoleClient;
@@ -3305,17 +3305,17 @@ WebConsoleConnectionProxy.prototype = {
 
   /**
    * The "cachedMessages" response handler.
    *
    * @private
    * @param object response
    *        The JSON response object received from the server.
    */
-  _onCachedMessages: function(response) {
+  _onCachedMessages: function (response) {
     if (response.error) {
       console.error("Web Console getCachedMessages error: " + response.error +
                     " " + response.message);
       this._connectDefer.reject(response);
       return;
     }
 
     if (!this._connectTimer) {
@@ -3343,17 +3343,17 @@ WebConsoleConnectionProxy.prototype = {
    * for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onPageError: function(type, packet) {
+  _onPageError: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       if (this.webConsoleFrame.NEW_CONSOLE_OUTPUT_ENABLED) {
         this.webConsoleFrame.newConsoleOutput.dispatchMessageAdd(packet);
         return;
       }
       this.webConsoleFrame.handlePageError(packet.pageError);
     }
   },
@@ -3363,33 +3363,33 @@ WebConsoleConnectionProxy.prototype = {
    * for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onLogMessage: function(type, packet) {
+  _onLogMessage: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       this.webConsoleFrame.handleLogMessage(packet);
     }
   },
 
   /**
    * The "consoleAPICall" message type handler. We redirect any message to
    * the UI for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onConsoleAPICall: function(type, packet) {
+  _onConsoleAPICall: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       if (this.webConsoleFrame.NEW_CONSOLE_OUTPUT_ENABLED) {
         this.webConsoleFrame.newConsoleOutput.dispatchMessageAdd(packet);
       } else {
         this.webConsoleFrame.handleConsoleAPICall(packet.message);
       }
     }
   },
@@ -3399,17 +3399,17 @@ WebConsoleConnectionProxy.prototype = {
    * the UI for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object networkInfo
    *        The network request information.
    */
-  _onNetworkEvent: function(type, networkInfo) {
+  _onNetworkEvent: function (type, networkInfo) {
     if (this.webConsoleFrame) {
       this.webConsoleFrame.handleNetworkEvent(networkInfo);
     }
   },
 
   /**
    * The "networkEventUpdate" message type handler. We redirect any message to
    * the UI for displaying.
@@ -3417,113 +3417,113 @@ WebConsoleConnectionProxy.prototype = {
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    * @param object networkInfo
    *        The network request information.
    */
-  _onNetworkEventUpdate: function(type, { packet, networkInfo }) {
+  _onNetworkEventUpdate: function (type, { packet, networkInfo }) {
     if (this.webConsoleFrame) {
       this.webConsoleFrame.handleNetworkEventUpdate(networkInfo, packet);
     }
   },
 
   /**
    * The "fileActivity" message type handler. We redirect any message to
    * the UI for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onFileActivity: function(type, packet) {
+  _onFileActivity: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       this.webConsoleFrame.handleFileActivity(packet.uri);
     }
   },
 
-  _onReflowActivity: function(type, packet) {
+  _onReflowActivity: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       this.webConsoleFrame.handleReflowActivity(packet);
     }
   },
 
   /**
    * The "serverLogCall" message type handler. We redirect any message to
    * the UI for displaying.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onServerLogCall: function(type, packet) {
+  _onServerLogCall: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       this.webConsoleFrame.handleConsoleAPICall(packet.message);
     }
   },
 
   /**
    * The "lastPrivateContextExited" message type handler. When this message is
    * received the Web Console UI is cleared.
    *
    * @private
    * @param string type
    *        Message type.
    * @param object packet
    *        The message received from the server.
    */
-  _onLastPrivateContextExited: function(type, packet) {
+  _onLastPrivateContextExited: function (type, packet) {
     if (this.webConsoleFrame && packet.from == this._consoleActor) {
       this.webConsoleFrame.jsterm.clearPrivateMessages();
     }
   },
 
   /**
    * The "will-navigate" and "navigate" event handlers. We redirect any message
    * to the UI for displaying.
    *
    * @private
    * @param string event
    *        Event type.
    * @param object packet
    *        The message received from the server.
    */
-  _onTabNavigated: function(event, packet) {
+  _onTabNavigated: function (event, packet) {
     if (!this.webConsoleFrame) {
       return;
     }
 
     this.webConsoleFrame.handleTabNavigated(event, packet);
   },
 
   /**
    * Release an object actor.
    *
    * @param string actor
    *        The actor ID to send the request to.
    */
-  releaseActor: function(actor) {
+  releaseActor: function (actor) {
     if (this.client) {
       this.client.release(actor);
     }
   },
 
   /**
    * Disconnect the Web Console from the remote server.
    *
    * @return object
    *         A promise object that is resolved when disconnect completes.
    */
-  disconnect: function() {
+  disconnect: function () {
     if (this._disconnecter) {
       return this._disconnecter.promise;
     }
 
     this._disconnecter = promise.defer();
 
     if (!this.client) {
       this._disconnecter.resolve(null);
@@ -3573,32 +3573,32 @@ function ConsoleContextMenu(owner) {
 }
 
 ConsoleContextMenu.prototype = {
   lastClickedMessage: null,
 
   /*
    * Handle to show/hide context menu item.
    */
-  build: function(event) {
+  build: function (event) {
     let metadata = this.getSelectionMetadata(event.rangeParent);
     for (let element of this.popup.children) {
       element.hidden = this.shouldHideMenuItem(element, metadata);
     }
   },
 
   /*
    * Get selection information from the view.
    *
    * @param nsIDOMElement clickElement
    *        The DOM element the user clicked on.
    * @return object
    *         Selection metadata.
    */
-  getSelectionMetadata: function(clickElement) {
+  getSelectionMetadata: function (clickElement) {
     let metadata = {
       selectionType: "",
       selection: new Set(),
     };
     let selectedItems = this.owner.output.getSelectedMessages();
     if (!selectedItems.length) {
       let clickedItem = this.owner.output.getMessageForElement(clickElement);
       if (clickedItem) {
@@ -3636,17 +3636,17 @@ ConsoleContextMenu.prototype = {
   /*
    * Determine if an item should be hidden.
    *
    * @param nsIDOMElement menuItem
    * @param object metadata
    * @return boolean
    *         Whether the given item should be hidden or not.
    */
-  shouldHideMenuItem: function(menuItem, metadata) {
+  shouldHideMenuItem: function (menuItem, metadata) {
     let selectionType = menuItem.getAttribute("selectiontype");
     if (selectionType && !metadata.selectionType == selectionType) {
       return true;
     }
 
     let selection = menuItem.getAttribute("selection");
     if (!selection) {
       return false;
@@ -3663,15 +3663,15 @@ ConsoleContextMenu.prototype = {
     }
 
     return shouldHide;
   },
 
   /**
    * Destroy the ConsoleContextMenu object instance.
    */
-  destroy: function() {
+  destroy: function () {
     this.popup.removeEventListener("popupshowing", this.build);
     this.popup = null;
     this.owner = null;
     this.lastClickedMessage = null;
   },
 };
--- a/devtools/client/webide/components/webideCli.js
+++ b/devtools/client/webide/components/webideCli.js
@@ -11,17 +11,17 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 
 /**
  * Handles --webide command line option.
  */
 
 function webideCli() { }
 
 webideCli.prototype = {
-  handle: function(cmdLine) {
+  handle: function (cmdLine) {
     let param;
 
     if (!cmdLine.handleFlag("webide", false)) {
       return;
     }
 
     // If --webide is used remotely, we don't want to open
     // a new tab.
--- a/devtools/client/webide/content/addons.js
+++ b/devtools/client/webide/content/addons.js
@@ -5,20 +5,20 @@
 var Cu = Components.utils;
 const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
 const Services = require("Services");
 const {GetAvailableAddons, ForgetAddonsList} = require("devtools/client/webide/modules/addons");
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 window.addEventListener("load", function onLoad() {
   window.removeEventListener("load", onLoad);
-  document.querySelector("#aboutaddons").onclick = function() {
+  document.querySelector("#aboutaddons").onclick = function () {
     let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
     browserWin.BrowserOpenAddonsMgr("addons://list/extension");
-  }
+  };
   document.querySelector("#close").onclick = CloseUI;
   GetAvailableAddons().then(BuildUI, (e) => {
     console.error(e);
     window.alert(Strings.formatStringFromName("error_cantFetchAddonsJSON", [e], 1));
   });
 }, true);
 
 window.addEventListener("unload", function onUnload() {
@@ -81,17 +81,17 @@ function BuildItem(addon, type) {
     case "adb":
       li.setAttribute("addon", type);
       name.textContent = Strings.GetStringFromName("addons_adb_label");
       break;
     case "adapters":
       li.setAttribute("addon", type);
       try {
         name.textContent = Strings.GetStringFromName("addons_adapters_label");
-      } catch(e) {
+      } catch (e) {
         // This code (bug 1081093) will be backported to Aurora, which doesn't
         // contain this string.
         name.textContent = "Tools Adapters Add-on";
       }
       break;
     case "simulator":
       li.setAttribute("addon", "simulator-" + addon.version);
       let stability = Strings.GetStringFromName("addons_" + addon.stability);
--- a/devtools/client/webide/content/logs.js
+++ b/devtools/client/webide/content/logs.js
@@ -27,22 +27,22 @@ const Logs = {
 
     document.getElementById("close").onclick = Logs.close.bind(this);
   },
 
   uninit: function () {
     AppManager.off("app-manager-update", Logs.onAppManagerUpdate);
   },
 
-  onAppManagerUpdate: function(event, what, details) {
+  onAppManagerUpdate: function (event, what, details) {
     switch (what) {
       case "pre-package":
         this.prePackageLog(details);
         break;
-    };
+    }
   },
 
   close: function () {
     window.parent.UI.openProject();
   },
 
   prePackageLog: function (msg, details) {
     if (msg == "start") {
--- a/devtools/client/webide/content/monitor.js
+++ b/devtools/client/webide/content/monitor.js
@@ -1,26 +1,26 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var Cu = Components.utils;
-const {require} = Cu.import('resource://devtools/shared/Loader.jsm', {});
-const Services = require('Services');
-const {AppManager} = require('devtools/client/webide/modules/app-manager');
-const {AppActorFront} = require('devtools/shared/apps/app-actor-front');
-const {Connection} = require('devtools/shared/client/connection-manager');
-const EventEmitter = require('devtools/shared/event-emitter');
+const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
+const Services = require("Services");
+const {AppManager} = require("devtools/client/webide/modules/app-manager");
+const {AppActorFront} = require("devtools/shared/apps/app-actor-front");
+const {Connection} = require("devtools/shared/client/connection-manager");
+const EventEmitter = require("devtools/shared/event-emitter");
 
-window.addEventListener('load', function onLoad() {
-  window.removeEventListener('load', onLoad);
-  window.addEventListener('resize', Monitor.resize);
-  window.addEventListener('unload', Monitor.unload);
+window.addEventListener("load", function onLoad() {
+  window.removeEventListener("load", onLoad);
+  window.addEventListener("resize", Monitor.resize);
+  window.addEventListener("unload", Monitor.unload);
 
-  document.querySelector('#close').onclick = () => {
+  document.querySelector("#close").onclick = () => {
     window.parent.UI.openProject();
   };
 
   Monitor.load();
 });
 
 
 /**
@@ -45,270 +45,270 @@ var Monitor = {
   socket: null,
   wstimeout: null,
   b2ginfo: false,
   b2gtimeout: null,
 
   /**
    * Add new data to the graphs, create a new graph if necessary.
    */
-  update: function(data, fallback) {
+  update: function (data, fallback) {
     if (Array.isArray(data)) {
       data.forEach(d => Monitor.update(d, fallback));
       return;
     }
 
-    if (Monitor.b2ginfo && data.graph === 'USS') {
+    if (Monitor.b2ginfo && data.graph === "USS") {
       // If we're polling b2g-info, ignore USS updates from the device's
       // USSAgents (see Monitor.pollB2GInfo()).
       return;
     }
 
     if (fallback) {
       for (let key in fallback) {
         if (!data[key]) {
           data[key] = fallback[key];
         }
       }
     }
 
     let graph = Monitor.graphs.get(data.graph);
     if (!graph) {
-      let element = document.createElement('div');
-      element.classList.add('graph');
+      let element = document.createElement("div");
+      element.classList.add("graph");
       document.body.appendChild(element);
 
       graph = new Graph(data.graph, element);
       Monitor.resize(); // a scrollbar might have dis/reappeared
       Monitor.graphs.set(data.graph, graph);
     }
     graph.update(data);
   },
 
   /**
    * Initialize the Monitor.
    */
-  load: function() {
-    AppManager.on('app-manager-update', Monitor.onAppManagerUpdate);
+  load: function () {
+    AppManager.on("app-manager-update", Monitor.onAppManagerUpdate);
     Monitor.connectToRuntime();
     Monitor.connectToWebSocket();
   },
 
   /**
    * Clean up the Monitor.
    */
-  unload: function() {
-    AppManager.off('app-manager-update', Monitor.onAppManagerUpdate);
+  unload: function () {
+    AppManager.off("app-manager-update", Monitor.onAppManagerUpdate);
     Monitor.disconnectFromRuntime();
     Monitor.disconnectFromWebSocket();
   },
 
   /**
    * Resize all the graphs.
    */
-  resize: function() {
+  resize: function () {
     for (let graph of Monitor.graphs.values()) {
       graph.resize();
     }
   },
 
   /**
    * When WebIDE connects to a new runtime, start its data forwarders.
    */
-  onAppManagerUpdate: function(event, what, details) {
+  onAppManagerUpdate: function (event, what, details) {
     switch (what) {
-      case 'runtime-global-actors':
+      case "runtime-global-actors":
         Monitor.connectToRuntime();
         break;
-      case 'connection':
+      case "connection":
         if (AppManager.connection.status == Connection.Status.DISCONNECTED) {
           Monitor.disconnectFromRuntime();
         }
         break;
     }
   },
 
   /**
    * Use an AppActorFront on a runtime to watch track its apps.
    */
-  connectToRuntime: function() {
+  connectToRuntime: function () {
     Monitor.pollB2GInfo();
     let client = AppManager.connection && AppManager.connection.client;
     let resp = AppManager._listTabsResponse;
     if (client && resp && !Monitor.front) {
       Monitor.front = new AppActorFront(client, resp);
       Monitor.front.watchApps(Monitor.onRuntimeAppEvent);
     }
   },
 
   /**
    * Destroy our AppActorFront.
    */
-  disconnectFromRuntime: function() {
+  disconnectFromRuntime: function () {
     Monitor.unpollB2GInfo();
     if (Monitor.front) {
       Monitor.front.unwatchApps(Monitor.onRuntimeAppEvent);
       Monitor.front = null;
     }
   },
 
   /**
    * Try connecting to a local websockets server and accept updates from it.
    */
-  connectToWebSocket: function() {
-    let webSocketURL = Services.prefs.getCharPref('devtools.webide.monitorWebSocketURL');
+  connectToWebSocket: function () {
+    let webSocketURL = Services.prefs.getCharPref("devtools.webide.monitorWebSocketURL");
     try {
       Monitor.socket = new WebSocket(webSocketURL);
-      Monitor.socket.onmessage = function(event) {
+      Monitor.socket.onmessage = function (event) {
         Monitor.update(JSON.parse(event.data));
       };
-      Monitor.socket.onclose = function() {
+      Monitor.socket.onclose = function () {
         Monitor.wstimeout = setTimeout(Monitor.connectToWebsocket, 1000);
       };
-    } catch(e) {
+    } catch (e) {
       Monitor.wstimeout = setTimeout(Monitor.connectToWebsocket, 1000);
     }
   },
 
   /**
    * Used when cleaning up.
    */
-  disconnectFromWebSocket: function() {
+  disconnectFromWebSocket: function () {
     clearTimeout(Monitor.wstimeout);
     if (Monitor.socket) {
       Monitor.socket.onclose = () => {};
       Monitor.socket.close();
     }
   },
 
   /**
    * When an app starts on the runtime, start a monitor actor for its process.
    */
-  onRuntimeAppEvent: function(type, app) {
-    if (type !== 'appOpen' && type !== 'appClose') {
+  onRuntimeAppEvent: function (type, app) {
+    if (type !== "appOpen" && type !== "appClose") {
       return;
     }
 
     let client = AppManager.connection.client;
     app.getForm().then(form => {
-      if (type === 'appOpen') {
+      if (type === "appOpen") {
         app.monitorClient = new MonitorClient(client, form);
         app.monitorClient.start();
-        app.monitorClient.on('update', Monitor.onRuntimeUpdate);
+        app.monitorClient.on("update", Monitor.onRuntimeUpdate);
         Monitor.apps.set(form.monitorActor, app);
       } else {
-        let app = Monitor.apps.get(form.monitorActor)
+        let app = Monitor.apps.get(form.monitorActor);
         if (app) {
           app.monitorClient.stop(() => app.monitorClient.destroy());
           Monitor.apps.delete(form.monitorActor);
         }
       }
     });
   },
 
   /**
    * Accept data updates from the monitor actors of a runtime.
    */
-  onRuntimeUpdate: function(type, packet) {
+  onRuntimeUpdate: function (type, packet) {
     let fallback = {}, app = Monitor.apps.get(packet.from);
     if (app) {
-      fallback.curve = app.manifest.name
+      fallback.curve = app.manifest.name;
     }
     Monitor.update(packet.data, fallback);
   },
 
   /**
    * Bug 1047355: If possible, parsing the output of `b2g-info` has several
    * benefits over bug 1037465's multi-process USSAgent approach, notably:
    * - Works for older Firefox OS devices (pre-2.1),
    * - Doesn't need certified-apps debugging,
    * - Polling time is synchronized for all processes.
    * TODO: After bug 1043324 lands, consider removing this hack.
    */
-  pollB2GInfo: function() {
+  pollB2GInfo: function () {
     if (AppManager.selectedRuntime) {
       let device = AppManager.selectedRuntime.device;
       if (device && device.shell) {
-        device.shell('b2g-info').then(s => {
-          let lines = s.split('\n');
-          let line = '';
+        device.shell("b2g-info").then(s => {
+          let lines = s.split("\n");
+          let line = "";
 
           // Find the header row to locate NAME and USS, looks like:
           // '      NAME PID NICE  USS  PSS  RSS VSIZE OOM_ADJ USER '.
-          while (line.indexOf('NAME') < 0) {
+          while (line.indexOf("NAME") < 0) {
             if (lines.length < 1) {
               // Something is wrong with this output, don't trust b2g-info.
               Monitor.unpollB2GInfo();
               return;
             }
             line = lines.shift();
           }
-          let namelength = line.indexOf('NAME') + 'NAME'.length;
-          let ussindex = line.slice(namelength).split(/\s+/).indexOf('USS');
+          let namelength = line.indexOf("NAME") + "NAME".length;
+          let ussindex = line.slice(namelength).split(/\s+/).indexOf("USS");
 
           // Get the NAME and USS in each following line, looks like:
           // 'Homescreen 375   18 12.6 16.3 27.1  67.8       4 app_375'.
           while (lines.length > 0 && lines[0].length > namelength) {
             line = lines.shift();
             let name = line.slice(0, namelength);
             let uss = line.slice(namelength).split(/\s+/)[ussindex];
             Monitor.update({
               curve: name.trim(),
               value: 1024 * 1024 * parseFloat(uss) // Convert MB to bytes.
             }, {
               // Note: We use the fallback object to set the graph name to 'USS'
               // so that Monitor.update() can ignore USSAgent updates.
-              graph: 'USS'
+              graph: "USS"
             });
           }
         });
       }
     }
     Monitor.b2ginfo = true;
     Monitor.b2gtimeout = setTimeout(Monitor.pollB2GInfo, 350);
   },
 
   /**
    * Polling b2g-info doesn't work or is no longer needed.
    */
-  unpollB2GInfo: function() {
+  unpollB2GInfo: function () {
     clearTimeout(Monitor.b2gtimeout);
     Monitor.b2ginfo = false;
   }
 
 };
 
 
 /**
  * A MonitorClient is used as an actor client of a runtime's monitor actors,
  * receiving its updates.
  */
 function MonitorClient(client, form) {
   this.client = client;
   this.actor = form.monitorActor;
-  this.events = ['update'];
+  this.events = ["update"];
 
   EventEmitter.decorate(this);
   this.client.registerClient(this);
 }
 MonitorClient.prototype.destroy = function () {
   this.client.unregisterClient(this);
-}
+};
 MonitorClient.prototype.start = function () {
   this.client.request({
     to: this.actor,
-    type: 'start'
+    type: "start"
   });
-}
+};
 MonitorClient.prototype.stop = function (callback) {
   this.client.request({
     to: this.actor,
-    type: 'stop'
+    type: "stop"
   }, callback);
-}
+};
 
 
 /**
  * A Graph populates a container DOM element with an SVG graph and a legend.
  */
 function Graph(name, element) {
   this.name = name;
   this.element = element;
@@ -316,73 +316,73 @@ function Graph(name, element) {
   this.events = new Map();
   this.ignored = new Set();
   this.enabled = true;
   this.request = null;
 
   this.x = d3.time.scale();
   this.y = d3.scale.linear();
 
-  this.xaxis = d3.svg.axis().scale(this.x).orient('bottom');
-  this.yaxis = d3.svg.axis().scale(this.y).orient('left');
+  this.xaxis = d3.svg.axis().scale(this.x).orient("bottom");
+  this.yaxis = d3.svg.axis().scale(this.y).orient("left");
 
-  this.xformat = d3.time.format('%I:%M:%S');
+  this.xformat = d3.time.format("%I:%M:%S");
   this.yformat = this.formatter(1);
   this.yaxis.tickFormat(this.formatter(0));
 
-  this.line = d3.svg.line().interpolate('linear')
-    .x(function(d) { return this.x(d.time); })
-    .y(function(d) { return this.y(d.value); });
+  this.line = d3.svg.line().interpolate("linear")
+    .x(function (d) { return this.x(d.time); })
+    .y(function (d) { return this.y(d.value); });
 
   this.color = d3.scale.category10();
 
-  this.svg = d3.select(element).append('svg').append('g')
-    .attr('transform', 'translate(' + this.margin.left + ',' + this.margin.top + ')');
+  this.svg = d3.select(element).append("svg").append("g")
+    .attr("transform", "translate(" + this.margin.left + "," + this.margin.top + ")");
 
-  this.xelement = this.svg.append('g').attr('class', 'x axis').call(this.xaxis);
-  this.yelement = this.svg.append('g').attr('class', 'y axis').call(this.yaxis);
+  this.xelement = this.svg.append("g").attr("class", "x axis").call(this.xaxis);
+  this.yelement = this.svg.append("g").attr("class", "y axis").call(this.yaxis);
 
   // RULERS on axes
-  let xruler = this.xruler = this.svg.select('.x.axis').append('g').attr('class', 'x ruler');
-  xruler.append('line').attr('y2', 6);
-  xruler.append('line').attr('stroke-dasharray', '1,1');
-  xruler.append('text').attr('y', 9).attr('dy', '.71em');
+  let xruler = this.xruler = this.svg.select(".x.axis").append("g").attr("class", "x ruler");
+  xruler.append("line").attr("y2", 6);
+  xruler.append("line").attr("stroke-dasharray", "1,1");
+  xruler.append("text").attr("y", 9).attr("dy", ".71em");
 
-  let yruler = this.yruler = this.svg.select('.y.axis').append('g').attr('class', 'y ruler');
-  yruler.append('line').attr('x2', -6);
-  yruler.append('line').attr('stroke-dasharray', '1,1');
-  yruler.append('text').attr('x', -9).attr('dy', '.32em');
+  let yruler = this.yruler = this.svg.select(".y.axis").append("g").attr("class", "y ruler");
+  yruler.append("line").attr("x2", -6);
+  yruler.append("line").attr("stroke-dasharray", "1,1");
+  yruler.append("text").attr("x", -9).attr("dy", ".32em");
 
   let self = this;
 
-  d3.select(element).select('svg')
-    .on('mousemove', function() {
+  d3.select(element).select("svg")
+    .on("mousemove", function () {
       let mouse = d3.mouse(this);
       self.mousex = mouse[0] - self.margin.left,
       self.mousey = mouse[1] - self.margin.top;
 
-      xruler.attr('transform', 'translate(' + self.mousex + ',0)');
-      yruler.attr('transform', 'translate(0,' + self.mousey + ')');
+      xruler.attr("transform", "translate(" + self.mousex + ",0)");
+      yruler.attr("transform", "translate(0," + self.mousey + ")");
     });
-    /*.on('mouseout', function() {
+    /* .on('mouseout', function() {
       self.xruler.attr('transform', 'translate(-500,0)');
       self.yruler.attr('transform', 'translate(0,-500)');
     });*/
   this.mousex = this.mousey = -500;
 
-  let sidebar = d3.select(this.element).append('div').attr('class', 'sidebar');
-  let title = sidebar.append('label').attr('class', 'graph-title');
+  let sidebar = d3.select(this.element).append("div").attr("class", "sidebar");
+  let title = sidebar.append("label").attr("class", "graph-title");
 
-  title.append('input')
-    .attr('type', 'checkbox')
-    .attr('checked', 'true')
-    .on('click', function() { self.toggle(); });
-  title.append('span').text(this.name);
+  title.append("input")
+    .attr("type", "checkbox")
+    .attr("checked", "true")
+    .on("click", function () { self.toggle(); });
+  title.append("span").text(this.name);
 
-  this.legend = sidebar.append('div').attr('class', 'legend');
+  this.legend = sidebar.append("div").attr("class", "legend");
 
   this.resize = this.resize.bind(this);
   this.render = this.render.bind(this);
   this.averages = this.averages.bind(this);
 
   setInterval(this.averages, 1000);
 
   this.resize();
@@ -399,57 +399,57 @@ Graph.prototype = {
     right: 150,
     bottom: 20,
     left: 50
   },
 
   /**
    * A Graph can be collapsed by the user.
    */
-  toggle: function() {
+  toggle: function () {
     if (this.enabled) {
-      this.element.classList.add('disabled');
+      this.element.classList.add("disabled");
       this.enabled = false;
     } else {
-      this.element.classList.remove('disabled');
+      this.element.classList.remove("disabled");
       this.enabled = true;
     }
     Monitor.resize();
   },
 
   /**
    * If the container element is resized (e.g. because the window was resized or
    * a scrollbar dis/appeared), the graph needs to be resized as well.
    */
-  resize: function() {
+  resize: function () {
     let style = getComputedStyle(this.element),
-        height = parseFloat(style.height) - this.margin.top - this.margin.bottom,
-        width = parseFloat(style.width) - this.margin.left - this.margin.right;
+      height = parseFloat(style.height) - this.margin.top - this.margin.bottom,
+      width = parseFloat(style.width) - this.margin.left - this.margin.right;
 
-    d3.select(this.element).select('svg')
-      .attr('width', width + this.margin.left)
-      .attr('height', height + this.margin.top + this.margin.bottom);
+    d3.select(this.element).select("svg")
+      .attr("width", width + this.margin.left)
+      .attr("height", height + this.margin.top + this.margin.bottom);
 
     this.x.range([0, width]);
     this.y.range([height, 0]);
 
-    this.xelement.attr('transform', 'translate(0,' + height + ')')
-    this.xruler.select('line[stroke-dasharray]').attr('y2', -height);
-    this.yruler.select('line[stroke-dasharray]').attr('x2', width);
+    this.xelement.attr("transform", "translate(0," + height + ")");
+    this.xruler.select("line[stroke-dasharray]").attr("y2", -height);
+    this.yruler.select("line[stroke-dasharray]").attr("x2", width);
   },
 
   /**
    * If the domain of the Graph's data changes (on the time axis and/or on the
    * value axis), the axes' domains need to be updated and the graph items need
    * to be rescaled in order to represent all the data.
    */
-  rescale: function() {
+  rescale: function () {
     let gettime = v => { return v.time; },
-        getvalue = v => { return v.value; },
-        ignored = c => { return this.ignored.has(c.id); };
+      getvalue = v => { return v.value; },
+      ignored = c => { return this.ignored.has(c.id); };
 
     let xmin = null, xmax = null, ymin = null, ymax = null;
     for (let curve of this.curves.values()) {
       if (ignored(curve)) {
         continue;
       }
       if (xmax == null || curve.xmax > xmax) {
         xmax = curve.xmax;
@@ -493,40 +493,40 @@ Graph.prototype = {
         this.yelement.call(this.yaxis);
       }
     }
   },
 
   /**
    * Add new values to the graph.
    */
-  update: function(data) {
+  update: function (data) {
     delete data.graph;
 
     let time = data.time || Date.now();
     delete data.time;
 
     let curve = data.curve;
     delete data.curve;
 
     // Single curve value, e.g. { curve: 'memory', value: 42, time: 1234 }.
-    if ('value' in data) {
+    if ("value" in data) {
       this.push(this.curves, curve, [{time: time, value: data.value}]);
       delete data.value;
     }
 
     // Several curve values, e.g. { curve: 'memory', values: [{value: 42, time: 1234}] }.
-    if ('values' in data) {
+    if ("values" in data) {
       this.push(this.curves, curve, data.values);
       delete data.values;
     }
 
     // Punctual event, e.g. { event: 'gc', time: 1234 },
     // event with duration, e.g. { event: 'jank', duration: 425, time: 1234 }.
-    if ('event' in data) {
+    if ("event" in data) {
       this.push(this.events, data.event, [{time: time, value: data.duration}]);
       delete data.event;
       delete data.duration;
     }
 
     // Remaining keys are curves, e.g. { time: 1234, memory: 42, battery: 13, temperature: 45 }.
     for (let key in data) {
       this.push(this.curves, key, [{time: time, value: data[key]}]);
@@ -536,17 +536,17 @@ Graph.prototype = {
     if (this.enabled && !this.request) {
       this.request = requestAnimationFrame(this.render);
     }
   },
 
   /**
    * Insert new data into the graph's data structures.
    */
-  push: function(collection, id, values) {
+  push: function (collection, id, values) {
 
     // Note: collection is either `this.curves` or `this.events`.
     let item = collection.get(id);
     if (!item) {
       item = { id: id, values: [], xmin: null, xmax: null, ymin: 0, ymax: null, average: 0 };
       collection.set(id, item);
     }
 
@@ -568,138 +568,138 @@ Graph.prototype = {
       // Note: A curve's average is not computed here. Call `graph.averages()`.
       item.values.push({ time: time, value: value });
     }
   },
 
   /**
    * Render the SVG graph with curves, events, crosshair and legend.
    */
-  render: function() {
+  render: function () {
     this.request = null;
     this.rescale();
 
 
     // DATA
 
     let self = this,
-        getid = d => { return d.id; },
-        gettime = d => { return d.time.getTime(); },
-        getline = d => { return self.line(d.values); },
-        getcolor = d => { return self.color(d.id); },
-        getvalues = d => { return d.values; },
-        ignored = d => { return self.ignored.has(d.id); };
+      getid = d => { return d.id; },
+      gettime = d => { return d.time.getTime(); },
+      getline = d => { return self.line(d.values); },
+      getcolor = d => { return self.color(d.id); },
+      getvalues = d => { return d.values; },
+      ignored = d => { return self.ignored.has(d.id); };
 
     // Convert our maps to arrays for d3.
     let curvedata = [...this.curves.values()],
-        eventdata = [...this.events.values()],
-        data = curvedata.concat(eventdata);
+      eventdata = [...this.events.values()],
+      data = curvedata.concat(eventdata);
 
 
     // CURVES
 
     // Map curve data to curve elements.
-    let curves = this.svg.selectAll('.curve').data(curvedata, getid);
+    let curves = this.svg.selectAll(".curve").data(curvedata, getid);
 
     // Create new curves (no element corresponding to the data).
-    curves.enter().append('g').attr('class', 'curve').append('path')
-      .style('stroke', getcolor);
+    curves.enter().append("g").attr("class", "curve").append("path")
+      .style("stroke", getcolor);
 
     // Delete old curves (elements corresponding to data not present anymore).
     curves.exit().remove();
 
     // Update all curves from data.
-    this.svg.selectAll('.curve').select('path')
-      .attr('d', d => { return ignored(d) ? '' : getline(d); });
+    this.svg.selectAll(".curve").select("path")
+      .attr("d", d => { return ignored(d) ? "" : getline(d); });
 
     let height = parseFloat(getComputedStyle(this.element).height) - this.margin.top - this.margin.bottom;
 
 
     // EVENTS
 
     // Map event data to event elements.
-    let events = this.svg.selectAll('.event-slot').data(eventdata, getid);
+    let events = this.svg.selectAll(".event-slot").data(eventdata, getid);
 
     // Create new events.
-    events.enter().append('g').attr('class', 'event-slot');
+    events.enter().append("g").attr("class", "event-slot");
 
     // Remove old events.
     events.exit().remove();
 
     // Get all occurences of an event, and map its data to them.
-    let lines = this.svg.selectAll('.event-slot')
-      .style('stroke', d => { return ignored(d) ? 'none' : getcolor(d); })
-    .selectAll('.event')
+    let lines = this.svg.selectAll(".event-slot")
+      .style("stroke", d => { return ignored(d) ? "none" : getcolor(d); })
+    .selectAll(".event")
       .data(getvalues, gettime);
 
     // Create new event occurrence.
-    lines.enter().append('line').attr('class', 'event').attr('y2', height);
+    lines.enter().append("line").attr("class", "event").attr("y2", height);
 
     // Delete old event occurrence.
     lines.exit().remove();
 
     // Update all event occurrences from data.
-    this.svg.selectAll('.event')
-      .attr('transform', d => { return 'translate(' + self.x(d.time) + ',0)'; });
+    this.svg.selectAll(".event")
+      .attr("transform", d => { return "translate(" + self.x(d.time) + ",0)"; });
 
 
     // CROSSHAIR
 
     // TODO select curves and events, intersect with curves and show values/hovers
     // e.g. look like http://code.shutterstock.com/rickshaw/examples/lines.html
 
     // Update crosshair labels on each axis.
-    this.xruler.select('text').text(self.xformat(self.x.invert(self.mousex)));
-    this.yruler.select('text').text(self.yformat(self.y.invert(self.mousey)));
+    this.xruler.select("text").text(self.xformat(self.x.invert(self.mousex)));
+    this.yruler.select("text").text(self.yformat(self.y.invert(self.mousey)));
 
 
     // LEGEND
 
     // Map data to legend elements.
-    let legends = this.legend.selectAll('label').data(data, getid);
+    let legends = this.legend.selectAll("label").data(data, getid);
 
     // Update averages.
-    legends.attr('title', c => { return 'Average: ' + self.yformat(c.average); });
+    legends.attr("title", c => { return "Average: " + self.yformat(c.average); });
 
     // Create new legends.
-    let newlegend = legends.enter().append('label');
-    newlegend.append('input').attr('type', 'checkbox').attr('checked', 'true').on('click', function(c) {
+    let newlegend = legends.enter().append("label");
+    newlegend.append("input").attr("type", "checkbox").attr("checked", "true").on("click", function (c) {
       if (ignored(c)) {
-        this.parentElement.classList.remove('disabled');
+        this.parentElement.classList.remove("disabled");
         self.ignored.delete(c.id);
       } else {
-        this.parentElement.classList.add('disabled');
+        this.parentElement.classList.add("disabled");
         self.ignored.add(c.id);
       }
       self.update({}); // if no re-render is pending, request one.
     });
-    newlegend.append('span').attr('class', 'legend-color').style('background-color', getcolor);
-    newlegend.append('span').attr('class', 'legend-id').text(getid);
+    newlegend.append("span").attr("class", "legend-color").style("background-color", getcolor);
+    newlegend.append("span").attr("class", "legend-id").text(getid);
 
     // Delete old legends.
     legends.exit().remove();
   },
 
   /**
    * Returns a SI value formatter with a given precision.
    */
-  formatter: function(decimals) {
+  formatter: function (decimals) {
     return value => {
       // Don't use sub-unit SI prefixes (milli, micro, etc.).
       if (Math.abs(value) < 1) return value.toFixed(decimals);
       // SI prefix, e.g. 1234567 will give '1.2M' at precision 1.
       let prefix = d3.formatPrefix(value);
       return prefix.scale(value).toFixed(decimals) + prefix.symbol;
     };
   },
 
   /**
    * Compute the average of each time series.
    */
-  averages: function() {
+  averages: function () {
     for (let c of this.curves.values()) {
       let length = c.values.length;
       if (length > 0) {
         let total = 0;
         c.values.forEach(v => total += v.value);
         c.average = (total / length);
       }
     }
@@ -708,34 +708,34 @@ Graph.prototype = {
   /**
    * Bisect a time serie to find the data point immediately left of `time`.
    */
   bisectTime: d3.bisector(d => d.time).left,
 
   /**
    * Get all curve values at a given time.
    */
-  valuesAt: function(time) {
+  valuesAt: function (time) {
     let values = { time: time };
 
     for (let id of this.curves.keys()) {
       let curve = this.curves.get(id);
 
       // Find the closest value just before `time`.
       let i = this.bisectTime(curve.values, time);
       if (i < 0) {
         // Curve starts after `time`, use first value.
         values[id] = curve.values[0].value;
-      } else if (i > curve.values.length-2) {
+      } else if (i > curve.values.length - 2) {
         // Curve ends before `time`, use last value.
-        values[id] = curve.values[curve.values.length-1].value;
+        values[id] = curve.values[curve.values.length - 1].value;
       } else {
         // Curve has two values around `time`, interpolate.
         let v1 = curve.values[i],
-            v2 = curve.values[i+1],
-            delta = (time - v1.time) / (v2.time - v1.time);
+          v2 = curve.values[i + 1],
+          delta = (time - v1.time) / (v2.time - v1.time);
         values[id] = v1.value + (v2.value - v1.time) * delta;
       }
     }
     return values;
   }
 
 };
--- a/devtools/client/webide/content/newapp.js
+++ b/devtools/client/webide/content/newapp.js
@@ -123,23 +123,23 @@ function doOK() {
     if (res == Ci.nsIFilePicker.returnCancel) {
       console.error("No directory selected");
       return false;
     }
     folder = fp.file;
   }
 
   // Create subfolder with fs-friendly name of project
-  let subfolder = projectName.replace(/[\\/:*?"<>|]/g, '').toLowerCase();
+  let subfolder = projectName.replace(/[\\/:*?"<>|]/g, "").toLowerCase();
   let win = Services.wm.getMostRecentWindow("devtools:webide");
   folder.append(subfolder);
 
   try {
     folder.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
-  } catch(e) {
+  } catch (e) {
     win.UI.reportError("error_folderCreationFailed");
     window.close();
     return false;
   }
 
   // Download boilerplate zip
   let template = gTemplateList[templatelistNode.selectedIndex];
   let source = template.file;
@@ -156,19 +156,19 @@ function doOK() {
     target.remove(false);
     AppProjects.addPackaged(folder).then((project) => {
       window.arguments[0].location = project.location;
       AppManager.validateAndUpdateProject(project).then(() => {
         if (project.manifest) {
           project.manifest.name = projectName;
           AppManager.writeManifest(project).then(() => {
             AppManager.validateAndUpdateProject(project).then(
-              () => {window.close()}, bail)
-          }, bail)
+              () => {window.close();}, bail);
+          }, bail);
         } else {
           bail("Manifest not found");
         }
-      }, bail)
-    }, bail)
+      }, bail);
+    }, bail);
   }, bail);
 
   return false;
 }
--- a/devtools/client/webide/content/permissionstable.js
+++ b/devtools/client/webide/content/permissionstable.js
@@ -34,29 +34,29 @@ function generateFields(json) {
   let table = document.querySelector("table");
   let permissionsTable = json.rawPermissionsTable;
   for (let name in permissionsTable) {
     let tr = document.createElement("tr");
     tr.className = "line";
     let td = document.createElement("td");
     td.textContent = name;
     tr.appendChild(td);
-    for (let type of ["app","privileged","certified"]) {
+    for (let type of ["app", "privileged", "certified"]) {
       let td = document.createElement("td");
       if (permissionsTable[name][type] == json.ALLOW_ACTION) {
         td.textContent = "✓";
         td.className = "permallow";
       }
       if (permissionsTable[name][type] == json.PROMPT_ACTION) {
         td.textContent = "!";
         td.className = "permprompt";
       }
       if (permissionsTable[name][type] == json.DENY_ACTION) {
         td.textContent = "✕";
-        td.className = "permdeny"
+        td.className = "permdeny";
       }
       tr.appendChild(td);
     }
     table.appendChild(tr);
   }
 }
 
 var getRawPermissionsTablePromise; // Used by tests
--- a/devtools/client/webide/content/project-panel.js
+++ b/devtools/client/webide/content/project-panel.js
@@ -1,11 +1,11 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var ProjectPanel = {
   // TODO: Expand function to save toggle state.
-  toggleSidebar: function() {
+  toggleSidebar: function () {
     document.querySelector("#project-listing-panel").setAttribute("sidebar-displayed", true);
     document.querySelector("#project-listing-splitter").setAttribute("sidebar-displayed", true);
   }
 };
--- a/devtools/client/webide/content/runtime-panel.js
+++ b/devtools/client/webide/content/runtime-panel.js
@@ -1,11 +1,11 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 var RuntimePanel = {
   // TODO: Expand function to save toggle state.
-  toggleSidebar: function() {
+  toggleSidebar: function () {
     document.querySelector("#runtime-listing-panel").setAttribute("sidebar-displayed", true);
     document.querySelector("#runtime-listing-splitter").setAttribute("sidebar-displayed", true);
   }
 };
--- a/devtools/client/webide/content/runtimedetails.js
+++ b/devtools/client/webide/content/runtimedetails.js
@@ -12,17 +12,17 @@ const Strings = Services.strings.createB
 
 const UNRESTRICTED_HELP_URL = "https://developer.mozilla.org/docs/Tools/WebIDE/Running_and_debugging_apps#Unrestricted_app_debugging_%28including_certified_apps_main_process_etc.%29";
 
 window.addEventListener("load", function onLoad() {
   window.removeEventListener("load", onLoad);
   document.querySelector("#close").onclick = CloseUI;
   document.querySelector("#devtools-check button").onclick = EnableCertApps;
   document.querySelector("#adb-check button").onclick = RootADB;
-  document.querySelector("#unrestricted-privileges").onclick = function() {
+  document.querySelector("#unrestricted-privileges").onclick = function () {
     window.parent.UI.openInBrowser(UNRESTRICTED_HELP_URL);
   };
   AppManager.on("app-manager-update", OnAppManagerUpdate);
   BuildUI();
   CheckLockState();
 }, true);
 
 window.addEventListener("unload", function onUnload() {
@@ -47,17 +47,17 @@ function generateFields(json) {
     let tr = document.createElement("tr");
     let td = document.createElement("td");
     td.textContent = name;
     tr.appendChild(td);
     td = document.createElement("td");
     td.textContent = json[name];
     tr.appendChild(td);
     table.appendChild(tr);
-  };
+  }
 }
 
 var getDescriptionPromise; // Used by tests
 function BuildUI() {
   let table = document.querySelector("table");
   table.innerHTML = "";
   if (AppManager.connection &&
       AppManager.connection.status == Connection.Status.CONNECTED &&
@@ -118,17 +118,17 @@ function CheckLockState() {
       prefFront.getBoolPref("devtools.debugger.forbid-certified-apps").then(isForbidden => {
         if (isForbidden) {
           devtoolsCheckResult.textContent = sNo;
           flipCertPerfAction.removeAttribute("hidden");
         } else {
           devtoolsCheckResult.textContent = sYes;
         }
       }, e => console.error(e));
-    } catch(e) {
+    } catch (e) {
       // Exception. pref actor is only accessible if forbird-certified-apps is false
       devtoolsCheckResult.textContent = sNo;
       flipCertPerfAction.removeAttribute("hidden");
     }
 
   }
 
 }
--- a/devtools/client/webide/content/simulator.js
+++ b/devtools/client/webide/content/simulator.js
@@ -4,17 +4,17 @@
 
 var Cu = Components.utils;
 var Ci = Components.interfaces;
 
 const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 const { GetDevices, GetDeviceString } = require("devtools/client/shared/devices");
 const { Simulators, Simulator } = require("devtools/client/webide/modules/simulators");
 const Services = require("Services");
-const EventEmitter = require('devtools/shared/event-emitter');
+const EventEmitter = require("devtools/shared/event-emitter");
 const promise = require("promise");
 const utils = require("devtools/client/webide/modules/utils");
 
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 var SimulatorEditor = {
 
   // Available Firefox OS Simulator addons (key: `addon.id`).
@@ -37,17 +37,17 @@ var SimulatorEditor = {
     let promises = [];
 
     // Grab the <form> element.
     let form = this._form;
     if (!form) {
       // This is the first time we run `init()`, bootstrap some things.
       form = this._form = document.querySelector("#simulator-editor");
       form.addEventListener("change", this.update.bind(this));
-      Simulators.on("configure", (e, simulator) => { this.edit(simulator) });
+      Simulators.on("configure", (e, simulator) => { this.edit(simulator); });
       // Extract the list of device simulation options we'll support.
       let deviceFields = form.querySelectorAll("*[data-device]");
       this._deviceOptions = Array.map(deviceFields, field => field.name);
     }
 
     // Append a new <option> to a <select> (or <optgroup>) element.
     function opt(select, value, text) {
       let option = document.createElement("option");
@@ -116,17 +116,17 @@ var SimulatorEditor = {
       this._form.name.value = simulator.name;
       this.updateVersionSelector();
       this.updateProfileSelector();
       this.updateDeviceSelector();
       this.updateDeviceFields();
 
       // Change visibility of 'TV Simulator Menu'.
       let tvSimMenu = document.querySelector("#tv_simulator_menu");
-      tvSimMenu.style.visibility = (this._simulator.type === "television")?
+      tvSimMenu.style.visibility = (this._simulator.type === "television") ?
                                    "visible" : "hidden";
     });
   },
 
   // Open the directory of TV Simulator config.
   showTVConfigDirectory() {
     let profD = Services.dirsvc.get("ProfD", Ci.nsIFile);
     profD.append("extensions");
--- a/devtools/client/webide/content/webide.js
+++ b/devtools/client/webide/content/webide.js
@@ -63,17 +63,17 @@ window.addEventListener("load", function
 });
 
 window.addEventListener("unload", function onUnload() {
   window.removeEventListener("unload", onUnload);
   UI.destroy();
 });
 
 var UI = {
-  init: function() {
+  init: function () {
     this._telemetry = new Telemetry();
     this._telemetry.toolOpened("webide");
 
     AppManager.init();
 
     this.appManagerUpdate = this.appManagerUpdate.bind(this);
     AppManager.on("app-manager-update", this.appManagerUpdate);
 
@@ -124,35 +124,35 @@ var UI = {
     this.contentViewer.fullZoom = Services.prefs.getCharPref("devtools.webide.zoom");
 
     gDevToolsBrowser.isWebIDEInitialized.resolve();
 
     this.configureSimulator = this.configureSimulator.bind(this);
     Simulators.on("configure", this.configureSimulator);
   },
 
-  destroy: function() {
+  destroy: function () {
     window.removeEventListener("focus", this.onfocus, true);
     AppManager.off("app-manager-update", this.appManagerUpdate);
     AppManager.destroy();
     Simulators.off("configure", this.configureSimulator);
     this.updateConnectionTelemetry();
     this._telemetry.toolClosed("webide");
     this._telemetry.toolClosed("webideProjectEditor");
     this._telemetry.destroy();
   },
 
-  canCloseProject: function() {
+  canCloseProject: function () {
     if (this.projecteditor) {
       return this.projecteditor.confirmUnsaved();
     }
     return true;
   },
 
-  onfocus: function() {
+  onfocus: function () {
     // Because we can't track the activity in the folder project,
     // we need to validate the project regularly. Let's assume that
     // if a modification happened, it happened when the window was
     // not focused.
     if (AppManager.selectedProject &&
         AppManager.selectedProject.type != "mainProcess" &&
         AppManager.selectedProject.type != "runtimeApp" &&
         AppManager.selectedProject.type != "tab") {
@@ -160,35 +160,35 @@ var UI = {
     }
 
     // Hook to display promotional Developer Edition doorhanger. Only displayed once.
     // Hooked into the `onfocus` event because sometimes does not work
     // when run at the end of `init`. ¯\(°_o)/¯
     showDoorhanger({ window, type: "deveditionpromo", anchor: document.querySelector("#deck") });
   },
 
-  appManagerUpdate: function(event, what, details) {
+  appManagerUpdate: function (event, what, details) {
     // Got a message from app-manager.js
     // See AppManager.update() for descriptions of what these events mean.
     switch (what) {
       case "runtime-list":
         this.autoConnectRuntime();
         break;
       case "connection":
         this.updateRuntimeButton();
         this.updateCommands();
         this.updateConnectionTelemetry();
         break;
       case "before-project":
-        if (!this.canCloseProject())  {
+        if (!this.canCloseProject()) {
           details.cancel();
         }
         break;
       case "project":
-        this._updatePromise = Task.spawn(function*() {
+        this._updatePromise = Task.spawn(function* () {
           UI.updateTitle();
           yield UI.destroyToolbox();
           UI.updateCommands();
           UI.openProject();
           yield UI.autoStartProject();
           UI.autoOpenToolbox();
           UI.saveLastSelectedProject();
           UI.updateRemoveProjectButton();
@@ -224,99 +224,99 @@ var UI = {
         this.updateProgress(Math.round(100 * details.bytesSent / details.totalBytes));
         break;
       case "runtime-targets":
         this.autoSelectProject();
         break;
       case "pre-package":
         this.prePackageLog(details);
         break;
-    };
+    }
     this._updatePromise = promise.resolve();
   },
 
-  configureSimulator: function(event, simulator) {
+  configureSimulator: function (event, simulator) {
     UI.selectDeckPanel("simulator");
   },
 
-  openInBrowser: function(url) {
+  openInBrowser: function (url) {
     // Open a URL in a Firefox window
     let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
     if (browserWin) {
       let gBrowser = browserWin.gBrowser;
       gBrowser.selectedTab = gBrowser.addTab(url);
       browserWin.focus();
     } else {
       window.open(url);
     }
   },
 
-  updateTitle: function() {
+  updateTitle: function () {
     let project = AppManager.selectedProject;
     if (project) {
       window.document.title = Strings.formatStringFromName("title_app", [project.name], 1);
     } else {
       window.document.title = Strings.GetStringFromName("title_noApp");
     }
   },
 
-  /********** BUSY UI **********/
+  /** ******** BUSY UI **********/
 
   _busyTimeout: null,
   _busyOperationDescription: null,
   _busyPromise: null,
 
-  updateProgress: function(percent) {
+  updateProgress: function (percent) {
     let progress = document.querySelector("#action-busy-determined");
     progress.mode = "determined";
     progress.value = percent;
     this.setupBusyTimeout();
   },
 
-  busy: function() {
+  busy: function () {
     let win = document.querySelector("window");
     win.classList.add("busy");
     win.classList.add("busy-undetermined");
     this.updateCommands();
     this.update("busy");
   },
 
-  unbusy: function() {
+  unbusy: function () {
     let win = document.querySelector("window");
     win.classList.remove("busy");
     win.classList.remove("busy-determined");
     win.classList.remove("busy-undetermined");
     this.updateCommands();
     this.update("unbusy");
     this._busyPromise = null;
   },
 
-  setupBusyTimeout: function() {
+  setupBusyTimeout: function () {
     this.cancelBusyTimeout();
     this._busyTimeout = setTimeout(() => {
       this.unbusy();
       UI.reportError("error_operationTimeout", this._busyOperationDescription);
     }, Services.prefs.getIntPref("devtools.webide.busyTimeout"));
   },
 
-  cancelBusyTimeout: function() {
+  cancelBusyTimeout: function () {
     clearTimeout(this._busyTimeout);
   },
 
-  busyWithProgressUntil: function(promise, operationDescription) {
+  busyWithProgressUntil: function (promise, operationDescription) {
     let busy = this.busyUntil(promise, operationDescription);
     let win = document.querySelector("window");
     let progress = document.querySelector("#action-busy-determined");
     progress.mode = "undetermined";
     win.classList.add("busy-determined");
     win.classList.remove("busy-undetermined");
     return busy;
   },
 
-  busyUntil: function(promise, operationDescription) {
+  busyUntil: function (promise, operationDescription) {
     // Freeze the UI until the promise is resolved. A timeout will unfreeze the
     // UI, just in case the promise never gets resolved.
     this._busyPromise = promise;
     this._busyOperationDescription = operationDescription;
     this.setupBusyTimeout();
     this.busy();
     promise.then(() => {
       this.cancelBusyTimeout();
@@ -338,17 +338,17 @@ var UI = {
           console.error(e);
         }
       }
       this.unbusy();
     });
     return promise;
   },
 
-  reportError: function(l10nProperty, ...l10nArgs) {
+  reportError: function (l10nProperty, ...l10nArgs) {
     let text;
 
     if (l10nArgs.length > 0) {
       text = Strings.formatStringFromName(l10nProperty, l10nArgs, l10nArgs.length);
     } else {
       text = Strings.GetStringFromName(l10nProperty);
     }
 
@@ -363,42 +363,42 @@ var UI = {
     }];
 
     let nbox = document.querySelector("#notificationbox");
     nbox.removeAllNotifications(true);
     nbox.appendNotification(text, "webide:errornotification", null,
                             nbox.PRIORITY_WARNING_LOW, buttons);
   },
 
-  dismissErrorNotification: function() {
+  dismissErrorNotification: function () {
     let nbox = document.querySelector("#notificationbox");
     nbox.removeAllNotifications(true);
   },
 
-  /********** COMMANDS **********/
+  /** ******** COMMANDS **********/
 
   /**
    * This module emits various events when state changes occur.
    *
    * The events this module may emit include:
    *   busy:
    *     The window is currently busy and certain UI functions may be disabled.
    *   unbusy:
    *     The window is not busy and certain UI functions may be re-enabled.
    */
-  update: function(what, details) {
+  update: function (what, details) {
     this.emit("webide-update", what, details);
   },
 
-  updateCommands: function() {
+  updateCommands: function () {
     // Action commands
     let playCmd = document.querySelector("#cmd_play");
     let stopCmd = document.querySelector("#cmd_stop");
     let debugCmd = document.querySelector("#cmd_toggleToolbox");
-    let playButton = document.querySelector('#action-button-play');
+    let playButton = document.querySelector("#action-button-play");
     let projectPanelCmd = document.querySelector("#cmd_showProjectPanel");
 
     if (document.querySelector("window").classList.contains("busy")) {
       playCmd.setAttribute("disabled", "true");
       stopCmd.setAttribute("disabled", "true");
       debugCmd.setAttribute("disabled", "true");
       projectPanelCmd.setAttribute("disabled", "true");
       return;
@@ -480,27 +480,27 @@ var UI = {
     } else {
       runtimePanelButton.removeAttribute("active");
       runtimePanelButton.setAttribute("hidden", "true");
     }
 
     projectPanelCmd.removeAttribute("disabled");
   },
 
-  updateRemoveProjectButton: function() {
+  updateRemoveProjectButton: function () {
     // Remove command
     let removeCmdNode = document.querySelector("#cmd_removeProject");
     if (AppManager.selectedProject) {
       removeCmdNode.removeAttribute("disabled");
     } else {
       removeCmdNode.setAttribute("disabled", "true");
     }
   },
 
-  /********** RUNTIME **********/
+  /** ******** RUNTIME **********/
 
   get lastConnectedRuntime() {
     return Services.prefs.getCharPref("devtools.webide.lastConnectedRuntime");
   },
 
   set lastConnectedRuntime(runtime) {
     Services.prefs.setCharPref("devtools.webide.lastConnectedRuntime", runtime);
   },
@@ -532,17 +532,17 @@ var UI = {
           // Only want one auto-connect attempt, so clear last runtime value
           this.lastConnectedRuntime = "";
           this.connectToRuntime(runtime);
         }
       }
     }
   },
 
-  connectToRuntime: function(runtime) {
+  connectToRuntime: function (runtime) {
     let name = runtime.name;
     let promise = AppManager.connectToRuntime(runtime);
     promise.then(() => this.initConnectionTelemetry())
            .catch(() => {
              // Empty rejection handler to silence uncaught rejection warnings
              // |busyUntil| will listen for rejections.
              // Bug 1121100 may find a better way to silence these.
            });
@@ -550,17 +550,17 @@ var UI = {
     // Stop busy timeout for runtimes that take unknown or long amounts of time
     // to connect.
     if (runtime.prolongedConnection) {
       this.cancelBusyTimeout();
     }
     return promise;
   },
 
-  updateRuntimeButton: function() {
+  updateRuntimeButton: function () {
     let labelNode = document.querySelector("#runtime-panel-button > .panel-button-label");
     if (!AppManager.selectedRuntime) {
       labelNode.setAttribute("value", Strings.GetStringFromName("runtimeButton_label"));
     } else {
       let name = AppManager.selectedRuntime.name;
       labelNode.setAttribute("value", name);
     }
   },
@@ -570,104 +570,104 @@ var UI = {
         AppManager.selectedRuntime.id !== undefined) {
       this.lastConnectedRuntime = AppManager.selectedRuntime.type + ":" +
                                   AppManager.selectedRuntime.id;
     } else {
       this.lastConnectedRuntime = "";
     }
   },
 
-  /********** ACTIONS **********/
+  /** ******** ACTIONS **********/
 
   _actionsToLog: new Set(),
 
   /**
    * For each new connection, track whether play and debug were ever used.  Only
    * one value is collected for each button, even if they are used multiple
    * times during a connection.
    */
-  initConnectionTelemetry: function() {
+  initConnectionTelemetry: function () {
     this._actionsToLog.add("play");
     this._actionsToLog.add("debug");
   },
 
   /**
    * Action occurred.  Log that it happened, and remove it from the loggable
    * set.
    */
-  onAction: function(action) {
+  onAction: function (action) {
     if (!this._actionsToLog.has(action)) {
       return;
     }
     this.logActionState(action, true);
     this._actionsToLog.delete(action);
   },
 
   /**
    * Connection status changed or we are shutting down.  Record any loggable
    * actions as having not occurred.
    */
-  updateConnectionTelemetry: function() {
+  updateConnectionTelemetry: function () {
     for (let action of this._actionsToLog.values()) {
       this.logActionState(action, false);
     }
     this._actionsToLog.clear();
   },
 
-  logActionState: function(action, state) {
+  logActionState: function (action, state) {
     let histogramId = "DEVTOOLS_WEBIDE_CONNECTION_" +
                       action.toUpperCase() + "_USED";
     this._telemetry.log(histogramId, state);
   },
 
-  /********** PROJECTS **********/
+  /** ******** PROJECTS **********/
 
   // ProjectEditor & details screen
 
-  destroyProjectEditor: function() {
+  destroyProjectEditor: function () {
     if (this.projecteditor) {
       this.projecteditor.destroy();
       this.projecteditor = null;
     }
   },
 
   /**
    * Called when selecting or deselecting the project editor panel.
    */
-  onChangeProjectEditorSelected: function() {
+  onChangeProjectEditorSelected: function () {
     if (this.projecteditor) {
       let panel = document.querySelector("#deck").selectedPanel;
       if (panel && panel.id == "deck-panel-projecteditor") {
         this.projecteditor.menuEnabled = true;
         this._telemetry.toolOpened("webideProjectEditor");
       } else {
         this.projecteditor.menuEnabled = false;
         this._telemetry.toolClosed("webideProjectEditor");
       }
     }
   },
 
-  getProjectEditor: function() {
+  getProjectEditor: function () {
     if (this.projecteditor) {
       return this.projecteditor.loaded;
     }
 
     let projecteditorIframe = document.querySelector("#deck-panel-projecteditor");
     this.projecteditor = ProjectEditor.ProjectEditor(projecteditorIframe, {
       menubar: document.querySelector("#main-menubar"),
       menuindex: 1
     });
     this.projecteditor.on("onEditorSave", () => {
       AppManager.validateAndUpdateProject(AppManager.selectedProject);
       this._telemetry.actionOccurred("webideProjectEditorSave");
     });
     return this.projecteditor.loaded;
   },
 
-  updateProjectEditorHeader: function() {
+  updateProjectEditorHeader: function () {
     let project = AppManager.selectedProject;
     if (!project || !this.projecteditor) {
       return;
     }
     let status = project.validationStatus || "unknown";
     if (status == "error warning") {
       status = "error";
     }
@@ -676,21 +676,21 @@ var UI = {
         name: project.name,
         iconUrl: project.icon,
         projectOverviewURL: "chrome://webide/content/details.xhtml",
         validationStatus: status
       }).then(null, console.error);
     }, console.error);
   },
 
-  isProjectEditorEnabled: function() {
+  isProjectEditorEnabled: function () {
     return Services.prefs.getBoolPref("devtools.webide.showProjectEditor");
   },
 
-  openProject: function() {
+  openProject: function () {
     let project = AppManager.selectedProject;
 
     // Nothing to show
 
     if (!project) {
       this.resetDeck();
       return;
     }
@@ -715,17 +715,17 @@ var UI = {
 
     this.getProjectEditor().then(() => {
       this.updateProjectEditorHeader();
     }, console.error);
 
     this.selectDeckPanel("projecteditor");
   },
 
-  autoStartProject: Task.async(function*() {
+  autoStartProject: Task.async(function* () {
     let project = AppManager.selectedProject;
 
     if (!project) {
       return;
     }
     if (!(project.type == "runtimeApp" ||
           project.type == "mainProcess" ||
           project.type == "tab")) {
@@ -734,17 +734,17 @@ var UI = {
 
     // Do not force opening apps that are already running, as they may have
     // some activity being opened and don't want to dismiss them.
     if (project.type == "runtimeApp" && !AppManager.isProjectRunning()) {
       yield UI.busyUntil(AppManager.launchRuntimeApp(), "running app");
     }
   }),
 
-  autoOpenToolbox: Task.async(function*() {
+  autoOpenToolbox: Task.async(function* () {
     let project = AppManager.selectedProject;
 
     if (!project) {
       return;
     }
     if (!(project.type == "runtimeApp" ||
           project.type == "mainProcess" ||
           project.type == "tab")) {
@@ -771,17 +771,17 @@ var UI = {
 
     // Select project
     AppManager.selectedProject = project;
 
     this._telemetry.actionOccurred("webideImportProject");
   }),
 
   // Remember the last selected project on the runtime
-  saveLastSelectedProject: function() {
+  saveLastSelectedProject: function () {
     let shouldRestore = Services.prefs.getBoolPref("devtools.webide.restoreLastProject");
     if (!shouldRestore) {
       return;
     }
 
     // Ignore unselection of project on runtime disconnection
     if (!AppManager.connected) {
       return;
@@ -804,17 +804,17 @@ var UI = {
     if (type) {
       Services.prefs.setCharPref("devtools.webide.lastSelectedProject",
                                  type + ":" + project);
     } else {
       Services.prefs.clearUserPref("devtools.webide.lastSelectedProject");
     }
   },
 
-  autoSelectProject: function() {
+  autoSelectProject: function () {
     if (AppManager.selectedProject) {
       return;
     }
     let shouldRestore = Services.prefs.getBoolPref("devtools.webide.restoreLastProject");
     if (!shouldRestore) {
       return;
     }
     let pref = Services.prefs.getCharPref("devtools.webide.lastSelectedProject");
@@ -839,61 +839,61 @@ var UI = {
       return;
     }
 
     if (type == "mainProcess" && AppManager.isMainProcessDebuggable()) {
       AppManager.selectedProject = {
         type: "mainProcess",
         name: Strings.GetStringFromName("mainProcess_label"),
         icon: AppManager.DEFAULT_PROJECT_ICON
-      }
+      };
     } else if (type == "runtimeApp") {
       let app = AppManager.apps.get(project);
       if (app) {
         AppManager.selectedProject = {
           type: "runtimeApp",
           app: app.manifest,
           icon: app.iconURL,
           name: app.manifest.name
         };
       }
     }
   },
 
-  /********** DECK **********/
+  /** ******** DECK **********/
 
-  setupDeck: function() {
+  setupDeck: function () {
     let iframes = document.querySelectorAll("#deck > iframe");
     for (let iframe of iframes) {
       iframe.tooltip = "aHTMLTooltip";
     }
   },
 
-  resetFocus: function() {
+  resetFocus: function () {
     document.commandDispatcher.focusedElement = document.documentElement;
   },
 
-  selectDeckPanel: function(id) {
+  selectDeckPanel: function (id) {
     let deck = document.querySelector("#deck");
     if (deck.selectedPanel && deck.selectedPanel.id === "deck-panel-" + id) {
       // This panel is already displayed.
       return;
     }
     this.resetFocus();
     let panel = deck.querySelector("#deck-panel-" + id);
     let lazysrc = panel.getAttribute("lazysrc");
     if (lazysrc) {
       panel.removeAttribute("lazysrc");
       panel.setAttribute("src", lazysrc);
     }
     deck.selectedPanel = panel;
     this.onChangeProjectEditorSelected();
   },
 
-  resetDeck: function() {
+  resetDeck: function () {
     this.resetFocus();
     let deck = document.querySelector("#deck");
     deck.selectedPanel = null;
     this.onChangeProjectEditorSelected();
   },
 
   buildIDToDate(buildID) {
     let fields = buildID.match(/(\d{4})(\d{2})(\d{2})/);
@@ -915,30 +915,30 @@ var UI = {
       // local device builds, since their devices will almost always be newer
       // than the client.
       if (deviceDate - localDate > 7 * MS_PER_DAY) {
         this.reportError("error_runtimeVersionTooRecent", deviceID, localID);
       }
     }
   }),
 
-  /********** TOOLBOX **********/
+  /** ******** TOOLBOX **********/
 
   /**
    * There are many ways to close a toolbox:
    *   * Close button inside the toolbox
    *   * Toggle toolbox wrench in WebIDE
    *   * Disconnect the current runtime gracefully
    *   * Yank cord out of device
    *   * Close or crash the app/tab
    * We can't know for sure which one was used here, so reset the
    * |toolboxPromise| since someone must be destroying it to reach here,
    * and call our own close method.
    */
-  _onToolboxClosed: function(promise, iframe) {
+  _onToolboxClosed: function (promise, iframe) {
     // Only save toolbox size, disable wrench button, workaround focus issue...
     // if we are closing the last toolbox:
     //  - toolboxPromise is nullified by destroyToolbox and is still null here
     //    if no other toolbox has been opened in between,
     //  - having two distinct promise means we are receiving closed event
     //    for a previous, non-current, toolbox.
     if (!this.toolboxPromise || this.toolboxPromise === promise) {
       this.toolboxPromise = null;
@@ -949,27 +949,27 @@ var UI = {
       splitter.setAttribute("hidden", "true");
       document.querySelector("#action-button-debug").removeAttribute("active");
     }
     // We have to destroy the iframe, otherwise, the keybindings of webide don't work
     // properly anymore.
     iframe.remove();
   },
 
-  destroyToolbox: function() {
+  destroyToolbox: function () {
     // Only have a live toolbox if |this.toolboxPromise| exists
     if (this.toolboxPromise) {
       let toolboxPromise = this.toolboxPromise;
       this.toolboxPromise = null;
       return toolboxPromise.then(toolbox => toolbox.destroy());
     }
     return promise.resolve();
   },
 
-  createToolbox: function() {
+  createToolbox: function () {
     // If |this.toolboxPromise| exists, there is already a live toolbox
     if (this.toolboxPromise) {
       return this.toolboxPromise;
     }
 
     let iframe = document.createElement("iframe");
     iframe.id = "toolbox";
 
@@ -987,17 +987,17 @@ var UI = {
       // toolbox.destroy's promise resolves.
       toolbox.once("destroyed", this._onToolboxClosed.bind(this, promise, iframe));
       return toolbox;
     }, console.error);
 
     return this.busyUntil(this.toolboxPromise, "opening toolbox");
   },
 
-  _showToolbox: function(target, iframe) {
+  _showToolbox: function (target, iframe) {
     let splitter = document.querySelector(".devtools-horizontal-splitter");
     splitter.removeAttribute("hidden");
 
     document.querySelector("notificationbox").insertBefore(iframe, splitter.nextSibling);
     let host = Toolbox.HostType.CUSTOM;
     let options = { customIframe: iframe, zoom: false, uid: iframe.uid };
 
     document.querySelector("#action-button-debug").setAttribute("active", "true");
@@ -1010,73 +1010,73 @@ var UI = {
       UI.selectDeckPanel("logs");
     }
   }
 };
 
 EventEmitter.decorate(UI);
 
 var Cmds = {
-  quit: function() {
+  quit: function () {
     if (UI.canCloseProject()) {
       window.close();
     }
   },
 
-  showProjectPanel: function() {
+  showProjectPanel: function () {
     ProjectPanel.toggleSidebar();
     return promise.resolve();
   },
 
-  showRuntimePanel: function() {
+  showRuntimePanel: function () {
     RuntimeScanners.scan();
     RuntimePanel.toggleSidebar();
   },
 
-  disconnectRuntime: function() {
-    let disconnecting = Task.spawn(function*() {
+  disconnectRuntime: function () {
+    let disconnecting = Task.spawn(function* () {
       yield UI.destroyToolbox();
       yield AppManager.disconnectRuntime();
     });
     return UI.busyUntil(disconnecting, "disconnecting from runtime");
   },
 
-  takeScreenshot: function() {
+  takeScreenshot: function () {
     let url = AppManager.deviceFront.screenshotToDataURL();
     return UI.busyUntil(url.then(longstr => {
       return longstr.string().then(dataURL => {
         longstr.release().then(null, console.error);
         UI.openInBrowser(dataURL);
       });
     }), "taking screenshot");
   },
 
-  showPermissionsTable: function() {
+  showPermissionsTable: function () {
     UI.selectDeckPanel("permissionstable");
   },
 
-  showRuntimeDetails: function() {
+  showRuntimeDetails: function () {
     UI.selectDeckPanel("runtimedetails");
   },
 
-  showDevicePrefs: function() {
+  showDevicePrefs: function () {
     UI.selectDeckPanel("devicepreferences");
   },
 
-  showSettings: function() {
+  showSettings: function () {
     UI.selectDeckPanel("devicesettings");
   },
 
-  showMonitor: function() {
+  showMonitor: function () {
     UI.selectDeckPanel("monitor");
   },
 
-  play: Task.async(function*() {
+  play: Task.async(function* () {
     let busy;
-    switch(AppManager.selectedProject.type) {
+    switch (AppManager.selectedProject.type) {
       case "packaged":
         let autosave =
           Services.prefs.getBoolPref("devtools.webide.autosaveFiles");
         if (autosave && UI.projecteditor) {
           yield UI.projecteditor.saveAllFiles();
         }
         busy = UI.busyWithProgressUntil(AppManager.installAndRunProject(),
                                         "installing and running app");
@@ -1094,66 +1094,66 @@ var Cmds = {
     }
     if (!busy) {
       return promise.reject();
     }
     UI.onAction("play");
     return busy;
   }),
 
-  stop: function() {
+  stop: function () {
     return UI.busyUntil(AppManager.stopRunningApp(), "stopping app");
   },
 
-  toggleToolbox: function() {
+  toggleToolbox: function () {
     UI.onAction("debug");
     if (UI.toolboxPromise) {
       UI.destroyToolbox();
       return promise.resolve();
     } else {
       return UI.createToolbox();
     }
   },
 
-  removeProject: function() {
+  removeProject: function () {
     AppManager.removeSelectedProject();
   },
 
-  toggleEditors: function() {
+  toggleEditors: function () {
     let isNowEnabled = !UI.isProjectEditorEnabled();
     Services.prefs.setBoolPref("devtools.webide.showProjectEditor", isNowEnabled);
     if (!isNowEnabled) {
       UI.destroyProjectEditor();
     }
     UI.openProject();
   },
 
-  showTroubleShooting: function() {
+  showTroubleShooting: function () {
     UI.openInBrowser(HELP_URL);
   },
 
-  showAddons: function() {
+  showAddons: function () {
     UI.selectDeckPanel("addons");
   },
 
-  showPrefs: function() {
+  showPrefs: function () {
     UI.selectDeckPanel("prefs");
   },
 
-  zoomIn: function() {
+  zoomIn: function () {
     if (UI.contentViewer.fullZoom < MAX_ZOOM) {
       UI.contentViewer.fullZoom += 0.1;
       Services.prefs.setCharPref("devtools.webide.zoom", UI.contentViewer.fullZoom);
     }
   },
 
-  zoomOut: function() {
+  zoomOut: function () {
     if (UI.contentViewer.fullZoom > MIN_ZOOM) {
       UI.contentViewer.fullZoom -= 0.1;
       Services.prefs.setCharPref("devtools.webide.zoom", UI.contentViewer.fullZoom);
     }
   },
 
-  resetZoom: function() {
+  resetZoom: function () {
     UI.contentViewer.fullZoom = 1;
     Services.prefs.setCharPref("devtools.webide.zoom", 1);
   }
 };
--- a/devtools/client/webide/modules/addons.js
+++ b/devtools/client/webide/modules/addons.js
@@ -39,73 +39,73 @@ addonsListener.onInstalled =
 addonsListener.onUninstalled = (updatedAddon) => {
   GetAvailableAddons().then(addons => {
     for (let a of [...addons.simulators, addons.adb, addons.adapters]) {
       if (a.addonID == updatedAddon.id) {
         a.updateInstallStatus();
       }
     }
   });
-}
+};
 AddonManager.addAddonListener(addonsListener);
 
 var GetAvailableAddons_promise = null;
-var GetAvailableAddons = exports.GetAvailableAddons = function() {
+var GetAvailableAddons = exports.GetAvailableAddons = function () {
   if (!GetAvailableAddons_promise) {
     let deferred = promise.defer();
     GetAvailableAddons_promise = deferred.promise;
     let addons = {
       simulators: [],
       adb: null
-    }
+    };
     getJSON(ADDONS_URL, true).then(json => {
       for (let stability in json) {
         for (let version of json[stability]) {
           addons.simulators.push(new SimulatorAddon(stability, version));
         }
       }
       addons.adb = new ADBAddon();
       addons.adapters = new AdaptersAddon();
       deferred.resolve(addons);
     }, e => {
       GetAvailableAddons_promise = null;
       deferred.reject(e);
     });
   }
   return GetAvailableAddons_promise;
-}
+};
 
-exports.ForgetAddonsList = function() {
+exports.ForgetAddonsList = function () {
   GetAvailableAddons_promise = null;
-}
+};
 
 function Addon() {}
 Addon.prototype = {
   _status: "unknown",
   set status(value) {
     if (this._status != value) {
       this._status = value;
       this.emit("update");
     }
   },
   get status() {
     return this._status;
   },
 
-  updateInstallStatus: function() {
+  updateInstallStatus: function () {
     AddonManager.getAddonByID(this.addonID, (addon) => {
       if (addon && !addon.userDisabled) {
         this.status = "installed";
       } else {
         this.status = "uninstalled";
       }
     });
   },
 
-  install: function() {
+  install: function () {
     AddonManager.getAddonByID(this.addonID, (addon) => {
       if (addon && !addon.userDisabled) {
         this.status = "installed";
         return;
       }
       this.status = "preparing";
       if (addon && addon.userDisabled) {
         addon.userDisabled = false;
@@ -113,60 +113,60 @@ Addon.prototype = {
         AddonManager.getInstallForURL(this.xpiLink, (install) => {
           install.addListener(this);
           install.install();
         }, "application/x-xpinstall");
       }
     });
   },
 
-  uninstall: function() {
+  uninstall: function () {
     AddonManager.getAddonByID(this.addonID, (addon) => {
       addon.uninstall();
     });
   },
 
-  installFailureHandler: function(install, message) {
+  installFailureHandler: function (install, message) {
     this.status = "uninstalled";
     this.emit("failure", message);
   },
 
-  onDownloadStarted: function() {
+  onDownloadStarted: function () {
     this.status = "downloading";
   },
 
-  onInstallStarted: function() {
+  onInstallStarted: function () {
     this.status = "installing";
   },
 
-  onDownloadProgress: function(install) {
+  onDownloadProgress: function (install) {
     if (install.maxProgress == -1) {
       this.emit("progress", -1);
     } else {
       this.emit("progress", install.progress / install.maxProgress);
     }
   },
 
-  onInstallEnded: function({addon}) {
+  onInstallEnded: function ({addon}) {
     addon.userDisabled = false;
   },
 
-  onDownloadCancelled: function(install) {
+  onDownloadCancelled: function (install) {
     this.installFailureHandler(install, "Download cancelled");
   },
-  onDownloadFailed: function(install) {
+  onDownloadFailed: function (install) {
     this.installFailureHandler(install, "Download failed");
   },
-  onInstallCancelled: function(install) {
+  onInstallCancelled: function (install) {
     this.installFailureHandler(install, "Install cancelled");
   },
-  onInstallFailed: function(install) {
+  onInstallFailed: function (install) {
     this.installFailureHandler(install, "Install failed");
   },
-}
+};
 
 function SimulatorAddon(stability, version) {
   EventEmitter.decorate(this);
   this.stability = stability;
   this.version = version;
   // This addon uses the string "linux" for "linux32"
   let fixedOS = OS == "linux32" ? "linux" : OS;
   this.xpiLink = SIMULATOR_LINK.replace(/#OS#/g, fixedOS)
--- a/devtools/client/webide/modules/app-manager.js
+++ b/devtools/client/webide/modules/app-manager.js
@@ -4,17 +4,17 @@
 
 const {Cu} = require("chrome");
 
 const promise = require("promise");
 const {TargetFactory} = require("devtools/client/framework/target");
 const Services = require("Services");
 const {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 const EventEmitter = require("devtools/shared/event-emitter");
-const {TextEncoder, OS}  = Cu.import("resource://gre/modules/osfile.jsm", {});
+const {TextEncoder, OS} = Cu.import("resource://gre/modules/osfile.jsm", {});
 const {AppProjects} = require("devtools/client/webide/modules/app-projects");
 const TabStore = require("devtools/client/webide/modules/tab-store");
 const {AppValidator} = require("devtools/client/webide/modules/app-validator");
 const {ConnectionManager, Connection} = require("devtools/shared/client/connection-manager");
 const {AppActorFront} = require("devtools/shared/apps/app-actor-front");
 const {getDeviceFront} = require("devtools/server/actors/device");
 const {getPreferenceFront} = require("devtools/server/actors/preference");
 const {getSettingsFront} = require("devtools/server/actors/settings");
@@ -28,17 +28,17 @@ const Strings = Services.strings.createB
 
 var AppManager = exports.AppManager = {
 
   DEFAULT_PROJECT_ICON: "chrome://webide/skin/default-app-icon.png",
   DEFAULT_PROJECT_NAME: "--",
 
   _initialized: false,
 
-  init: function() {
+  init: function () {
     if (this._initialized) {
       return;
     }
     this._initialized = true;
 
     let port = Services.prefs.getIntPref("devtools.debugger.remote-port");
     this.connection = ConnectionManager.createConnection("localhost", port);
     this.onConnectionChanged = this.onConnectionChanged.bind(this);
@@ -58,17 +58,17 @@ var AppManager = exports.AppManager = {
     RuntimeScanners.enable();
     this._rebuildRuntimeList();
 
     this.onInstallProgress = this.onInstallProgress.bind(this);
 
     this._telemetry = new Telemetry();
   },
 
-  destroy: function() {
+  destroy: function () {
     if (!this._initialized) {
       return;
     }
     this._initialized = false;
 
     this.selectedProject = null;
     this.selectedRuntime = null;
     RuntimeScanners.off("runtime-list-updated", this._rebuildRuntimeList);
@@ -130,37 +130,37 @@ var AppManager = exports.AppManager = {
    *     Detailed runtime telemetry has been recorded.  Used by tests.
    *   runtime-targets:
    *     The list of remote runtime targets available from the currently
    *     connected runtime (such as tabs or apps) has changed, or any of the
    *     user-visible details (like names) for the non-selected runtime targets
    *     has changed.  This event includes |type| in the details, to distinguish
    *     "apps" and "tabs".
    */
-  update: function(what, details) {
+  update: function (what, details) {
     // Anything we want to forward to the UI
     this.emit("app-manager-update", what, details);
   },
 
-  reportError: function(l10nProperty, ...l10nArgs) {
+  reportError: function (l10nProperty, ...l10nArgs) {
     let win = Services.wm.getMostRecentWindow("devtools:webide");
     if (win) {
       win.UI.reportError(l10nProperty, ...l10nArgs);
     } else {
       let text;
       if (l10nArgs.length > 0) {
         text = Strings.formatStringFromName(l10nProperty, l10nArgs, l10nArgs.length);
       } else {
         text = Strings.GetStringFromName(l10nProperty);
       }
       console.error(text);
     }
   },
 
-  onConnectionChanged: function() {
+  onConnectionChanged: function () {
     console.log("Connection status changed: " + this.connection.status);
 
     if (this.connection.status == Connection.Status.DISCONNECTED) {
       this.selectedRuntime = null;
     }
 
     if (!this.connected) {
       if (this._appsFront) {
@@ -209,50 +209,50 @@ var AppManager = exports.AppManager = {
   get apps() {
     if (this._appsFront) {
       return this._appsFront.apps;
     } else {
       return new Map();
     }
   },
 
-  onInstallProgress: function(event, details) {
+  onInstallProgress: function (event, details) {
     this.update("install-progress", details);
   },
 
-  isProjectRunning: function() {
+  isProjectRunning: function () {
     if (this.selectedProject.type == "mainProcess" ||
         this.selectedProject.type == "tab") {
       return true;
     }
 
     let app = this._getProjectFront(this.selectedProject);
     return app && app.running;
   },
 
-  checkIfProjectIsRunning: function() {
+  checkIfProjectIsRunning: function () {
     if (this.selectedProject) {
       if (this.isProjectRunning()) {
         this.update("project-started");
       } else {
         this.update("project-stopped");
       }
     }
   },
 
-  listTabs: function() {
+  listTabs: function () {
     return this.tabStore.listTabs();
   },
 
-  onTabList: function() {
+  onTabList: function () {
     this.update("runtime-targets", { type: "tabs" });
   },
 
   // TODO: Merge this into TabProject as part of project-agnostic work
-  onTabNavigate: function() {
+  onTabNavigate: function () {
     this.update("runtime-targets", { type: "tabs" });
     if (this.selectedProject.type !== "tab") {
       return;
     }
     let tab = this.selectedProject.app = this.tabStore.selectedTab;
     let uri = NetUtil.newURI(tab.url);
     // Wanted to use nsIFaviconService here, but it only works for visited
     // tabs, so that's no help for any remote tabs.  Maybe some favicon wizard
@@ -264,33 +264,33 @@ var AppManager = exports.AppManager = {
       tab.name = uri.host + ": " + tab.name;
     }
     this.selectedProject.location = tab.url;
     this.selectedProject.name = tab.name;
     this.selectedProject.icon = tab.favicon;
     this.update("project-validated");
   },
 
-  onTabClosed: function() {
+  onTabClosed: function () {
     if (this.selectedProject.type !== "tab") {
       return;
     }
     this.selectedProject = null;
   },
 
-  reloadTab: function() {
+  reloadTab: function () {
     if (this.selectedProject && this.selectedProject.type != "tab") {
       return promise.reject("tried to reload non-tab project");
     }
     return this.getTarget().then(target => {
       target.activeTab.reload();
     }, console.error.bind(console));
   },
 
-  getTarget: function() {
+  getTarget: function () {
     if (this.selectedProject.type == "mainProcess") {
       // Fx >=39 exposes a ChromeActor to debug the main process
       if (this.connection.client.mainRoot.traits.allowChromeProcess) {
         return this.connection.client.getProcess()
                    .then(aResponse => {
                      return TargetFactory.forRemoteTab({
                        form: aResponse.form,
                        client: this.connection.client,
@@ -320,45 +320,45 @@ var AppManager = exports.AppManager = {
     return Task.spawn(function* () {
       // Once we asked the app to launch, the app isn't necessary completely loaded.
       // launch request only ask the app to launch and immediatly returns.
       // We have to keep trying to get app tab actors required to create its target.
 
       for (let i = 0; i < 10; i++) {
         try {
           return yield app.getTarget();
-        } catch(e) {}
+        } catch (e) {}
         let deferred = promise.defer();
         setTimeout(deferred.resolve, 500);
         yield deferred.promise;
       }
 
       AppManager.reportError("error_cantConnectToApp", app.manifest.manifestURL);
       throw new Error("can't connect to app");
     });
   },
 
-  getProjectManifestURL: function(project) {
+  getProjectManifestURL: function (project) {
     let manifest = null;
     if (project.type == "runtimeApp") {
       manifest = project.app.manifestURL;
     }
 
     if (project.type == "hosted") {
       manifest = project.location;
     }
 
     if (project.type == "packaged" && project.packagedAppOrigin) {
       manifest = "app://" + project.packagedAppOrigin + "/manifest.webapp";
     }
 
     return manifest;
   },
 
-  _getProjectFront: function(project) {
+  _getProjectFront: function (project) {
     let manifest = this.getProjectManifestURL(project);
     if (manifest && this._appsFront) {
       return this._appsFront.apps.get(manifest);
     }
     return null;
   },
 
   _selectedProject: null,
@@ -385,17 +385,17 @@ var AppManager = exports.AppManager = {
         return;
       } else {
         throw new Error("Unsupported project type: " + type);
       }
     }
 
     let cancelled = false;
     this.update("before-project", { cancel: () => { cancelled = true; } });
-    if (cancelled)  {
+    if (cancelled) {
       return;
     }
 
     this._selectedProject = project;
 
     // Clear out tab store's selected state, if any
     this.tabStore.selectedTab = null;
 
@@ -411,29 +411,29 @@ var AppManager = exports.AppManager = {
 
     this.update("project");
     this.checkIfProjectIsRunning();
   },
   get selectedProject() {
     return this._selectedProject;
   },
 
-  removeSelectedProject: Task.async(function*() {
+  removeSelectedProject: Task.async(function* () {
     let location = this.selectedProject.location;
     AppManager.selectedProject = null;
     // If the user cancels the removeProject operation, don't remove the project
     if (AppManager.selectedProject != null) {
       return;
     }
 
     yield AppProjects.remove(location);
     AppManager.update("project-removed");
   }),
 
-  packageProject: Task.async(function*(project) {
+  packageProject: Task.async(function* (project) {
     if (!project) {
       return;
     }
     if (project.type == "packaged" ||
         project.type == "hosted") {
       yield ProjectBuilding.build({
         project: project,
         logger: this.update.bind(this, "pre-package")
@@ -452,17 +452,17 @@ var AppManager = exports.AppManager = {
     }
     this.update("runtime");
   },
 
   get selectedRuntime() {
     return this._selectedRuntime;
   },
 
-  connectToRuntime: function(runtime) {
+  connectToRuntime: function (runtime) {
 
     if (this.connected && this.selectedRuntime === runtime) {
       // Already connected
       return promise.resolve();
     }
 
     let deferred = promise.defer();
 
@@ -482,17 +482,17 @@ var AppManager = exports.AppManager = {
       this.connection.on(Connection.Events.DISCONNECTED, onConnectedOrDisconnected);
       try {
         // Reset the connection's state to defaults
         this.connection.resetOptions();
         // Only watch for errors here.  Final resolution occurs above, once
         // we've reached the CONNECTED state.
         this.selectedRuntime.connect(this.connection)
                             .then(null, e => deferred.reject(e));
-      } catch(e) {
+      } catch (e) {
         deferred.reject(e);
       }
     }, deferred.reject);
 
     // Record connection result in telemetry
     let logResult = result => {
       this._telemetry.log("DEVTOOLS_WEBIDE_CONNECTION_RESULT", result);
       if (runtime.type) {
@@ -513,17 +513,17 @@ var AppManager = exports.AppManager = {
       // Empty rejection handler to silence uncaught rejection warnings
       // |connectToRuntime| caller should listen for rejections.
       // Bug 1121100 may find a better way to silence these.
     });
 
     return deferred.promise;
   },
 
-  _recordRuntimeInfo: Task.async(function*() {
+  _recordRuntimeInfo: Task.async(function* () {
     if (!this.connected) {
       return;
     }
     let runtime = this.selectedRuntime;
     this._telemetry.logKeyed("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE",
                              runtime.type || "UNKNOWN", true);
     this._telemetry.logKeyed("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID",
                              runtime.id || "unknown", true);
@@ -540,17 +540,17 @@ var AppManager = exports.AppManager = {
                              d.platformversion, true);
     this._telemetry.logKeyed("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_APP_TYPE",
                              d.apptype, true);
     this._telemetry.logKeyed("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_VERSION",
                              d.version, true);
     this.update("runtime-telemetry");
   }),
 
-  isMainProcessDebuggable: function() {
+  isMainProcessDebuggable: function () {
     // Fx <39 exposes chrome tab actors on RootActor
     // Fx >=39 exposes a dedicated actor via getProcess request
     return this.connection.client &&
            this.connection.client.mainRoot &&
            this.connection.client.mainRoot.traits.allowChromeProcess ||
            (this._listTabsResponse &&
             this._listTabsResponse.consoleActor);
   },
@@ -565,57 +565,57 @@ var AppManager = exports.AppManager = {
   get preferenceFront() {
     if (!this._listTabsResponse) {
       return null;
     }
     return getPreferenceFront(this.connection.client, this._listTabsResponse);
   },
 
   get settingsFront() {
-     if (!this._listTabsResponse) {
+    if (!this._listTabsResponse) {
       return null;
     }
     return getSettingsFront(this.connection.client, this._listTabsResponse);
   },
 
-  disconnectRuntime: function() {
+  disconnectRuntime: function () {
     if (!this.connected) {
       return promise.resolve();
     }
     let deferred = promise.defer();
     this.connection.once(Connection.Events.DISCONNECTED, () => deferred.resolve());
     this.connection.disconnect();
     return deferred.promise;
   },
 
-  launchRuntimeApp: function() {
+  launchRuntimeApp: function () {
     if (this.selectedProject && this.selectedProject.type != "runtimeApp") {
       return promise.reject("attempting to launch a non-runtime app");
     }
     let app = this._getProjectFront(this.selectedProject);
     return app.launch();
   },
 
-  launchOrReloadRuntimeApp: function() {
+  launchOrReloadRuntimeApp: function () {
     if (this.selectedProject && this.selectedProject.type != "runtimeApp") {
       return promise.reject("attempting to launch / reload a non-runtime app");
     }
     let app = this._getProjectFront(this.selectedProject);
     if (!app.running) {
       return app.launch();
     } else {
       return app.reload();
     }
   },
 
-  runtimeCanHandleApps: function() {
+  runtimeCanHandleApps: function () {
     return !!this._appsFront;
   },
 
-  installAndRunProject: function() {
+  installAndRunProject: function () {
     let project = this.selectedProject;
 
     if (!project || (project.type != "packaged" && project.type != "hosted")) {
       console.error("Can't install project. Unknown type of project.");
       return promise.reject("Can't install");
     }
 
     if (!this._listTabsResponse) {
@@ -692,24 +692,24 @@ var AppManager = exports.AppManager = {
         yield app.launch();
         yield deferred.promise;
       } else {
         yield app.reload();
       }
     });
   },
 
-  stopRunningApp: function() {
+  stopRunningApp: function () {
     let app = this._getProjectFront(this.selectedProject);
     return app.close();
   },
 
   /* PROJECT VALIDATION */
 
-  validateAndUpdateProject: function(project) {
+  validateAndUpdateProject: function (project) {
     if (!project) {
       return promise.reject();
     }
 
     return Task.spawn(function* () {
 
       let packageDir = yield ProjectBuilding.getPackageDir(project);
       let validation = new AppValidator({
@@ -788,26 +788,26 @@ var AppManager = exports.AppManager = {
       if (AppManager.selectedProject === project) {
         AppManager.update("project-validated");
       }
     });
   },
 
   /* RUNTIME LIST */
 
-  _clearRuntimeList: function() {
+  _clearRuntimeList: function () {
     this.runtimeList = {
       usb: [],
       wifi: [],
       simulator: [],
       other: []
     };
   },
 
-  _rebuildRuntimeList: function() {
+  _rebuildRuntimeList: function () {
     let runtimes = RuntimeScanners.listRuntimes();
     this._clearRuntimeList();
 
     // Reorganize runtimes by type
     for (let runtime of runtimes) {
       switch (runtime.type) {
         case RuntimeTypes.USB:
           this.runtimeList.usb.push(runtime);
@@ -824,17 +824,17 @@ var AppManager = exports.AppManager = {
     }
 
     this.update("runtime-details");
     this.update("runtime-list");
   },
 
   /* MANIFEST UTILS */
 
-  writeManifest: function(project) {
+  writeManifest: function (project) {
     if (project.type != "packaged") {
       return promise.reject("Not a packaged app");
     }
 
     if (!project.manifest) {
       project.manifest = {};
     }
 
--- a/devtools/client/webide/modules/app-projects.js
+++ b/devtools/client/webide/modules/app-projects.js
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {Cc,Ci,Cu,Cr} = require("chrome");
+const {Cc, Ci, Cu, Cr} = require("chrome");
 const promise = require("promise");
 
 const {EventEmitter} = Cu.import("resource://devtools/shared/event-emitter.js", {});
-const {generateUUID} = Cc['@mozilla.org/uuid-generator;1'].getService(Ci.nsIUUIDGenerator);
+const {generateUUID} = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
 const {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 const {indexedDB} = require("sdk/indexed-db");
 
 /**
  * IndexedDB wrapper that just save project objects
  *
  * The only constraint is that project objects have to have
  * a unique `location` object.
@@ -20,31 +20,31 @@ const {indexedDB} = require("sdk/indexed
 const IDB = {
   _db: null,
   databaseName: "AppProjects",
 
   open: function () {
     let deferred = promise.defer();
 
     let request = indexedDB.open(IDB.databaseName, 5);
-    request.onerror = function(event) {
+    request.onerror = function (event) {
       deferred.reject("Unable to open AppProjects indexedDB: " +
-                      this.error.name + " - " + this.error.message );
+                      this.error.name + " - " + this.error.message);
     };
-    request.onupgradeneeded = function(event) {
+    request.onupgradeneeded = function (event) {
       let db = event.target.result;
       db.createObjectStore("projects", { keyPath: "location" });
     };
 
-    request.onsuccess = function() {
+    request.onsuccess = function () {
       let db = IDB._db = request.result;
       let objectStore = db.transaction("projects").objectStore("projects");
       let projects = [];
       let toRemove = [];
-      objectStore.openCursor().onsuccess = function(event) {
+      objectStore.openCursor().onsuccess = function (event) {
         let cursor = event.target.result;
         if (cursor) {
           if (cursor.value.location) {
 
             // We need to make sure this object has a `.location` property.
             // The UI depends on this property.
             // This should not be needed as we make sure to register valid
             // projects, but in the past (before bug 924568), we might have
@@ -79,86 +79,86 @@ const IDB = {
           });
         }
       };
     };
 
     return deferred.promise;
   },
 
-  add: function(project) {
+  add: function (project) {
     let deferred = promise.defer();
 
     if (!project.location) {
       // We need to make sure this object has a `.location` property.
       deferred.reject("Missing location property on project object.");
     } else {
       let transaction = IDB._db.transaction(["projects"], "readwrite");
       let objectStore = transaction.objectStore("projects");
       let request = objectStore.add(project);
-      request.onerror = function(event) {
+      request.onerror = function (event) {
         deferred.reject("Unable to add project to the AppProjects indexedDB: " +
-                        this.error.name + " - " + this.error.message );
+                        this.error.name + " - " + this.error.message);
       };
-      request.onsuccess = function() {
+      request.onsuccess = function () {
         deferred.resolve();
       };
     }
 
     return deferred.promise;
   },
 
-  update: function(project) {
+  update: function (project) {
     let deferred = promise.defer();
 
     var transaction = IDB._db.transaction(["projects"], "readwrite");
     var objectStore = transaction.objectStore("projects");
     var request = objectStore.put(project);
-    request.onerror = function(event) {
+    request.onerror = function (event) {
       deferred.reject("Unable to update project to the AppProjects indexedDB: " +
-                      this.error.name + " - " + this.error.message );
+                      this.error.name + " - " + this.error.message);
     };
-    request.onsuccess = function() {
+    request.onsuccess = function () {
       deferred.resolve();
     };
 
     return deferred.promise;
   },
 
-  remove: function(location) {
+  remove: function (location) {
     let deferred = promise.defer();
 
     let request = IDB._db.transaction(["projects"], "readwrite")
                     .objectStore("projects")
                     .delete(location);
-    request.onsuccess = function(event) {
+    request.onsuccess = function (event) {
       deferred.resolve();
     };
-    request.onerror = function() {
+    request.onerror = function () {
       deferred.reject("Unable to delete project to the AppProjects indexedDB: " +
-                      this.error.name + " - " + this.error.message );
+                      this.error.name + " - " + this.error.message);
     };
 
     return deferred.promise;
   }
 };
 
 var loadDeferred = promise.defer();
 
 loadDeferred.resolve(IDB.open().then(function (projects) {
   AppProjects.projects = projects;
   AppProjects.emit("ready", projects);
 }));
 
 const AppProjects = {
-  load: function() {
+  load: function () {
     return loadDeferred.promise;
   },
 
-  addPackaged: function(folder) {
+  addPackaged: function (folder) {
     let file = FileUtils.File(folder.path);
     if (!file.exists()) {
       return promise.reject("path doesn't exist");
     }
     let existingProject = this.get(folder.path);
     if (existingProject) {
       return promise.reject("Already added");
     }
@@ -175,17 +175,17 @@ const AppProjects = {
       packagedAppOrigin: generateUUID().toString().slice(1, -1)
     };
     return IDB.add(project).then(() => {
       this.projects.push(project);
       return project;
     });
   },
 
-  addHosted: function(manifestURL) {
+  addHosted: function (manifestURL) {
     let existingProject = this.get(manifestURL);
     if (existingProject) {
       return promise.reject("Already added");
     }
     let project = {
       type: "hosted",
       location: manifestURL
     };
@@ -194,37 +194,37 @@ const AppProjects = {
       return project;
     });
   },
 
   update: function (project) {
     return IDB.update(project);
   },
 
-  updateLocation: function(project, newLocation) {
+  updateLocation: function (project, newLocation) {
     return IDB.remove(project.location)
               .then(() => {
                 project.location = newLocation;
                 return IDB.add(project);
               });
   },
 
-  remove: function(location) {
+  remove: function (location) {
     return IDB.remove(location).then(() => {
       for (let i = 0; i < this.projects.length; i++) {
         if (this.projects[i].location == location) {
           this.projects.splice(i, 1);
           return;
         }
       }
       throw new Error("Unable to find project in AppProjects store");
     });
   },
 
-  get: function(location) {
+  get: function (location) {
     for (let i = 0; i < this.projects.length; i++) {
       if (this.projects[i].location == location) {
         return this.projects[i];
       }
     }
     return null;
   },
 
--- a/devtools/client/webide/modules/app-validator.js
+++ b/devtools/client/webide/modules/app-validator.js
@@ -1,14 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-var {Ci,Cu,CC} = require("chrome");
+var {Ci, Cu, CC} = require("chrome");
 const promise = require("promise");
 
 const {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 const Services = require("Services");
 const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
 var XMLHttpRequest = CC("@mozilla.org/xmlextras/xmlhttprequest;1");
 var strings = Services.strings.createBundle("chrome://devtools/locale/app-manager.properties");
 
@@ -58,83 +58,83 @@ AppValidator.prototype._getPackagedManif
 AppValidator.prototype._getPackagedManifestURL = function () {
   let manifestFile = this._getPackagedManifestFile();
   if (!manifestFile) {
     return null;
   }
   return Services.io.newFileURI(manifestFile).spec;
 };
 
-AppValidator.checkManifest = function(manifestURL) {
+AppValidator.checkManifest = function (manifestURL) {
   let deferred = promise.defer();
   let error;
 
   let req = new XMLHttpRequest();
-  req.overrideMimeType('text/plain');
+  req.overrideMimeType("text/plain");
 
   try {
     req.open("GET", manifestURL, true);
-  } catch(e) {
+  } catch (e) {
     error = strings.formatStringFromName("validator.invalidManifestURL", [manifestURL], 1);
     deferred.reject(error);
     return deferred.promise;
   }
   req.channel.loadFlags |= Ci.nsIRequest.LOAD_BYPASS_CACHE | Ci.nsIRequest.INHIBIT_CACHING;
 
   req.onload = function () {
     let manifest = null;
     try {
       manifest = JSON.parse(req.responseText);
-    } catch(e) {
+    } catch (e) {
       error = strings.formatStringFromName("validator.invalidManifestJSON", [e, manifestURL], 2);
       deferred.reject(error);
     }
 
     deferred.resolve({manifest, manifestURL});
   };
 
   req.onerror = function () {
     error = strings.formatStringFromName("validator.noAccessManifestURL", [req.statusText, manifestURL], 2);
     deferred.reject(error);
- };
+  };
 
   try {
     req.send(null);
-  } catch(e) {
+  } catch (e) {
     error = strings.formatStringFromName("validator.noAccessManifestURL", [e, manifestURL], 2);
     deferred.reject(error);
   }
 
   return deferred.promise;
 };
 
-AppValidator.findManifestAtOrigin = function(manifestURL) {
-  let fixedManifest = Services.io.newURI(manifestURL, null, null).prePath + '/manifest.webapp';
+AppValidator.findManifestAtOrigin = function (manifestURL) {
+  let fixedManifest = Services.io.newURI(manifestURL, null, null).prePath + "/manifest.webapp";
   return AppValidator.checkManifest(fixedManifest);
 };
 
-AppValidator.findManifestPath = function(manifestURL) {
+AppValidator.findManifestPath = function (manifestURL) {
   let deferred = promise.defer();
 
-  if (manifestURL.endsWith('manifest.webapp')) {
+  if (manifestURL.endsWith("manifest.webapp")) {
     deferred.reject();
   } else {
-    let fixedManifest = manifestURL + '/manifest.webapp';
+    let fixedManifest = manifestURL + "/manifest.webapp";
     deferred.resolve(AppValidator.checkManifest(fixedManifest));
   }
 
   return deferred.promise;
 };
 
-AppValidator.checkAlternateManifest = function(manifestURL) {
-  return Task.spawn(function*() {
+AppValidator.checkAlternateManifest = function (manifestURL) {
+  return Task.spawn(function* () {
     let result;
     try {
       result = yield AppValidator.findManifestPath(manifestURL);
-    } catch(e) {
+    } catch (e) {
       result = yield AppValidator.findManifestAtOrigin(manifestURL);
     }
 
     return result;
   });
 };
 
 AppValidator.prototype._fetchManifest = function (manifestURL) {
@@ -148,32 +148,32 @@ AppValidator.prototype._fetchManifest = 
                 AppValidator.checkAlternateManifest(manifestURL)
                             .then(({manifest, manifestURL}) => {
                               this.manifestURL = manifestURL;
                               deferred.resolve(manifest);
                             }, () => {
                               this.error(error);
                               deferred.resolve(null);
                             });
-                });
+              });
 
   return deferred.promise;
 };
 
 AppValidator.prototype._getManifest = function () {
   let manifestURL;
   if (this.type == "packaged") {
     manifestURL = this._getPackagedManifestURL();
     if (!manifestURL)
       return promise.resolve(null);
   } else if (this.type == "hosted") {
     manifestURL = this.location;
     try {
       Services.io.newURI(manifestURL, null, null);
-    } catch(e) {
+    } catch (e) {
       this.error(strings.formatStringFromName("validator.invalidHostedManifestURL", [manifestURL, e.message], 2));
       return promise.resolve(null);
     }
   } else {
     this.error(strings.formatStringFromName("validator.invalidProjectType", [this.type], 1));
     return promise.resolve(null);
   }
   return this._fetchManifest(manifestURL);
@@ -206,34 +206,34 @@ AppValidator.prototype.validateLaunchPat
   if (manifest.launch_path && manifest.launch_path[0] !== "/") {
     this.error(strings.formatStringFromName("validator.nonAbsoluteLaunchPath", [manifest.launch_path], 1));
     deferred.resolve();
     return deferred.promise;
   }
   let origin = this._getOriginURL();
   let path;
   if (this.type == "packaged") {
-    path = "." + ( manifest.launch_path || "/index.html" );
+    path = "." + (manifest.launch_path || "/index.html");
   } else if (this.type == "hosted") {
     path = manifest.launch_path || "/";
   }
   let indexURL;
   try {
     indexURL = Services.io.newURI(path, null, Services.io.newURI(origin, null, null)).spec;
-  } catch(e) {
+  } catch (e) {
     this.error(strings.formatStringFromName("validator.accessFailedLaunchPath", [origin + path], 1));
     deferred.resolve();
     return deferred.promise;
   }
 
   let req = new XMLHttpRequest();
-  req.overrideMimeType('text/plain');
+  req.overrideMimeType("text/plain");
   try {
     req.open("HEAD", indexURL, true);
-  } catch(e) {
+  } catch (e) {
     this.error(strings.formatStringFromName("validator.accessFailedLaunchPath", [indexURL], 1));
     deferred.resolve();
     return deferred.promise;
   }
   req.channel.loadFlags |= Ci.nsIRequest.LOAD_BYPASS_CACHE | Ci.nsIRequest.INHIBIT_CACHING;
   req.onload = () => {
     if (req.status >= 400)
       this.error(strings.formatStringFromName("validator.accessFailedLaunchPathBadHttpCode", [indexURL, req.status], 2));
@@ -241,17 +241,17 @@ AppValidator.prototype.validateLaunchPat
   };
   req.onerror = () => {
     this.error(strings.formatStringFromName("validator.accessFailedLaunchPath", [indexURL], 1));
     deferred.resolve();
   };
 
   try {
     req.send(null);
-  } catch(e) {
+  } catch (e) {
     this.error(strings.formatStringFromName("validator.accessFailedLaunchPath", [indexURL], 1));
     deferred.resolve();
   }
 
   return deferred.promise;
 };
 
 AppValidator.prototype.validateType = function (manifest) {
--- a/devtools/client/webide/modules/build.js
+++ b/devtools/client/webide/modules/build.js
@@ -1,47 +1,47 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const {Cu, Cc, Ci} = require("chrome");
 
 const promise = require("promise");
 const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
-const { TextDecoder, OS }  = Cu.import("resource://gre/modules/osfile.jsm", {});
+const { TextDecoder, OS } = Cu.import("resource://gre/modules/osfile.jsm", {});
 const Subprocess = require("sdk/system/child_process/subprocess");
 
 const ProjectBuilding = exports.ProjectBuilding = {
-  fetchPackageManifest: Task.async(function * (project) {
+  fetchPackageManifest: Task.async(function* (project) {
     let manifestPath = OS.Path.join(project.location, "package.json");
     let exists = yield OS.File.exists(manifestPath);
     if (!exists) {
       // No explicit manifest, try to generate one if possible
       return this.generatePackageManifest(project);
     }
 
     let data = yield OS.File.read(manifestPath);
     data = new TextDecoder().decode(data);
     let manifest;
     try {
       manifest = JSON.parse(data);
-    } catch(e) {
+    } catch (e) {
       throw new Error("Error while reading WebIDE manifest at: '" + manifestPath +
                       "', invalid JSON: " + e.message);
     }
     return manifest;
   }),
 
   /**
    * For common frameworks in the community, attempt to detect the build
    * settings if none are defined.  This makes it much easier to get started
    * with WebIDE.  Later on, perhaps an add-on could define such things for
    * different frameworks.
    */
-  generatePackageManifest: Task.async(function*(project) {
+  generatePackageManifest: Task.async(function* (project) {
     // Cordova
     let cordovaConfigPath = OS.Path.join(project.location, "config.xml");
     let exists = yield OS.File.exists(cordovaConfigPath);
     if (!exists) {
       return;
     }
     let data = yield OS.File.read(cordovaConfigPath);
     data = new TextDecoder().decode(data);
@@ -67,17 +67,17 @@ const ProjectBuilding = exports.ProjectB
     }
 
     let manifest = yield ProjectBuilding.fetchPackageManifest(project);
 
     logger("start");
     try {
       yield this._build(project, manifest, logger);
       logger("succeed");
-    } catch(e) {
+    } catch (e) {
       logger("failed", e);
     }
   }),
 
   _build: Task.async(function* (project, manifest, logger) {
     // Look for `webide` property
     manifest = manifest.webide;
 
@@ -87,17 +87,17 @@ const ProjectBuilding = exports.ProjectB
     let envService = Cc["@mozilla.org/process/environment;1"].getService(Ci.nsIEnvironment);
     ["HOME", "PATH"].forEach(key => {
       let value = envService.get(key);
       if (value) {
         env.push(key + "=" + value);
       }
     });
 
-    if (typeof(manifest.prepackage) === "string") {
+    if (typeof (manifest.prepackage) === "string") {
       command = manifest.prepackage.replace(/%project%/g, project.location);
     } else if (manifest.prepackage.command) {
       command = manifest.prepackage.command;
 
       args = manifest.prepackage.args || [];
       args = args.map(a => a.replace(/%project%/g, project.location));
 
       env = env.concat(manifest.prepackage.env || []);
@@ -175,17 +175,17 @@ const ProjectBuilding = exports.ProjectB
       });
       yield defer.promise;
     } catch (e) {
       throw new Error("Unable to run pre-package command '" + command + "' " +
                       args.join(" ") + ":\n" + (e.message || e));
     }
   }),
 
-  getPackageDir: Task.async(function*(project) {
+  getPackageDir: Task.async(function* (project) {
     let manifest = yield ProjectBuilding.fetchPackageManifest(project);
     if (!manifest || !manifest.webide || !manifest.webide.packageDir) {
       return project.location;
     }
     manifest = manifest.webide;
 
     let packageDir = OS.Path.join(project.location, manifest.packageDir);
     // On Windows, replace / by \\
--- a/devtools/client/webide/modules/config-view.js
+++ b/devtools/client/webide/modules/config-view.js
@@ -5,25 +5,25 @@
 const {Cu} = require("chrome");
 
 const EventEmitter = require("devtools/shared/event-emitter");
 const Services = require("Services");
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 var ConfigView;
 
-module.exports = ConfigView = function(window) {
+module.exports = ConfigView = function (window) {
   EventEmitter.decorate(this);
   this._doc = window.document;
   this._keys = [];
   return this;
 };
 
 ConfigView.prototype = {
-  _renderByType: function(input, name, value, customType) {
+  _renderByType: function (input, name, value, customType) {
     value = customType || typeof value;
 
     switch (value) {
       case "boolean":
         input.setAttribute("data-type", "boolean");
         input.setAttribute("type", "checkbox");
         break;
       case "number":
@@ -57,17 +57,17 @@ ConfigView.prototype = {
   set kind(kind) {
     this._kind = kind;
   },
 
   set includeTypeName(include) {
     this._includeTypeName = include;
   },
 
-  search: function(event) {
+  search: function (event) {
     if (event.target.value.length) {
       let stringMatch = new RegExp(event.target.value, "i");
 
       for (let i = 0; i < this._keys.length; i++) {
         let key = this._keys[i];
         let row = this._doc.getElementById("row-" + key);
         if (key.match(stringMatch)) {
           row.classList.remove("hide");
@@ -79,27 +79,27 @@ ConfigView.prototype = {
       var trs = this._doc.getElementById("device-fields").querySelectorAll("tr");
 
       for (let i = 0; i < trs.length; i++) {
         trs[i].classList.remove("hide");
       }
     }
   },
 
-  generateDisplay: function(json) {
+  generateDisplay: function (json) {
     let deviceItems = Object.keys(json);
     deviceItems.sort();
     this.keys = deviceItems;
     for (let i = 0; i < this.keys.length; i++) {
       let key = this.keys[i];
       this.generateField(key, json[key].value, json[key].hasUserValue);
     }
   },
 
-  generateField: function(name, value, hasUserValue, customType, newRow) {
+  generateField: function (name, value, hasUserValue, customType, newRow) {
     let table = this._doc.querySelector("table");
     let sResetDefault = Strings.GetStringFromName("device_reset_default");
 
     if (this._keys.indexOf(name) === -1) {
       this._keys.push(name);
     }
 
     let input = this._doc.createElement("input");
@@ -155,73 +155,73 @@ ConfigView.prototype = {
       } else {
         existing.value = value;
       }
     } else {
       table.appendChild(tr);
     }
   },
 
-  resetTable: function() {
+  resetTable: function () {
     let table = this._doc.querySelector("table");
     let trs = table.querySelectorAll("tr:not(#add-custom-field)");
 
     for (var i = 0; i < trs.length; i++) {
       table.removeChild(trs[i]);
     }
 
     return table;
   },
 
-  _getCallType: function(type, name) {
+  _getCallType: function (type, name) {
     let frontName = "get";
 
     if (this._includeTypeName) {
       frontName += type;
     }
 
     return this._front[frontName + this._kind](name);
   },
 
-  _setCallType: function(type, name, value) {
+  _setCallType: function (type, name, value) {
     let frontName = "set";
 
     if (this._includeTypeName) {
       frontName += type;
     }
 
     return this._front[frontName + this._kind](name, value);
   },
 
-  _saveByType: function(options) {
+  _saveByType: function (options) {
     let fieldName = options.id;
     let inputType = options.type;
     let value = options.value;
     let input = this._doc.getElementById(fieldName);
 
-    switch(inputType) {
+    switch (inputType) {
       case "boolean":
         this._setCallType("Bool", fieldName, input.checked);
         break;
       case "number":
         this._setCallType("Int", fieldName, value);
         break;
       case "object":
         try {
           value = JSON.parse(value);
-        } catch(e) {}
+        } catch (e) {}
         this._setCallType("Object", fieldName, value);
         break;
       default:
         this._setCallType("Char", fieldName, value);
         break;
     }
   },
 
-  updateField: function(event) {
+  updateField: function (event) {
     if (event.target) {
       let inputType = event.target.getAttribute("data-type");
       let inputValue = event.target.checked || event.target.value;
 
       if (event.target.nodeName == "input" &&
           event.target.validity.valid &&
           event.target.classList.contains("editable")) {
         let id = event.target.id;
@@ -238,17 +238,17 @@ ConfigView.prototype = {
           type: inputType,
           value: inputValue
         });
         this._doc.getElementById("btn-" + id).classList.remove("hide");
       }
     }
   },
 
-  _resetToDefault: function(name, input, button) {
+  _resetToDefault: function (name, input, button) {
     this._front["clearUser" + this._kind](name);
     let dataType = input.getAttribute("data-type");
     let tr = this._doc.getElementById("row-" + name);
 
     switch (dataType) {
       case "boolean":
         this._defaultField = this._getCallType("Bool", name);
         this._defaultField.then(boolean => {
@@ -282,25 +282,25 @@ ConfigView.prototype = {
           tr.parentNode.removeChild(tr);
         });
         break;
     }
 
     button.classList.add("hide");
   },
 
-  checkReset: function(event) {
+  checkReset: function (event) {
     if (event.target.classList.contains("reset")) {
       let btnId = event.target.getAttribute("data-id");
       let input = this._doc.getElementById(btnId);
       this._resetToDefault(btnId, input, event.target);
     }
   },
 
-  updateFieldType: function() {
+  updateFieldType: function () {
     let table = this._doc.querySelector("table");
     let customValueType = table.querySelector("#custom-value-type").value;
     let customTextEl = table.querySelector("#custom-value-text");
     let customText = customTextEl.value;
 
     if (customValueType.length === 0) {
       return false;
     }
@@ -317,29 +317,29 @@ ConfigView.prototype = {
       default:
         customTextEl.type = "text";
         break;
     }
 
     return customValueType;
   },
 
-  clearNewFields: function() {
+  clearNewFields: function () {
     let table = this._doc.querySelector("table");
     let customTextEl = table.querySelector("#custom-value-text");
     if (customTextEl.checked) {
       customTextEl.checked = false;
     } else {
       customTextEl.value = "";
     }
 
     this.updateFieldType();
   },
 
-  updateNewField: function() {
+  updateNewField: function () {
     let table = this._doc.querySelector("table");
     let customValueType = this.updateFieldType();
 
     if (!customValueType) {
       return;
     }
 
     let customRow = table.querySelector("tr:nth-of-type(2)");
@@ -360,14 +360,14 @@ ConfigView.prototype = {
         type: customValueType,
         value: customText
       });
       customTextNameEl.value = "";
       this.clearNewFields();
     }
   },
 
-  checkNewFieldSubmit: function(event) {
+  checkNewFieldSubmit: function (event) {
     if (event.keyCode === 13) {
       this._doc.getElementById("custom-value").click();
     }
   }
 };
--- a/devtools/client/webide/modules/project-list.js
+++ b/devtools/client/webide/modules/project-list.js
@@ -12,17 +12,17 @@ const EventEmitter = require("devtools/s
 const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
 const utils = require("devtools/client/webide/modules/utils");
 const Telemetry = require("devtools/client/shared/telemetry");
 
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 var ProjectList;
 
-module.exports = ProjectList = function(win, parentWindow) {
+module.exports = ProjectList = function (win, parentWindow) {
   EventEmitter.decorate(this);
   this._doc = win.document;
   this._UI = parentWindow.UI;
   this._parentWindow = parentWindow;
   this._telemetry = new Telemetry();
   this._panelNodeEl = "div";
 
   this.onWebIDEUpdate = this.onWebIDEUpdate.bind(this);
@@ -33,85 +33,85 @@ module.exports = ProjectList = function(
   AppManager.on("app-manager-update", this.appManagerUpdate);
 };
 
 ProjectList.prototype = {
   get doc() {
     return this._doc;
   },
 
-  appManagerUpdate: function(event, what, details) {
+  appManagerUpdate: function (event, what, details) {
     // Got a message from app-manager.js
     // See AppManager.update() for descriptions of what these events mean.
     switch (what) {
       case "project-removed":
       case "runtime-apps-icons":
       case "runtime-targets":
       case "connection":
         this.update(details);
         break;
       case "project":
         this.updateCommands();
         this.update(details);
         break;
-    };
+    }
   },
 
-  onWebIDEUpdate: function(event, what, details) {
+  onWebIDEUpdate: function (event, what, details) {
     if (what == "busy" || what == "unbusy") {
       this.updateCommands();
     }
   },
 
   /**
    * testOptions: {       chrome mochitest support
    *   folder: nsIFile,   where to store the app
    *   index: Number,     index of the app in the template list
    *   name: String       name of the app
    * }
    */
-  newApp: function(testOptions) {
+  newApp: function (testOptions) {
     let parentWindow = this._parentWindow;
     let self = this;
-    return this._UI.busyUntil(Task.spawn(function*() {
+    return this._UI.busyUntil(Task.spawn(function* () {
       // Open newapp.xul, which will feed ret.location
       let ret = {location: null, testOptions: testOptions};
       parentWindow.openDialog("chrome://webide/content/newapp.xul", "newapp", "chrome,modal", ret);
       if (!ret.location)
         return;
 
       // Retrieve added project
       let project = AppProjects.get(ret.location);
 
       // Select project
       AppManager.selectedProject = project;
 
       self._telemetry.actionOccurred("webideNewProject");
     }), "creating new app");
   },
 
-  importPackagedApp: function(location) {
+  importPackagedApp: function (location) {
     let parentWindow = this._parentWindow;
     let UI = this._UI;
-    return UI.busyUntil(Task.spawn(function*() {
+    return UI.busyUntil(Task.spawn(function* () {
       let directory = utils.getPackagedDirectory(parentWindow, location);
 
       if (!directory) {
         // User cancelled directory selection
         return;
       }
 
       yield UI.importAndSelectApp(directory);
     }), "importing packaged app");
   },
 
-  importHostedApp: function(location) {
+  importHostedApp: function (location) {
     let parentWindow = this._parentWindow;
     let UI = this._UI;
-    return UI.busyUntil(Task.spawn(function*() {
+    return UI.busyUntil(Task.spawn(function* () {
       let url = utils.getHostedURL(parentWindow, location);
 
       if (!url) {
         return;
       }
 
       yield UI.importAndSelectApp(url);
     }), "importing hosted app");
@@ -119,36 +119,36 @@ ProjectList.prototype = {
 
   /**
    * opts: {
    *   panel: Object,     currenl project panel node
    *   name: String,      name of the project
    *   icon: String       path of the project icon
    * }
    */
-  _renderProjectItem: function(opts) {
+  _renderProjectItem: function (opts) {
     let span = opts.panel.querySelector("span") || this._doc.createElement("span");
     span.textContent = opts.name;
     let icon = opts.panel.querySelector("img") || this._doc.createElement("img");
     icon.className = "project-image";
     icon.setAttribute("src", opts.icon);
     opts.panel.appendChild(icon);
     opts.panel.appendChild(span);
     opts.panel.setAttribute("title", opts.name);
   },
 
-  refreshTabs: function() {
+  refreshTabs: function () {
     if (AppManager.connected) {
       return AppManager.listTabs().then(() => {
         this.updateTabs();
       }).catch(console.error);
     }
   },
 
-  updateTabs: function() {
+  updateTabs: function () {
     let tabsHeaderNode = this._doc.querySelector("#panel-header-tabs");
     let tabsNode = this._doc.querySelector("#project-panel-tabs");
 
     while (tabsNode.hasChildNodes()) {
       tabsNode.firstChild.remove();
     }
 
     if (!AppManager.connected) {
@@ -198,17 +198,17 @@ ProjectList.prototype = {
           name: tab.name
         };
       }, true);
     }
 
     return promise.resolve();
   },
 
-  updateApps: function() {
+  updateApps: function () {
     let doc = this._doc;
     let runtimeappsHeaderNode = doc.querySelector("#panel-header-runtimeapps");
     let sortedApps = [];
     for (let [manifestURL, app] of AppManager.apps) {
       sortedApps.push(app);
     }
     sortedApps = sortedApps.sort((a, b) => {
       return a.manifest.name > b.manifest.name;
@@ -261,17 +261,17 @@ ProjectList.prototype = {
           name: app.manifest.name
         };
       }, true);
     }
 
     return promise.resolve();
   },
 
-  updateCommands: function() {
+  updateCommands: function () {
     let doc = this._doc;
     let newAppCmd;
     let packagedAppCmd;
     let hostedAppCmd;
 
     newAppCmd = doc.querySelector("#new-app");
     packagedAppCmd = doc.querySelector("#packaged-app");
     hostedAppCmd = doc.querySelector("#hosted-app");
@@ -293,17 +293,17 @@ ProjectList.prototype = {
   },
 
   /**
    * Trigger an update of the project and remote runtime list.
    * @param options object (optional)
    *        An |options| object containing a type of |apps| or |tabs| will limit
    *        what is updated to only those sections.
    */
-  update: function(options) {
+  update: function (options) {
     let deferred = promise.defer();
 
     if (options && options.type === "apps") {
       return this.updateApps();
     } else if (options && options.type === "tabs") {
       return this.updateTabs();
     }
 
@@ -359,17 +359,17 @@ ProjectList.prototype = {
       AppManager.listTabs().then(() => {
         this.updateTabs();
       }).catch(console.error);
     }
 
     return deferred.promise;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._doc = null;
     AppManager.off("app-manager-update", this.appManagerUpdate);
     this._UI.off("webide-update", this.onWebIDEUpdate);
     this._UI = null;
     this._parentWindow = null;
     this._panelNodeEl = null;
   }
 };
--- a/devtools/client/webide/modules/runtime-list.js
+++ b/devtools/client/webide/modules/runtime-list.js
@@ -11,17 +11,17 @@ const {RuntimeScanners, WiFiScanner} = r
 const {Devices} = Cu.import("resource://devtools/shared/apps/Devices.jsm");
 const {Task} = Cu.import("resource://gre/modules/Task.jsm", {});
 const utils = require("devtools/client/webide/modules/utils");
 
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
 var RuntimeList;
 
-module.exports = RuntimeList = function(window, parentWindow) {
+module.exports = RuntimeList = function (window, parentWindow) {
   EventEmitter.decorate(this);
   this._doc = window.document;
   this._UI = parentWindow.UI;
   this._Cmds = parentWindow.Cmds;
   this._parentWindow = parentWindow;
   this._panelNodeEl = "button";
   this._panelBoxEl = "div";
 
@@ -33,69 +33,69 @@ module.exports = RuntimeList = function(
   AppManager.on("app-manager-update", this.appManagerUpdate);
 };
 
 RuntimeList.prototype = {
   get doc() {
     return this._doc;
   },
 
-  appManagerUpdate: function(event, what, details) {
+  appManagerUpdate: function (event, what, details) {
     // Got a message from app-manager.js
     // See AppManager.update() for descriptions of what these events mean.
     switch (what) {
       case "runtime-list":
         this.update();
         break;
       case "connection":
       case "runtime-global-actors":
         this.updateCommands();
         break;
-    };
+    }
   },
 
-  onWebIDEUpdate: function(event, what, details) {
+  onWebIDEUpdate: function (event, what, details) {
     if (what == "busy" || what == "unbusy") {
       this.updateCommands();
     }
   },
 
-  takeScreenshot: function() {
+  takeScreenshot: function () {
     this._Cmds.takeScreenshot();
   },
 
-  showRuntimeDetails: function() {
+  showRuntimeDetails: function () {
     this._Cmds.showRuntimeDetails();
   },
 
-  showPermissionsTable: function() {
+  showPermissionsTable: function () {
     this._Cmds.showPermissionsTable();
   },
 
-  showDevicePreferences: function() {
+  showDevicePreferences: function () {
     this._Cmds.showDevicePrefs();
   },
 
-  showSettings: function() {
+  showSettings: function () {
     this._Cmds.showSettings();
   },
 
-  showTroubleShooting: function() {
+  showTroubleShooting: function () {
     this._Cmds.showTroubleShooting();
   },
 
-  showAddons: function() {
+  showAddons: function () {
     this._Cmds.showAddons();
   },
 
-  refreshScanners: function() {
+  refreshScanners: function () {
     RuntimeScanners.scan();
   },
 
-  updateCommands: function() {
+  updateCommands: function () {
     let doc = this._doc;
 
     // Runtime commands
     let screenshotCmd = doc.querySelector("#runtime-screenshot");
     let permissionsCmd = doc.querySelector("#runtime-permissions");
     let detailsCmd = doc.querySelector("#runtime-details");
     let disconnectCmd = doc.querySelector("#runtime-disconnect");
     let devicePrefsCmd = doc.querySelector("#runtime-preferences");
@@ -119,17 +119,17 @@ RuntimeList.prototype = {
       permissionsCmd.setAttribute("disabled", "true");
       screenshotCmd.setAttribute("disabled", "true");
       disconnectCmd.setAttribute("disabled", "true");
       devicePrefsCmd.setAttribute("disabled", "true");
       settingsCmd.setAttribute("disabled", "true");
     }
   },
 
-  update: function() {
+  update: function () {
     let doc = this._doc;
     let wifiHeaderNode = doc.querySelector("#runtime-header-wifi");
 
     if (WiFiScanner.allowed) {
       wifiHeaderNode.removeAttribute("hidden");
     } else {
       wifiHeaderNode.setAttribute("hidden", "true");
     }
@@ -190,17 +190,17 @@ RuntimeList.prototype = {
           panelItemNode.appendChild(configButton);
         }
 
         parent.appendChild(panelItemNode);
       }
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this._doc = null;
     AppManager.off("app-manager-update", this.appManagerUpdate);
     this._UI.off("webide-update", this.onWebIDEUpdate);
     this._UI = null;
     this._Cmds = null;
     this._parentWindow = null;
     this._panelNodeEl = null;
   }
--- a/devtools/client/webide/modules/runtimes.js
+++ b/devtools/client/webide/modules/runtimes.js
@@ -137,17 +137,17 @@ var RuntimeScanners = {
       this._scanPromise = null;
     }, () => {
       this._scanPromise = null;
     });
 
     return this._scanPromise;
   },
 
-  listRuntimes: function*() {
+  listRuntimes: function* () {
     for (let scanner of this._scanners) {
       for (let runtime of scanner.listRuntimes()) {
         yield runtime;
       }
     }
   },
 
   _emitUpdated() {
@@ -220,17 +220,17 @@ var SimulatorScanner = {
       this._emitUpdated();
     });
   },
 
   scan() {
     return promise.resolve();
   },
 
-  listRuntimes: function() {
+  listRuntimes: function () {
     return this._runtimes;
   }
 
 };
 
 EventEmitter.decorate(SimulatorScanner);
 RuntimeScanners.add(SimulatorScanner);
 
@@ -275,17 +275,17 @@ var DeprecatedAdbScanner = {
     }
     this._emitUpdated();
   },
 
   scan() {
     return promise.resolve();
   },
 
-  listRuntimes: function() {
+  listRuntimes: function () {
     return this._runtimes;
   }
 
 };
 
 EventEmitter.decorate(DeprecatedAdbScanner);
 RuntimeScanners.add(DeprecatedAdbScanner);
 
@@ -307,17 +307,17 @@ var LazyAdbScanner = {
   disable() {
     Devices.emit("adb-stop-polling");
   },
 
   scan() {
     return promise.resolve();
   },
 
-  listRuntimes: function() {
+  listRuntimes: function () {
     return [];
   }
 
 };
 
 EventEmitter.decorate(LazyAdbScanner);
 RuntimeScanners.add(LazyAdbScanner);
 
@@ -356,17 +356,17 @@ var WiFiScanner = {
     this._emitUpdated();
   },
 
   scan() {
     discovery.scan();
     return promise.resolve();
   },
 
-  listRuntimes: function() {
+  listRuntimes: function () {
     return this._runtimes;
   },
 
   ALLOWED_PREF: "devtools.remote.wifi.scan",
 
   get allowed() {
     return Services.prefs.getBoolPref(this.ALLOWED_PREF);
   },
@@ -433,33 +433,33 @@ function DeprecatedUSBRuntime(id) {
   this._id = id;
 }
 
 DeprecatedUSBRuntime.prototype = {
   type: RuntimeTypes.USB,
   get device() {
     return Devices.getByName(this._id);
   },
-  connect: function(connection) {
+  connect: function (connection) {
     if (!this.device) {
       return promise.reject(new Error("Can't find device: " + this.name));
     }
     return this.device.connect().then((port) => {
       connection.host = "localhost";
       connection.port = port;
       connection.connect();
     });
   },
   get id() {
     return this._id;
   },
   get name() {
     return this._productModel || this._id;
   },
-  updateNameFromADB: function() {
+  updateNameFromADB: function () {
     if (this._productModel) {
       return promise.reject();
     }
     let deferred = promise.defer();
     if (this.device && this.device.shell) {
       this.device.shell("getprop ro.product.model").then(stdout => {
         this._productModel = stdout;
         deferred.resolve();
@@ -478,17 +478,17 @@ exports._DeprecatedUSBRuntime = Deprecat
 function WiFiRuntime(deviceName) {
   this.deviceName = deviceName;
 }
 
 WiFiRuntime.prototype = {
   type: RuntimeTypes.WIFI,
   // Mark runtime as taking a long time to connect
   prolongedConnection: true,
-  connect: function(connection) {
+  connect: function (connection) {
     let service = discovery.getRemoteService("devtools", this.deviceName);
     if (!service) {
       return promise.reject(new Error("Can't find device: " + this.name));
     }
     connection.advertisement = service;
     connection.authenticator.sendOOB = this.sendOOB;
     // Disable the default connection timeout, since QR scanning can take an
     // unknown amount of time.  This prevents spurious errors (even after
@@ -587,17 +587,17 @@ WiFiRuntime.prototype = {
 exports._WiFiRuntime = WiFiRuntime;
 
 function SimulatorRuntime(simulator) {
   this.simulator = simulator;
 }
 
 SimulatorRuntime.prototype = {
   type: RuntimeTypes.SIMULATOR,
-  connect: function(connection) {
+  connect: function (connection) {
     return this.simulator.launch().then(port => {
       connection.host = "localhost";
       connection.port = port;
       connection.keepConnecting = true;
       connection.once(Connection.Events.DISCONNECTED, e => this.simulator.kill());
       connection.connect();
     });
   },
@@ -612,17 +612,17 @@ SimulatorRuntime.prototype = {
   },
 };
 
 // For testing use only
 exports._SimulatorRuntime = SimulatorRuntime;
 
 var gLocalRuntime = {
   type: RuntimeTypes.LOCAL,
-  connect: function(connection) {
+  connect: function (connection) {
     if (!DebuggerServer.initialized) {
       DebuggerServer.init();
       DebuggerServer.addBrowserActors();
     }
     DebuggerServer.allowChromeProcess = true;
     connection.host = null; // Force Pipe transport
     connection.port = null;
     connection.connect();
@@ -636,26 +636,26 @@ var gLocalRuntime = {
   },
 };
 
 // For testing use only
 exports._gLocalRuntime = gLocalRuntime;
 
 var gRemoteRuntime = {
   type: RuntimeTypes.REMOTE,
-  connect: function(connection) {
+  connect: function (connection) {
     let win = Services.wm.getMostRecentWindow("devtools:webide");
     if (!win) {
       return promise.reject(new Error("No WebIDE window found"));
     }
     let ret = {value: connection.host + ":" + connection.port};
     let title = Strings.GetStringFromName("remote_runtime_promptTitle");
     let message = Strings.GetStringFromName("remote_runtime_promptMessage");
     let ok = Services.prompt.prompt(win, title, message, ret, null, {});
-    let [host,port] = ret.value.split(":");
+    let [host, port] = ret.value.split(":");
     if (!ok) {
       return promise.reject({canceled: true});
     }
     if (!host || !port) {
       return promise.reject(new Error("Invalid host or port"));
     }
     connection.host = host;
     connection.port = port;
--- a/devtools/client/webide/modules/simulator-process.js
+++ b/devtools/client/webide/modules/simulator-process.js
@@ -1,14 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-'use strict';
+"use strict";
 
 const { Cc, Ci, Cu } = require("chrome");
 
 const Environment = require("sdk/system/environment").env;
 const EventEmitter = require("devtools/shared/event-emitter");
 const promise = require("promise");
 const Subprocess = require("sdk/system/child_process/subprocess");
 const Services = require("Services");
@@ -171,27 +171,27 @@ EventEmitter.decorate(SimulatorProcess.p
 function CustomSimulatorProcess(options) {
   this.options = options;
 }
 
 var CSPp = CustomSimulatorProcess.prototype = Object.create(SimulatorProcess.prototype);
 
 // Compute B2G binary file handle.
 Object.defineProperty(CSPp, "b2gBinary", {
-  get: function() {
-    let file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
+  get: function () {
+    let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
     file.initWithPath(this.options.b2gBinary);
     return file;
   }
 });
 
 // Compute Gaia profile file handle.
 Object.defineProperty(CSPp, "gaiaProfile", {
-  get: function() {
-    let file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
+  get: function () {
+    let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
     file.initWithPath(this.options.gaiaProfile);
     return file;
   }
 });
 
 exports.CustomSimulatorProcess = CustomSimulatorProcess;
 
 
@@ -199,22 +199,22 @@ function AddonSimulatorProcess(addon, op
   this.addon = addon;
   this.options = options;
 }
 
 var ASPp = AddonSimulatorProcess.prototype = Object.create(SimulatorProcess.prototype);
 
 // Compute B2G binary file handle.
 Object.defineProperty(ASPp, "b2gBinary", {
-  get: function() {
+  get: function () {
     let file;
     try {
       let pref = "extensions." + this.addon.id + ".customRuntime";
       file = Services.prefs.getComplexValue(pref, Ci.nsIFile);
-    } catch(e) {}
+    } catch (e) {}
 
     if (!file) {
       file = this.addon.getResourceURI().QueryInterface(Ci.nsIFileURL).file;
       file.append("b2g");
       let binaries = {
         win32: "b2g-bin.exe",
         mac64: "B2G.app/Contents/MacOS/b2g-bin",
         linux32: "b2g-bin",
@@ -236,32 +236,32 @@ Object.defineProperty(ASPp, "b2gBinary",
       binaries[OS].split("/").forEach(node => file.append(node));
     }
     return file;
   }
 });
 
 // Compute Gaia profile file handle.
 Object.defineProperty(ASPp, "gaiaProfile", {
-  get: function() {
+  get: function () {
     let file;
 
     // Custom profile from simulator configuration.
     if (this.options.gaiaProfile) {
-      file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
+      file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
       file.initWithPath(this.options.gaiaProfile);
       return file;
     }
 
     // Custom profile from addon prefs.
     try {
       let pref = "extensions." + this.addon.id + ".gaiaProfile";
       file = Services.prefs.getComplexValue(pref, Ci.nsIFile);
       return file;
-    } catch(e) {}
+    } catch (e) {}
 
     // Default profile from addon.
     file = this.addon.getResourceURI().QueryInterface(Ci.nsIFileURL).file;
     file.append("profile");
     return file;
   }
 });
 
@@ -272,22 +272,22 @@ function OldAddonSimulatorProcess(addon,
   this.addon = addon;
   this.options = options;
 }
 
 var OASPp = OldAddonSimulatorProcess.prototype = Object.create(AddonSimulatorProcess.prototype);
 
 // Compute B2G binary file handle.
 Object.defineProperty(OASPp, "b2gBinary", {
-  get: function() {
+  get: function () {
     let file;
     try {
       let pref = "extensions." + this.addon.id + ".customRuntime";
       file = Services.prefs.getComplexValue(pref, Ci.nsIFile);
-    } catch(e) {}
+    } catch (e) {}
 
     if (!file) {
       file = this.addon.getResourceURI().QueryInterface(Ci.nsIFileURL).file;
       let version = this.addon.name.match(/\d+\.\d+/)[0].replace(/\./, "_");
       file.append("resources");
       file.append("fxos_" + version + "_simulator");
       file.append("data");
       file.append(OS == "linux32" ? "linux" : OS);
@@ -300,17 +300,17 @@ Object.defineProperty(OASPp, "b2gBinary"
       binaries[OS].split("/").forEach(node => file.append(node));
     }
     return file;
   }
 });
 
 // Compute B2G CLI arguments.
 Object.defineProperty(OASPp, "args", {
-  get: function() {
+  get: function () {
     let args = [];
 
     // Gaia profile.
     args.push("-profile", this.gaiaProfile.path);
 
     // Debugger server port.
     let port = parseInt(this.options.port);
     args.push("-dbgport", "" + port);
--- a/devtools/client/webide/modules/simulators.js
+++ b/devtools/client/webide/modules/simulators.js
@@ -29,17 +29,17 @@ var Simulators = {
    *
    * @return Promise.
    */
   _load() {
     if (this._loadingPromise) {
       return this._loadingPromise;
     }
 
-    this._loadingPromise = Task.spawn(function*() {
+    this._loadingPromise = Task.spawn(function* () {
       let jobs = [];
 
       let value = yield asyncStorage.getItem("simulators");
       if (Array.isArray(value)) {
         value.forEach(options => {
           let simulator = new Simulator(options);
           Simulators.add(simulator, true);
 
@@ -65,33 +65,33 @@ var Simulators = {
     return this._loadingPromise;
   },
 
   /**
    * Add default simulators to the list for each new (unused) addon.
    *
    * @return Promise.
    */
-  _addUnusedAddons: Task.async(function*() {
+  _addUnusedAddons: Task.async(function* () {
     let jobs = [];
 
     let addons = yield Simulators.findSimulatorAddons();
     addons.forEach(addon => {
       jobs.push(Simulators.addIfUnusedAddon(addon, true));
     });
 
     yield promise.all(jobs);
   }),
 
   /**
    * Save the current list of configurations.
    *
    * @return Promise.
    */
-  _save: Task.async(function*() {
+  _save: Task.async(function* () {
     yield this._load();
 
     let value = Simulators._simulators.map(simulator => {
       let options = JSON.parse(JSON.stringify(simulator.options));
       if (simulator.addon != null) {
         options.addonID = simulator.addon.id;
       }
       return options;
@@ -100,17 +100,17 @@ var Simulators = {
     yield asyncStorage.setItem("simulators", value);
   }),
 
   /**
    * List all available simulators.
    *
    * @return Promised simulator list.
    */
-  findSimulators: Task.async(function*() {
+  findSimulators: Task.async(function* () {
     yield this._load();
     return Simulators._simulators;
   }),
 
   /**
    * List all installed simulator addons.
    *
    * @return Promised addon list.
--- a/devtools/client/webide/modules/tab-store.js
+++ b/devtools/client/webide/modules/tab-store.js
@@ -9,17 +9,17 @@ const EventEmitter = require("devtools/s
 const { Connection } = require("devtools/shared/client/connection-manager");
 const promise = require("promise");
 const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
 
 const _knownTabStores = new WeakMap();
 
 var TabStore;
 
-module.exports = TabStore = function(connection) {
+module.exports = TabStore = function (connection) {
   // If we already know about this connection,
   // let's re-use the existing store.
   if (_knownTabStores.has(connection)) {
     return _knownTabStores.get(connection);
   }
 
   _knownTabStores.set(connection, this);
 
@@ -36,36 +36,36 @@ module.exports = TabStore = function(con
   this._onTabListChanged = this._onTabListChanged.bind(this);
   this._onTabNavigated = this._onTabNavigated.bind(this);
   this._onStatusChanged();
   return this;
 };
 
 TabStore.prototype = {
 
-  destroy: function() {
+  destroy: function () {
     if (this._connection) {
       // While this.destroy is bound using .once() above, that event may not
       // have occurred when the TabStore client calls destroy, so we
       // manually remove it here.
       this._connection.off(Connection.Events.DESTROYED, this.destroy);
       this._connection.off(Connection.Events.STATUS_CHANGED, this._onStatusChanged);
       _knownTabStores.delete(this._connection);
       this._connection = null;
     }
   },
 
-  _resetStore: function() {
+  _resetStore: function () {
     this.response = null;
     this.tabs = [];
     this._selectedTab = null;
     this._selectedTabTargetPromise = null;
   },
 
-  _onStatusChanged: function() {
+  _onStatusChanged: function () {
     if (this._connection.status == Connection.Status.CONNECTED) {
       // Watch for changes to remote browser tabs
       this._connection.client.addListener("tabListChanged",
                                           this._onTabListChanged);
       this._connection.client.addListener("tabNavigated",
                                           this._onTabNavigated);
       this.listTabs();
     } else {
@@ -74,31 +74,31 @@ TabStore.prototype = {
                                                this._onTabListChanged);
         this._connection.client.removeListener("tabNavigated",
                                                this._onTabNavigated);
       }
       this._resetStore();
     }
   },
 
-  _onTabListChanged: function() {
+  _onTabListChanged: function () {
     this.listTabs().then(() => this.emit("tab-list"))
                    .catch(console.error);
   },
 
-  _onTabNavigated: function(e, { from, title, url }) {
+  _onTabNavigated: function (e, { from, title, url }) {
     if (!this._selectedTab || from !== this._selectedTab.actor) {
       return;
     }
     this._selectedTab.url = url;
     this._selectedTab.title = title;
     this.emit("navigate");
   },
 
-  listTabs: function() {
+  listTabs: function () {
     if (!this._connection || !this._connection.client) {
       return promise.reject(new Error("Can't listTabs, not connected."));
     }
     let deferred = promise.defer();
     this._connection.client.listTabs(response => {
       if (response.error) {
         this._connection.disconnect();
         deferred.reject(response.error);
@@ -131,36 +131,36 @@ TabStore.prototype = {
     this._selectedTab = tab;
     this._selectedTabTargetPromise = null;
     // Attach to the tab to follow navigation events
     if (this._selectedTab) {
       this.getTargetForTab();
     }
   },
 
-  _checkSelectedTab: function() {
+  _checkSelectedTab: function () {
     if (!this._selectedTab) {
       return;
     }
     let alive = this.tabs.some(tab => {
       return tab.actor === this._selectedTab.actor;
     });
     if (!alive) {
       this._selectedTab = null;
       this._selectedTabTargetPromise = null;
       this.emit("closed");
     }
   },
 
-  getTargetForTab: function() {
+  getTargetForTab: function () {
     if (this._selectedTabTargetPromise) {
       return this._selectedTabTargetPromise;
     }
     let store = this;
-    this._selectedTabTargetPromise = Task.spawn(function*() {
+    this._selectedTabTargetPromise = Task.spawn(function* () {
       // If you connect to a tab, then detach from it, the root actor may have
       // de-listed the actors that belong to the tab.  This breaks the toolbox
       // if you try to connect to the same tab again.  To work around this
       // issue, we force a "listTabs" request before connecting to a tab.
       yield store.listTabs();
       return TargetFactory.forRemoteTab({
         form: store._selectedTab,
         client: store._connection.client,
--- a/devtools/client/webide/modules/utils.js
+++ b/devtools/client/webide/modules/utils.js
@@ -2,51 +2,51 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const { Cc, Cu, Ci } = require("chrome");
 const { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 const Services = require("Services");
 const Strings = Services.strings.createBundle("chrome://devtools/locale/webide.properties");
 
-function doesFileExist (location) {
+function doesFileExist(location) {
   let file = new FileUtils.File(location);
   return file.exists();
 }
 exports.doesFileExist = doesFileExist;
 
-function _getFile (location, ...pickerParams) {
+function _getFile(location, ...pickerParams) {
   if (location) {
     return new FileUtils.File(location);
   }
   let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
   fp.init(...pickerParams);
   let res = fp.show();
   if (res == Ci.nsIFilePicker.returnCancel) {
     return null;
   }
   return fp.file;
 }
 
-function getCustomBinary (window, location) {
+function getCustomBinary(window, location) {
   return _getFile(location, window, Strings.GetStringFromName("selectCustomBinary_title"), Ci.nsIFilePicker.modeOpen);
 }
 exports.getCustomBinary = getCustomBinary;
 
-function getCustomProfile (window, location) {
+function getCustomProfile(window, location) {
   return _getFile(location, window, Strings.GetStringFromName("selectCustomProfile_title"), Ci.nsIFilePicker.modeGetFolder);
 }
 exports.getCustomProfile = getCustomProfile;
 
-function getPackagedDirectory (window, location) {
+function getPackagedDirectory(window, location) {
   return _getFile(location, window, Strings.GetStringFromName("importPackagedApp_title"), Ci.nsIFilePicker.modeGetFolder);
 }
 exports.getPackagedDirectory = getPackagedDirectory;
 
-function getHostedURL (window, location) {
+function getHostedURL(window, location) {
   let ret = { value: null };
 
   if (!location) {
     Services.prompt.prompt(window,
         Strings.GetStringFromName("importHostedApp_title"),
         Strings.GetStringFromName("importHostedApp_header"),
         ret, null, {});
     location = ret.value;
@@ -55,14 +55,14 @@ function getHostedURL (window, location)
   if (!location) {
     return null;
   }
 
   // Clean location string and add "http://" if missing
   location = location.trim();
   try { // Will fail if no scheme
     Services.io.extractScheme(location);
-  } catch(e) {
+  } catch (e) {
     location = "http://" + location;
   }
   return location;
 }
 exports.getHostedURL = getHostedURL;
--- a/devtools/client/webide/test/browser_tabs.js
+++ b/devtools/client/webide/test/browser_tabs.js
@@ -3,17 +3,17 @@
 "use strict";
 
 const TEST_URI = "http://example.com/browser/devtools/client/webide/test/doc_tabs.html";
 
 function test() {
   waitForExplicitFinish();
   requestCompleteLog();
 
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     const { DebuggerServer } = require("devtools/server/main");
 
     // Since we test the connections set below, destroy the server in case it
     // was left open.
     DebuggerServer.destroy();
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
 
@@ -70,17 +70,17 @@ function connectToLocal(win, docRuntime)
   win.AppManager.connection.once(
       win.Connection.Events.CONNECTED,
       () => deferred.resolve());
   docRuntime.querySelectorAll(".runtime-panel-item-other")[1].click();
   return deferred.promise;
 }
 
 function selectTabProject(win, docProject) {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     yield waitForUpdate(win, "runtime-targets");
     let tabsNode = docProject.querySelector("#project-panel-tabs");
     let tabNode = tabsNode.querySelectorAll(".panel-item")[1];
     let project = waitForUpdate(win, "project");
     tabNode.click();
     yield project;
   });
 }
--- a/devtools/client/webide/test/browser_widget.js
+++ b/devtools/client/webide/test/browser_widget.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 function test() {
   waitForExplicitFinish();
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let win = yield openWebIDE();
     ok(document.querySelector("#webide-button"), "Found WebIDE button");
     Services.prefs.setBoolPref("devtools.webide.widget.enabled", false);
     ok(!document.querySelector("#webide-button"), "WebIDE button uninstalled");
     yield closeWebIDE(win);
     Services.prefs.clearUserPref("devtools.webide.widget.enabled");
   }).then(finish, handleError);
 }
--- a/devtools/client/webide/test/device_front_shared.js
+++ b/devtools/client/webide/test/device_front_shared.js
@@ -104,51 +104,51 @@ function addNewFieldInteger() {
     is(newField.type, "number", "Custom type is a number");
     is(newField.value, "1", "Custom integer value is correct");
   }
   ok(found, "Found new integer field line");
   is(customName.value, "", "Custom integer name reset");
   is(customValue.value, "", "Custom integer value reset");
 }
 
-var editFieldInteger = Task.async(function*() {
+var editFieldInteger = Task.async(function* () {
   // Edit existing custom integer preference
   newField.value = 3;
   newField.click();
   is(newField.value, "3", "Custom integer existing value is correct");
 
   // Reset a custom field
   let resetBtn = doc.querySelector("#btn-new-integer-field");
   resetBtn.click();
 
   try {
     yield iframe.contentWindow.configView._defaultField;
-  } catch(err) {
+  } catch (err) {
     let fieldRow = doc.querySelector("#row-new-integer-field");
     if (!fieldRow) {
       found = false;
     }
     ok(!found, "Custom field removed");
   }
 });
 
-var resetExistingField = Task.async(function*(id) {
+var resetExistingField = Task.async(function* (id) {
   let existing = doc.getElementById(id);
   existing.click();
   is(existing.checked, true, "Existing boolean value is correct");
   resetBtn = doc.getElementById("btn-" + id);
   resetBtn.click();
 
   yield iframe.contentWindow.configView._defaultField;
 
   ok(resetBtn.classList.contains("hide"), true, "Reset button hidden");
   is(existing.checked, true, "Existing field reset");
 });
 
-var resetNewField = Task.async(function*(id) {
+var resetNewField = Task.async(function* (id) {
   let custom = doc.getElementById(id);
   custom.click();
   is(custom.value, "test", "New string value is correct");
   resetBtn = doc.getElementById("btn-" + id);
   resetBtn.click();
 
   yield iframe.contentWindow.configView._defaultField;
 
--- a/devtools/server/actors/actor-registry.js
+++ b/devtools/server/actors/actor-registry.js
@@ -85,17 +85,17 @@ function request(uri) {
       uri = Services.io.newURI(uri, null, null);
     } catch (e) {
       reject(e);
     }
 
     NetUtil.asyncFetch({
       uri,
       loadUsingSystemPrincipal: true,
-     }, (stream, status, req) => {
+    }, (stream, status, req) => {
       if (!components.isSuccessCode(status)) {
         reject(new Error("Request failed with status code = "
                          + status
                          + " after NetUtil.asyncFetch for url = "
                          + uri));
         return;
       }
 
--- a/devtools/server/actors/addon.js
+++ b/devtools/server/actors/addon.js
@@ -158,28 +158,28 @@ BrowserAddonActor.prototype = {
 
   onReload: function BAA_onReload() {
     return this._addon.reload()
       .then(() => {
         return {}; // send an empty response
       });
   },
 
-  preNest: function() {
+  preNest: function () {
     let e = Services.wm.getEnumerator(null);
     while (e.hasMoreElements()) {
       let win = e.getNext();
       let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
                            .getInterface(Ci.nsIDOMWindowUtils);
       windowUtils.suppressEventHandling(true);
       windowUtils.suspendTimeouts();
     }
   },
 
-  postNest: function() {
+  postNest: function () {
     let e = Services.wm.getEnumerator(null);
     while (e.hasMoreElements()) {
       let win = e.getNext();
       let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
                            .getInterface(Ci.nsIDOMWindowUtils);
       windowUtils.resumeTimeouts();
       windowUtils.suppressEventHandling(false);
     }
@@ -227,17 +227,17 @@ BrowserAddonActor.prototype = {
     return false;
   },
 
   /**
    * Override the eligibility check for scripts and sources to make
    * sure every script and source with a URL is stored when debugging
    * add-ons.
    */
-  _allowSource: function(aSource) {
+  _allowSource: function (aSource) {
     // XPIProvider.jsm evals some code in every add-on's bootstrap.js. Hide it.
     if (aSource.url === "resource://gre/modules/addons/XPIProvider.jsm") {
       return false;
     }
 
     return true;
   },
 
--- a/devtools/server/actors/animation.js
+++ b/devtools/server/actors/animation.js
@@ -62,17 +62,17 @@ var AnimationPlayerActor = ActorClass({
       state: Arg(0, "json")
     }
   },
 
   /**
    * @param {AnimationsActor} The main AnimationsActor instance
    * @param {AnimationPlayer} The player object returned by getAnimationPlayers
    */
-  initialize: function(animationsActor, player) {
+  initialize: function (animationsActor, player) {
     Actor.prototype.initialize.call(this, animationsActor.conn);
 
     this.onAnimationMutation = this.onAnimationMutation.bind(this);
 
     this.walker = animationsActor.walker;
     this.player = player;
 
     // Listen to animation mutations on the node to alert the front when the
@@ -85,17 +85,17 @@ var AnimationPlayerActor = ActorClass({
     if (this.isPseudoElement) {
       this.observer.observe(this.node.parentElement,
                             {animations: true, subtree: true});
     } else {
       this.observer.observe(this.node, {animations: true});
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     // Only try to disconnect the observer if it's not already dead (i.e. if the
     // container view hasn't navigated since).
     if (this.observer && !Cu.isDeadWrapper(this.observer)) {
       this.observer.disconnect();
     }
     this.player = this.observer = this.walker = null;
 
     Actor.prototype.destroy.call(this);
@@ -136,51 +136,51 @@ var AnimationPlayerActor = ActorClass({
   get window() {
     return this.node.ownerDocument.defaultView;
   },
 
   /**
    * Release the actor, when it isn't needed anymore.
    * Protocol.js uses this release method to call the destroy method.
    */
-  release: method(function() {}, {release: true}),
+  release: method(function () {}, {release: true}),
 
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let data = this.getCurrentState();
     data.actor = this.actorID;
 
     // If we know the WalkerActor, and if the animated node is known by it, then
     // return its corresponding NodeActor ID too.
     if (this.walker && this.walker.hasNode(this.node)) {
       data.animationTargetNodeActorID = this.walker.getNode(this.node).actorID;
     }
 
     return data;
   },
 
-  isCssAnimation: function(player = this.player) {
+  isCssAnimation: function (player = this.player) {
     return player instanceof this.window.CSSAnimation;
   },
 
-  isCssTransition: function(player = this.player) {
+  isCssTransition: function (player = this.player) {
     return player instanceof this.window.CSSTransition;
   },
 
-  isScriptAnimation: function(player = this.player) {
+  isScriptAnimation: function (player = this.player) {
     return player instanceof this.window.Animation && !(
       player instanceof this.window.CSSAnimation ||
       player instanceof this.window.CSSTransition
     );
   },
 
-  getType: function() {
+  getType: function () {
     if (this.isCssAnimation()) {
       return ANIMATION_TYPES.CSS_ANIMATION;
     } else if (this.isCssTransition()) {
       return ANIMATION_TYPES.CSS_TRANSITION;
     } else if (this.isScriptAnimation()) {
       return ANIMATION_TYPES.SCRIPT_ANIMATION;
     }
 
@@ -188,88 +188,88 @@ var AnimationPlayerActor = ActorClass({
   },
 
   /**
    * Get the name of this animation. This can be either the animation.id
    * property if it was set, or the keyframe rule name or the transition
    * property.
    * @return {String}
    */
-  getName: function() {
+  getName: function () {
     if (this.player.id) {
       return this.player.id;
     } else if (this.isCssAnimation()) {
       return this.player.animationName;
     } else if (this.isCssTransition()) {
       return this.player.transitionProperty;
     }
 
     return "";
   },
 
   /**
    * Get the animation duration from this player, in milliseconds.
    * @return {Number}
    */
-  getDuration: function() {
+  getDuration: function () {
     return this.player.effect.getComputedTiming().duration;
   },
 
   /**
    * Get the animation delay from this player, in milliseconds.
    * @return {Number}
    */
-  getDelay: function() {
+  getDelay: function () {
     return this.player.effect.getComputedTiming().delay;
   },
 
   /**
    * Get the animation endDelay from this player, in milliseconds.
    * @return {Number}
    */
-  getEndDelay: function() {
+  getEndDelay: function () {
     return this.player.effect.getComputedTiming().endDelay;
   },
 
   /**
    * Get the animation iteration count for this player. That is, how many times
    * is the animation scheduled to run.
    * @return {Number} The number of iterations, or null if the animation repeats
    * infinitely.
    */
-  getIterationCount: function() {
+  getIterationCount: function () {
     let iterations = this.player.effect.getComputedTiming().iterations;
     return iterations === "Infinity" ? null : iterations;
   },
 
   /**
    * Get the animation iterationStart from this player, in ratio.
    * That is offset of starting position of the animation.
    * @return {Number}
    */
-  getIterationStart: function() {
+  getIterationStart: function () {
     return this.player.effect.getComputedTiming().iterationStart;
   },
 
-  getPropertiesCompositorStatus: function() {
+  getPropertiesCompositorStatus: function () {
     let properties = this.player.effect.getProperties();
     return properties.map(prop => {
       return {
         property: prop.property,
         runningOnCompositor: prop.runningOnCompositor,
         warning: prop.warning
       };
     });
   },
 
   /**
    * Return the current start of the Animation.
    * @return {Object}
    */
-  getState: function() {
+  getState: function () {
     // Remember the startTime each time getState is called, it may be useful
     // when animations get paused. As in, when an animation gets paused, its
     // startTime goes back to null, but the front-end might still be interested
     // in knowing what the previous startTime was. So everytime it is set,
     // remember it and send it along with the newState.
     if (this.player.startTime) {
       this.previousStartTime = this.player.startTime;
     }
@@ -308,17 +308,17 @@ var AnimationPlayerActor = ActorClass({
    * Get the current state of the AnimationPlayer (currentTime, playState, ...).
    * Note that the initial state is returned as the form of this actor when it
    * is initialized.
    * This protocol method only returns a trimed down version of this state in
    * case some properties haven't changed since last time (since the front can
    * reconstruct those). If you want the full state, use the getState method.
    * @return {Object}
    */
-  getCurrentState: method(function() {
+  getCurrentState: method(function () {
     let newState = this.getState();
 
     // If we've saved a state before, compare and only send what has changed.
     // It's expected of the front to also save old states to re-construct the
     // full state when an incomplete one is received.
     // This is to minimize protocol traffic.
     let sentState = {};
     if (this.currentState) {
@@ -340,17 +340,17 @@ var AnimationPlayerActor = ActorClass({
       data: RetVal("json")
     }
   }),
 
   /**
    * Executed when the current animation changes, used to emit the new state
    * the the front.
    */
-  onAnimationMutation: function(mutations) {
+  onAnimationMutation: function (mutations) {
     let isCurrentAnimation = animation => animation === this.player;
     let hasCurrentAnimation = animations => animations.some(isCurrentAnimation);
     let hasChanged = false;
 
     for (let {removedAnimations, changedAnimations} of mutations) {
       if (hasCurrentAnimation(removedAnimations)) {
         // Reset the local copy of the state on removal, since the animation can
         // be kept on the client and re-added, its state needs to be sent in
@@ -375,29 +375,29 @@ var AnimationPlayerActor = ActorClass({
     if (hasChanged) {
       events.emit(this, "changed", this.getCurrentState());
     }
   },
 
   /**
    * Pause the player.
    */
-  pause: method(function() {
+  pause: method(function () {
     this.player.pause();
     return this.player.ready;
   }, {
     request: {},
     response: {}
   }),
 
   /**
    * Play the player.
    * This method only returns when the animation has left its pending state.
    */
-  play: method(function() {
+  play: method(function () {
     this.player.play();
     return this.player.ready;
   }, {
     request: {},
     response: {}
   }),
 
   /**
@@ -406,97 +406,97 @@ var AnimationPlayerActor = ActorClass({
    * When an animation is created/paused then played, there's a short time
    * during which its playState is pending, before being set to running.
    *
    * If you either created a new animation using the Web Animations API or
    * paused/played an existing one, and then want to access the playState, you
    * might be interested to call this method.
    * This is especially important for tests.
    */
-  ready: method(function() {
+  ready: method(function () {
     return this.player.ready;
   }, {
     request: {},
     response: {}
   }),
 
   /**
    * Set the current time of the animation player.
    */
-  setCurrentTime: method(function(currentTime) {
+  setCurrentTime: method(function (currentTime) {
     this.player.currentTime = currentTime * this.player.playbackRate;
   }, {
     request: {
       currentTime: Arg(0, "number")
     },
     response: {}
   }),
 
   /**
    * Set the playback rate of the animation player.
    */
-  setPlaybackRate: method(function(playbackRate) {
+  setPlaybackRate: method(function (playbackRate) {
     this.player.playbackRate = playbackRate;
   }, {
     request: {
       currentTime: Arg(0, "number")
     },
     response: {}
   }),
 
   /**
    * Get data about the keyframes of this animation player.
    * @return {Object} Returns a list of frames, each frame containing the list
    * animated properties as well as the frame's offset.
    */
-  getFrames: method(function() {
+  getFrames: method(function () {
     return this.player.effect.getKeyframes();
   }, {
     request: {},
     response: {
       frames: RetVal("json")
     }
   }),
 
   /**
    * Get data about the animated properties of this animation player.
    * @return {Array} Returns a list of animated properties.
    * Each property contains a list of values and their offsets
    */
-  getProperties: method(function() {
+  getProperties: method(function () {
     return this.player.effect.getProperties().map(property => {
       return {name: property.property, values: property.values};
     });
   }, {
     request: {},
     response: {
       properties: RetVal("array:json")
     }
   })
 });
 
 exports.AnimationPlayerActor = AnimationPlayerActor;
 
 var AnimationPlayerFront = FrontClass(AnimationPlayerActor, {
-  initialize: function(conn, form, detail, ctx) {
+  initialize: function (conn, form, detail, ctx) {
     Front.prototype.initialize.call(this, conn, form, detail, ctx);
 
     this.state = {};
   },
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       this.actorID = form;
       return;
     }
     this._form = form;
     this.state = this.initialState;
   },
 
-  destroy: function() {
+  destroy: function () {
     Front.prototype.destroy.call(this);
   },
 
   /**
    * If the AnimationsActor was given a reference to the WalkerActor previously
    * then calling this getter will return the animation target NodeFront.
    */
   get animationTargetNodeFront() {
@@ -530,48 +530,48 @@ var AnimationPlayerFront = FrontClass(An
       documentCurrentTime: this._form.documentCurrentTime
     };
   },
 
   /**
    * Executed when the AnimationPlayerActor emits a "changed" event. Used to
    * update the local knowledge of the state.
    */
-  onChanged: protocol.preEvent("changed", function(partialState) {
+  onChanged: protocol.preEvent("changed", function (partialState) {
     let {state} = this.reconstructState(partialState);
     this.state = state;
   }),
 
   /**
    * Refresh the current state of this animation on the client from information
    * found on the server. Doesn't return anything, just stores the new state.
    */
-  refreshState: Task.async(function*() {
+  refreshState: Task.async(function* () {
     let data = yield this.getCurrentState();
     if (this.currentStateHasChanged) {
       this.state = data;
     }
   }),
 
   /**
    * getCurrentState interceptor re-constructs incomplete states since the actor
    * only sends the values that have changed.
    */
-  getCurrentState: protocol.custom(function() {
+  getCurrentState: protocol.custom(function () {
     this.currentStateHasChanged = false;
     return this._getCurrentState().then(partialData => {
       let {state, hasChanged} = this.reconstructState(partialData);
       this.currentStateHasChanged = hasChanged;
       return state;
     });
   }, {
     impl: "_getCurrentState"
   }),
 
-  reconstructState: function(data) {
+  reconstructState: function (data) {
     let hasChanged = false;
 
     for (let key in this.state) {
       if (typeof data[key] === "undefined") {
         data[key] = this.state[key];
       } else if (data[key] !== this.state[key]) {
         hasChanged = true;
       }
@@ -600,55 +600,55 @@ var AnimationsActor = exports.Animations
 
   events: {
     "mutations": {
       type: "mutations",
       changes: Arg(0, "array:animationMutationChange")
     }
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
 
     this.onWillNavigate = this.onWillNavigate.bind(this);
     this.onNavigate = this.onNavigate.bind(this);
     this.onAnimationMutation = this.onAnimationMutation.bind(this);
 
     this.allAnimationsPaused = false;
     events.on(this.tabActor, "will-navigate", this.onWillNavigate);
     events.on(this.tabActor, "navigate", this.onNavigate);
   },
 
-  destroy: function() {
+  destroy: function () {
     Actor.prototype.destroy.call(this);
     events.off(this.tabActor, "will-navigate", this.onWillNavigate);
     events.off(this.tabActor, "navigate", this.onNavigate);
 
     this.stopAnimationPlayerUpdates();
     this.tabActor = this.observer = this.actors = this.walker = null;
   },
 
   /**
    * Since AnimationsActor doesn't have a protocol.js parent actor that takes
    * care of its lifetime, implementing disconnect is required to cleanup.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
   /**
    * Clients can optionally call this with a reference to their WalkerActor.
    * If they do, then AnimationPlayerActor's forms are going to also include
    * NodeActor IDs when the corresponding NodeActors do exist.
    * This, in turns, is helpful for clients to avoid having to go back once more
    * to the server to get a NodeActor for a particular animation.
    * @param {WalkerActor} walker
    */
-  setWalkerActor: method(function(walker) {
+  setWalkerActor: method(function (walker) {
     this.walker = walker;
   }, {
     request: {
       walker: Arg(0, "domwalker")
     },
     response: {}
   }),
 
@@ -657,17 +657,17 @@ var AnimationsActor = exports.Animations
    * animations on a node and its descendants.
    * Note that calling this method a second time will destroy all previously
    * retrieved AnimationPlayerActors. Indeed, the lifecycle of these actors
    * is managed here on the server and tied to getAnimationPlayersForNode
    * being called.
    * @param {NodeActor} nodeActor The NodeActor as defined in
    * /devtools/server/actors/inspector
    */
-  getAnimationPlayersForNode: method(function(nodeActor) {
+  getAnimationPlayersForNode: method(function (nodeActor) {
     let animations = nodeActor.rawNode.getAnimations({subtree: true});
 
     // Destroy previously stored actors
     if (this.actors) {
       this.actors.forEach(actor => actor.destroy());
     }
     this.actors = [];
 
@@ -693,17 +693,17 @@ var AnimationsActor = exports.Animations
     request: {
       actorID: Arg(0, "domnode")
     },
     response: {
       players: RetVal("array:animationplayer")
     }
   }),
 
-  onAnimationMutation: function(mutations) {
+  onAnimationMutation: function (mutations) {
     let eventData = [];
     let readyPromises = [];
 
     for (let {addedAnimations, removedAnimations} of mutations) {
       for (let player of removedAnimations) {
         // Note that animations are reported as removed either when they are
         // actually removed from the node (e.g. css class removed) or when they
         // are finished and don't have forwards animation-fill-mode.
@@ -771,17 +771,17 @@ var AnimationsActor = exports.Animations
     }
   },
 
   /**
    * After the client has called getAnimationPlayersForNode for a given DOM
    * node, the actor starts sending animation mutations for this node. If the
    * client doesn't want this to happen anymore, it should call this method.
    */
-  stopAnimationPlayerUpdates: method(function() {
+  stopAnimationPlayerUpdates: method(function () {
     if (this.observer && !Cu.isDeadWrapper(this.observer)) {
       this.observer.disconnect();
     }
   }, {
     request: {},
     response: {}
   }),
 
@@ -789,44 +789,44 @@ var AnimationsActor = exports.Animations
    * Iterates through all nodes below a given rootNode (optionally also in
    * nested frames) and finds all existing animation players.
    * @param {DOMNode} rootNode The root node to start iterating at. Animation
    * players will *not* be reported for this node.
    * @param {Boolean} traverseFrames Whether we should iterate through nested
    * frames too.
    * @return {Array} An array of AnimationPlayer objects.
    */
-  getAllAnimations: function(rootNode, traverseFrames) {
+  getAllAnimations: function (rootNode, traverseFrames) {
     if (!traverseFrames) {
       return rootNode.getAnimations({subtree: true});
     }
 
     let animations = [];
     for (let {document} of this.tabActor.windows) {
       animations = [...animations, ...document.getAnimations({subtree: true})];
     }
     return animations;
   },
 
-  onWillNavigate: function({isTopLevel}) {
+  onWillNavigate: function ({isTopLevel}) {
     if (isTopLevel) {
       this.stopAnimationPlayerUpdates();
     }
   },
 
-  onNavigate: function({isTopLevel}) {
+  onNavigate: function ({isTopLevel}) {
     if (isTopLevel) {
       this.allAnimationsPaused = false;
     }
   },
 
   /**
    * Pause all animations in the current tabActor's frames.
    */
-  pauseAll: method(function() {
+  pauseAll: method(function () {
     let readyPromises = [];
     // Until the WebAnimations API provides a way to play/pause via the document
     // timeline, we have to iterate through the whole DOM to find all players.
     for (let player of
          this.getAllAnimations(this.tabActor.window.document, true)) {
       player.pause();
       readyPromises.push(player.ready);
     }
@@ -836,49 +836,49 @@ var AnimationsActor = exports.Animations
     request: {},
     response: {}
   }),
 
   /**
    * Play all animations in the current tabActor's frames.
    * This method only returns when animations have left their pending states.
    */
-  playAll: method(function() {
+  playAll: method(function () {
     let readyPromises = [];
     // Until the WebAnimations API provides a way to play/pause via the document
     // timeline, we have to iterate through the whole DOM to find all players.
     for (let player of
          this.getAllAnimations(this.tabActor.window.document, true)) {
       player.play();
       readyPromises.push(player.ready);
     }
     this.allAnimationsPaused = false;
     return promise.all(readyPromises);
   }, {
     request: {},
     response: {}
   }),
 
-  toggleAll: method(function() {
+  toggleAll: method(function () {
     if (this.allAnimationsPaused) {
       return this.playAll();
     }
     return this.pauseAll();
   }, {
     request: {},
     response: {}
   }),
 
   /**
    * Toggle (play/pause) several animations at the same time.
    * @param {Array} players A list of AnimationPlayerActor objects.
    * @param {Boolean} shouldPause If set to true, the players will be paused,
    * otherwise they will be played.
    */
-  toggleSeveral: method(function(players, shouldPause) {
+  toggleSeveral: method(function (players, shouldPause) {
     return promise.all(players.map(player => {
       return shouldPause ? player.pause() : player.play();
     }));
   }, {
     request: {
       players: Arg(0, "array:animationplayer"),
       shouldPause: Arg(1, "boolean")
     },
@@ -886,17 +886,17 @@ var AnimationsActor = exports.Animations
   }),
 
   /**
    * Set the current time of several animations at the same time.
    * @param {Array} players A list of AnimationPlayerActor.
    * @param {Number} time The new currentTime.
    * @param {Boolean} shouldPause Should the players be paused too.
    */
-  setCurrentTimes: method(function(players, time, shouldPause) {
+  setCurrentTimes: method(function (players, time, shouldPause) {
     return promise.all(players.map(player => {
       let pause = shouldPause ? player.pause() : promise.resolve();
       return pause.then(() => player.setCurrentTime(time));
     }));
   }, {
     request: {
       players: Arg(0, "array:animationplayer"),
       time: Arg(1, "number"),
@@ -905,31 +905,31 @@ var AnimationsActor = exports.Animations
     response: {}
   }),
 
   /**
    * Set the playback rate of several animations at the same time.
    * @param {Array} players A list of AnimationPlayerActor.
    * @param {Number} rate The new rate.
    */
-  setPlaybackRates: method(function(players, rate) {
+  setPlaybackRates: method(function (players, rate) {
     for (let player of players) {
       player.setPlaybackRate(rate);
     }
   }, {
     request: {
       players: Arg(0, "array:animationplayer"),
       rate: Arg(1, "number")
     },
     response: {}
   })
 });
 
 var AnimationsFront = exports.AnimationsFront = FrontClass(AnimationsActor, {
-  initialize: function(client, {animationsActor}) {
+  initialize: function (client, {animationsActor}) {
     Front.prototype.initialize.call(this, client, {actor: animationsActor});
     this.manage(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     Front.prototype.destroy.call(this);
   }
 });
--- a/devtools/server/actors/breakpoint.js
+++ b/devtools/server/actors/breakpoint.js
@@ -39,51 +39,51 @@ let BreakpointActor = ActorClass({
   /**
    * Create a Breakpoint actor.
    *
    * @param ThreadActor threadActor
    *        The parent thread actor that contains this breakpoint.
    * @param OriginalLocation originalLocation
    *        The original location of the breakpoint.
    */
-  initialize: function(threadActor, originalLocation) {
+  initialize: function (threadActor, originalLocation) {
     // The set of Debugger.Script instances that this breakpoint has been set
     // upon.
     this.scripts = new Set();
 
     this.threadActor = threadActor;
     this.originalLocation = originalLocation;
     this.condition = null;
     this.isPending = true;
   },
 
-  disconnect: function() {
+  disconnect: function () {
     this.removeScripts();
   },
 
-  hasScript: function(script) {
+  hasScript: function (script) {
     return this.scripts.has(script);
   },
 
   /**
    * Called when this same breakpoint is added to another Debugger.Script
    * instance.
    *
    * @param script Debugger.Script
    *        The new source script on which the breakpoint has been set.
    */
-  addScript: function(script) {
+  addScript: function (script) {
     this.scripts.add(script);
     this.isPending = false;
   },
 
   /**
    * Remove the breakpoints from associated scripts and clear the script cache.
    */
-  removeScripts: function() {
+  removeScripts: function () {
     for (let script of this.scripts) {
       script.clearBreakpoint(this);
     }
     this.scripts.clear();
   },
 
   /**
    * Check if this breakpoint has a condition that doesn't error and
@@ -94,17 +94,17 @@ let BreakpointActor = ActorClass({
    * @returns Object
    *          - result: boolean|undefined
    *            True when the conditional breakpoint should trigger a pause,
    *            false otherwise. If the condition evaluation failed/killed,
    *            `result` will be `undefined`.
    *          - message: string
    *            If the condition throws, this is the thrown message.
    */
-  checkCondition: function(frame) {
+  checkCondition: function (frame) {
     let completion = frame.eval(this.condition);
     if (completion) {
       if (completion.throw) {
         // The evaluation failed and threw
         let message = "Unknown exception";
         try {
           if (completion.throw.getOwnPropertyDescriptor) {
             message = completion.throw.getOwnPropertyDescriptor("message")
@@ -151,17 +151,17 @@ let BreakpointActor = ActorClass({
 
     if (this.threadActor._hiddenBreakpoints.has(this.actorID)) {
       reason.type = "pauseOnDOMEvents";
     } else if (!this.condition) {
       reason.type = "breakpoint";
       // TODO: add the rest of the breakpoints on that line (bug 676602).
       reason.actors = [ this.actorID ];
     } else {
-      let { result, message } = this.checkCondition(frame)
+      let { result, message } = this.checkCondition(frame);
 
       if (result) {
         if (!message) {
           reason.type = "breakpoint";
         } else {
           reason.type = "breakpointConditionThrown";
           reason.message = message;
         }
@@ -171,17 +171,17 @@ let BreakpointActor = ActorClass({
       }
     }
     return this.threadActor._pauseAndRespond(frame, reason);
   },
 
   /**
    * Handle a protocol request to remove this breakpoint.
    */
-  delete: method(function() {
+  delete: method(function () {
     // Remove from the breakpoint store.
     if (this.originalLocation) {
       this.threadActor.breakpointActorMap.deleteActor(this.originalLocation);
     }
     this.threadActor.threadLifetimePool.removeActor(this);
     // Remove the actual breakpoint from the associated scripts.
     this.removeScripts();
   })
--- a/devtools/server/actors/call-watcher.js
+++ b/devtools/server/actors/call-watcher.js
@@ -60,17 +60,17 @@ var FunctionCallActor = protocol.ActorCl
    * @param array args
    *        The called function's arguments.
    * @param any result
    *        The value returned by the function call.
    * @param boolean holdWeak
    *        Determines whether or not FunctionCallActor stores a weak reference
    *        to the underlying objects.
    */
-  initialize: function(conn, [window, global, caller, type, name, stack, timestamp, args, result], holdWeak) {
+  initialize: function (conn, [window, global, caller, type, name, stack, timestamp, args, result], holdWeak) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     this.details = {
       global: global,
       type: type,
       name: name,
       stack: stack,
       timestamp: timestamp
@@ -112,17 +112,17 @@ var FunctionCallActor = protocol.ActorCl
       result: this._generateStringPreview(result)
     };
   },
 
   /**
    * Customize the marshalling of this actor to provide some generic information
    * directly on the Front instance.
    */
-  form: function() {
+  form: function () {
     return {
       actor: this.actorID,
       type: this.details.type,
       name: this.details.name,
       file: this.details.stack[0].file,
       line: this.details.stack[0].line,
       timestamp: this.details.timestamp,
       callerPreview: this.details.previews.caller,
@@ -130,23 +130,23 @@ var FunctionCallActor = protocol.ActorCl
       resultPreview: this.details.previews.result
     };
   },
 
   /**
    * Gets more information about this function call, which is not necessarily
    * available on the Front instance.
    */
-  getDetails: method(function() {
+  getDetails: method(function () {
     let { type, name, stack, timestamp } = this.details;
 
     // Since not all calls on the stack have corresponding owner files (e.g.
     // callbacks of a requestAnimationFrame etc.), there's no benefit in
     // returning them, as the user can't jump to the Debugger from them.
-    for (let i = stack.length - 1;;) {
+    for (let i = stack.length - 1; ;) {
       if (stack[i].file) {
         break;
       }
       stack.pop();
       i--;
     }
 
     // XXX: Use grips for objects and serialize them properly, in order
@@ -165,17 +165,17 @@ var FunctionCallActor = protocol.ActorCl
    * Serializes the arguments so that they can be easily be transferred
    * as a string, but still be useful when displayed in a potential UI.
    *
    * @param array args
    *        The source arguments.
    * @return string
    *         The arguments as a string.
    */
-  _generateArgsPreview: function(args) {
+  _generateArgsPreview: function (args) {
     let { global, name, caller } = this.details;
 
     // Get method signature to determine if there are any enums
     // used in this method.
     let methodSignatureEnums;
 
     let knownGlobal = CallWatcherFront.KNOWN_METHODS[global];
     if (knownGlobal) {
@@ -219,17 +219,17 @@ var FunctionCallActor = protocol.ActorCl
    * Serializes the data so that it can be easily be transferred
    * as a string, but still be useful when displayed in a potential UI.
    *
    * @param object data
    *        The source data.
    * @return string
    *         The arguments as a string.
    */
-  _generateStringPreview: function(data) {
+  _generateStringPreview: function (data) {
     // XXX: Bug 978960.
     if (data === undefined) {
       return "undefined";
     }
     if (data === null) {
       return "null";
     }
     if (typeof data == "function") {
@@ -241,25 +241,25 @@ var FunctionCallActor = protocol.ActorCl
     return data + "";
   }
 });
 
 /**
  * The corresponding Front object for the FunctionCallActor.
  */
 var FunctionCallFront = protocol.FrontClass(FunctionCallActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
   },
 
   /**
    * Adds some generic information directly to this instance,
    * to avoid extra roundtrips.
    */
-  form: function(form) {
+  form: function (form) {
     this.actorID = form.actor;
     this.type = form.type;
     this.name = form.name;
     this.file = form.file;
     this.line = form.line;
     this.timestamp = form.timestamp;
     this.callerPreview = form.callerPreview;
     this.argsPreview = form.argsPreview;
@@ -267,24 +267,24 @@ var FunctionCallFront = protocol.FrontCl
   }
 });
 
 /**
  * This actor observes function calls on certain objects or globals.
  */
 var CallWatcherActor = exports.CallWatcherActor = protocol.ActorClass({
   typeName: "call-watcher",
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
     this._onGlobalCreated = this._onGlobalCreated.bind(this);
     this._onGlobalDestroyed = this._onGlobalDestroyed.bind(this);
     this._onContentFunctionCall = this._onContentFunctionCall.bind(this);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
   events: {
     /**
      * Events emitted when the `onCall` function isn't provided.
      */
@@ -301,17 +301,17 @@ var CallWatcherActor = exports.CallWatch
    */
   onCall: null,
 
   /**
    * Starts waiting for the current tab actor's document global to be
    * created, in order to instrument the specified objects and become
    * aware of everything the content does with them.
    */
-  setup: method(function({ tracedGlobals, tracedFunctions, startRecording, performReload, holdWeak, storeCalls }) {
+  setup: method(function ({ tracedGlobals, tracedFunctions, startRecording, performReload, holdWeak, storeCalls }) {
     if (this._initialized) {
       return;
     }
     this._initialized = true;
     this._timestampEpoch = 0;
 
     this._functionCalls = [];
     this._tracedGlobals = tracedGlobals || [];
@@ -340,17 +340,17 @@ var CallWatcherActor = exports.CallWatch
     oneway: true
   }),
 
   /**
    * Stops listening for document global changes and puts this actor
    * to hibernation. This method is called automatically just before the
    * actor is destroyed.
    */
-  finalize: method(function() {
+  finalize: method(function () {
     if (!this._initialized) {
       return;
     }
     this._initialized = false;
     this._finalized = true;
 
     off(this.tabActor, "window-ready", this._onGlobalCreated);
     off(this.tabActor, "window-destroyed", this._onGlobalDestroyed);
@@ -359,58 +359,58 @@ var CallWatcherActor = exports.CallWatch
     this._tracedFunctions = null;
   }, {
     oneway: true
   }),
 
   /**
    * Returns whether the instrumented function calls are currently recorded.
    */
-  isRecording: method(function() {
+  isRecording: method(function () {
     return this._recording;
   }, {
     response: RetVal("boolean")
   }),
 
   /**
    * Initialize the timestamp epoch used to offset function call timestamps.
    */
-  initTimestampEpoch: method(function() {
+  initTimestampEpoch: method(function () {
     this._timestampEpoch = this.tabActor.window.performance.now();
   }),
 
   /**
    * Starts recording function calls.
    */
-  resumeRecording: method(function() {
+  resumeRecording: method(function () {
     this._recording = true;
   }),
 
   /**
    * Stops recording function calls.
    */
-  pauseRecording: method(function() {
+  pauseRecording: method(function () {
     this._recording = false;
     return this._functionCalls;
   }, {
     response: { calls: RetVal("array:function-call") }
   }),
 
   /**
    * Erases all the recorded function calls.
    * Calling `resumeRecording` or `pauseRecording` does not erase history.
    */
-  eraseRecording: method(function() {
+  eraseRecording: method(function () {
     this._functionCalls = [];
   }),
 
   /**
    * Invoked whenever the current tab actor's document global is created.
    */
-  _onGlobalCreated: function({window, id, isTopLevel}) {
+  _onGlobalCreated: function ({window, id, isTopLevel}) {
     // TODO: bug 981748, support more than just the top-level documents.
     if (!isTopLevel) {
       return;
     }
 
     let self = this;
     this._tracedWindowId = id;
 
@@ -447,17 +447,17 @@ var CallWatcherActor = exports.CallWatch
     /**
      * Instruments a function on the specified target object.
      */
     function overrideFunction(global, target, name, descriptor, callback) {
       // Invoking .apply on an unxrayed content function doesn't work, because
       // the arguments array is inaccessible to it. Get Xrays back.
       let originalFunc = Cu.unwaiveXrays(target[name]);
 
-      Cu.exportFunction(function(...args) {
+      Cu.exportFunction(function (...args) {
         let result;
         try {
           result = Cu.waiveXrays(originalFunc.apply(this, args));
         } catch (e) {
           throw createContentError(e, unwrappedWindow);
         }
 
         if (self._recording) {
@@ -481,29 +481,29 @@ var CallWatcherActor = exports.CallWatch
      */
     function overrideAccessor(global, target, name, descriptor, callback) {
       // Invoking .apply on an unxrayed content function doesn't work, because
       // the arguments array is inaccessible to it. Get Xrays back.
       let originalGetter = Cu.unwaiveXrays(target.__lookupGetter__(name));
       let originalSetter = Cu.unwaiveXrays(target.__lookupSetter__(name));
 
       Object.defineProperty(target, name, {
-        get: function(...args) {
+        get: function (...args) {
           if (!originalGetter) return undefined;
           let result = Cu.waiveXrays(originalGetter.apply(this, args));
 
           if (self._recording) {
             let type = CallWatcherFront.GETTER_FUNCTION;
             let stack = getStack(name);
             let timestamp = self.tabActor.window.performance.now() - self._timestampEpoch;
             callback(unwrappedWindow, global, this, type, name, stack, timestamp, args, result);
           }
           return result;
         },
-        set: function(...args) {
+        set: function (...args) {
           if (!originalSetter) return;
           originalSetter.apply(this, args);
 
           if (self._recording) {
             let type = CallWatcherFront.SETTER_FUNCTION;
             let stack = getStack(name);
             let timestamp = self.tabActor.window.performance.now() - self._timestampEpoch;
             callback(unwrappedWindow, global, this, type, name, stack, timestamp, args, undefined);
@@ -567,28 +567,28 @@ var CallWatcherActor = exports.CallWatch
 
       return calls;
     }
   },
 
   /**
    * Invoked whenever the current tab actor's inner window is destroyed.
    */
-  _onGlobalDestroyed: function({window, id, isTopLevel}) {
+  _onGlobalDestroyed: function ({window, id, isTopLevel}) {
     if (this._tracedWindowId == id) {
       this.pauseRecording();
       this.eraseRecording();
       this._timestampEpoch = 0;
     }
   },
 
   /**
    * Invoked whenever an instrumented function is called.
    */
-  _onContentFunctionCall: function(...details) {
+  _onContentFunctionCall: function (...details) {
     // If the consuming tool has finalized call-watcher, ignore the
     // still-instrumented calls.
     if (this._finalized) {
       return;
     }
 
     let functionCall = new FunctionCallActor(this.conn, details, this._holdWeak);
 
@@ -603,17 +603,17 @@ var CallWatcherActor = exports.CallWatch
     }
   }
 });
 
 /**
  * The corresponding Front object for the CallWatcherActor.
  */
 var CallWatcherFront = exports.CallWatcherFront = protocol.FrontClass(CallWatcherActor, {
-  initialize: function(client, { callWatcherActor }) {
+  initialize: function (client, { callWatcherActor }) {
     protocol.Front.prototype.initialize.call(this, client, { actor: callWatcherActor });
     this.manage(this);
   }
 });
 
 /**
  * Constants.
  */
@@ -773,17 +773,17 @@ CallWatcherFront.KNOWN_METHODS["WebGLRen
   },
   stencilOp: {
     enums: new Set([0, 1, 2]),
   },
   stencilOpSeparate: {
     enums: new Set([0, 1, 2, 3]),
   },
   texImage2D: {
-    enums: args => args.length > 6 ? new Set([0, 2, 6, 7]) :  new Set([0, 2, 3, 4]),
+    enums: args => args.length > 6 ? new Set([0, 2, 6, 7]) : new Set([0, 2, 3, 4]),
   },
   texParameterf: {
     enums: new Set([0, 1]),
   },
   texParameteri: {
     enums: new Set([0, 1, 2]),
   },
   texSubImage2D: {
@@ -855,17 +855,17 @@ function getBitToEnumValue(type, object,
  * from a wrapped overridden method. This is so we can make our own error
  * that does not look like it originated from the call watcher.
  *
  * We use toolkit/loader's parseStack and serializeStack rather than the
  * parsing done in the local `getStack` function, because it does not expose
  * column number, would have to change the protocol models `call-stack-items` and `call-details`
  * which hurts backwards compatibility, and the local `getStack` is an optimized, hot function.
  */
-function createContentError (e, win) {
+function createContentError(e, win) {
   let { message, name, stack } = e;
   let parsedStack = parseStack(stack);
   let { fileName, lineNumber, columnNumber } = parsedStack[parsedStack.length - 1];
   let error;
 
   let isDOMException = e instanceof Ci.nsIDOMDOMException;
   let constructor = isDOMException ? win.DOMException : (win[e.name] || win.Error);
 
--- a/devtools/server/actors/canvas.js
+++ b/devtools/server/actors/canvas.js
@@ -109,28 +109,28 @@ var FrameSnapshotActor = protocol.ActorC
    *        The server connection.
    * @param HTMLCanvasElement canvas
    *        A reference to the content canvas.
    * @param array calls
    *        An array of "function-call" actor instances.
    * @param object screenshot
    *        A single "snapshot-image" type instance.
    */
-  initialize: function(conn, { canvas, calls, screenshot, primitive }) {
+  initialize: function (conn, { canvas, calls, screenshot, primitive }) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this._contentCanvas = canvas;
     this._functionCalls = calls;
     this._animationFrameEndScreenshot = screenshot;
     this._primitive = primitive;
   },
 
   /**
    * Gets as much data about this snapshot without computing anything costly.
    */
-  getOverview: method(function() {
+  getOverview: method(function () {
     return {
       calls: this._functionCalls,
       thumbnails: this._functionCalls.map(e => e._thumbnail).filter(e => !!e),
       screenshot: this._animationFrameEndScreenshot,
       primitive: {
         tris: this._primitive.tris,
         vertices: this._primitive.vertices,
         points: this._primitive.points,
@@ -140,17 +140,17 @@ var FrameSnapshotActor = protocol.ActorC
   }, {
     response: { overview: RetVal("snapshot-overview") }
   }),
 
   /**
    * Gets a screenshot of the canvas's contents after the specified
    * function was called.
    */
-  generateScreenshotFor: method(function(functionCall) {
+  generateScreenshotFor: method(function (functionCall) {
     let caller = functionCall.details.caller;
     let global = functionCall.details.global;
 
     let canvas = this._contentCanvas;
     let calls = this._functionCalls;
     let index = calls.indexOf(functionCall);
 
     // To get a screenshot, replay all the steps necessary to render the frame,
@@ -190,40 +190,40 @@ var FrameSnapshotActor = protocol.ActorC
     response: { screenshot: RetVal("snapshot-image") }
   })
 });
 
 /**
  * The corresponding Front object for the FrameSnapshotActor.
  */
 var FrameSnapshotFront = protocol.FrontClass(FrameSnapshotActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this._animationFrameEndScreenshot = null;
     this._cachedScreenshots = new WeakMap();
   },
 
   /**
    * This implementation caches the animation frame end screenshot to optimize
    * frontend requests to `generateScreenshotFor`.
    */
-  getOverview: custom(function() {
+  getOverview: custom(function () {
     return this._getOverview().then(data => {
       this._animationFrameEndScreenshot = data.screenshot;
       return data;
     });
   }, {
     impl: "_getOverview"
   }),
 
   /**
    * This implementation saves a roundtrip to the backend if the screenshot
    * was already generated and retrieved once.
    */
-  generateScreenshotFor: custom(function(functionCall) {
+  generateScreenshotFor: custom(function (functionCall) {
     if (CanvasFront.ANIMATION_GENERATORS.has(functionCall.name) ||
         CanvasFront.LOOP_GENERATORS.has(functionCall.name)) {
       return promise.resolve(this._animationFrameEndScreenshot);
     }
     let cachedScreenshot = this._cachedScreenshots.get(functionCall);
     if (cachedScreenshot) {
       return cachedScreenshot;
     }
@@ -241,32 +241,32 @@ var FrameSnapshotFront = protocol.FrontC
  * made when drawing frame inside an animation loop.
  */
 var CanvasActor = exports.CanvasActor = protocol.ActorClass({
   // Reset for each recording, boolean indicating whether or not
   // any draw calls were called for a recording.
   _animationContainsDrawCall: false,
 
   typeName: "canvas",
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
     this._webGLPrimitiveCounter = new WebGLPrimitiveCounter(tabActor);
     this._onContentFunctionCall = this._onContentFunctionCall.bind(this);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this._webGLPrimitiveCounter.destroy();
     this.finalize();
   },
 
   /**
    * Starts listening for function calls.
    */
-  setup: method(function({ reload }) {
+  setup: method(function ({ reload }) {
     if (this._initialized) {
       return;
     }
     this._initialized = true;
 
     this._callWatcher = new CallWatcherActor(this.conn, this.tabActor);
     this._callWatcher.onCall = this._onContentFunctionCall;
     this._callWatcher.setup({
@@ -278,53 +278,53 @@ var CanvasActor = exports.CanvasActor = 
   }, {
     request: { reload: Option(0, "boolean") },
     oneway: true
   }),
 
   /**
    * Stops listening for function calls.
    */
-  finalize: method(function() {
+  finalize: method(function () {
     if (!this._initialized) {
       return;
     }
     this._initialized = false;
 
     this._callWatcher.finalize();
     this._callWatcher = null;
   }, {
     oneway: true
   }),
 
   /**
    * Returns whether this actor has been set up.
    */
-  isInitialized: method(function() {
+  isInitialized: method(function () {
     return !!this._initialized;
   }, {
     response: { initialized: RetVal("boolean") }
   }),
 
   /**
    * Returns whether or not the CanvasActor is recording an animation.
    * Used in tests.
    */
-  isRecording: method(function() {
+  isRecording: method(function () {
     return !!this._callWatcher.isRecording();
   }, {
     response: { recording: RetVal("boolean") }
   }),
 
   /**
    * Records a snapshot of all the calls made during the next animation frame.
    * The animation should be implemented via the de-facto requestAnimationFrame
    * utility, or inside recursive `setTimeout`s. `setInterval` at this time are not supported.
    */
-  recordAnimationFrame: method(function() {
+  recordAnimationFrame: method(function () {
     if (this._callWatcher.isRecording()) {
       return this._currentAnimationFrameSnapshot.promise;
     }
 
     this._recordingContainsDrawCall = false;
     this._callWatcher.eraseRecording();
     this._callWatcher.initTimestampEpoch();
     this._webGLPrimitiveCounter.resetCounts();
@@ -334,34 +334,34 @@ var CanvasActor = exports.CanvasActor = 
     return deferred.promise;
   }, {
     response: { snapshot: RetVal("nullable:frame-snapshot") }
   }),
 
   /**
    * Cease attempts to record an animation frame.
    */
-  stopRecordingAnimationFrame: method(function() {
-   if (!this._callWatcher.isRecording()) {
+  stopRecordingAnimationFrame: method(function () {
+    if (!this._callWatcher.isRecording()) {
       return;
     }
     this._animationStarted = false;
     this._callWatcher.pauseRecording();
     this._callWatcher.eraseRecording();
     this._currentAnimationFrameSnapshot.resolve(null);
     this._currentAnimationFrameSnapshot = null;
   }, {
     oneway: true
   }),
 
   /**
    * Invoked whenever an instrumented function is called, be it on a
    * 2d or WebGL context, or an animation generator like requestAnimationFrame.
    */
-  _onContentFunctionCall: function(functionCall) {
+  _onContentFunctionCall: function (functionCall) {
     let { window, name, args } = functionCall.details;
 
     // The function call arguments are required to replay animation frames,
     // in order to generate screenshots. However, simply storing references to
     // every kind of object is a bad idea, since their properties may change.
     // Consider transformation matrices for example, which are typically
     // Float32Arrays whose values can easily change across context calls.
     // They need to be cloned.
@@ -384,40 +384,40 @@ var CanvasActor = exports.CanvasActor = 
       this._webGLPrimitiveCounter.handleDrawPrimitive(functionCall);
       return;
     }
   },
 
   /**
    * Handle animations generated using requestAnimationFrame.
    */
-  _handleAnimationFrame: function(functionCall) {
+  _handleAnimationFrame: function (functionCall) {
     if (!this._animationStarted) {
       this._handleAnimationFrameBegin();
     }
     // Check to see if draw calls occurred yet, as it could be future frames,
     // like in the scenario where requestAnimationFrame is called to trigger an animation,
     // and rAF is at the beginning of the animate loop.
     else if (this._animationContainsDrawCall) {
       this._handleAnimationFrameEnd(functionCall);
     }
   },
 
   /**
    * Called whenever an animation frame rendering begins.
    */
-  _handleAnimationFrameBegin: function() {
+  _handleAnimationFrameBegin: function () {
     this._callWatcher.eraseRecording();
     this._animationStarted = true;
   },
 
   /**
    * Called whenever an animation frame rendering ends.
    */
-  _handleAnimationFrameEnd: function() {
+  _handleAnimationFrameEnd: function () {
     // Get a hold of all the function calls made during this animation frame.
     // Since only one snapshot can be recorded at a time, erase all the
     // previously recorded calls.
     let functionCalls = this._callWatcher.pauseRecording();
     this._callWatcher.eraseRecording();
     this._animationContainsDrawCall = false;
 
     // Since the animation frame finished, get a hold of the (already retrieved)
@@ -455,17 +455,17 @@ var CanvasActor = exports.CanvasActor = 
     this._currentAnimationFrameSnapshot = null;
     this._animationStarted = false;
   },
 
   /**
    * Invoked whenever a draw call is detected in the animation frame which is
    * currently being recorded.
    */
-  _handleDrawCall: function(functionCall) {
+  _handleDrawCall: function (functionCall) {
     let functionCalls = this._callWatcher.pauseRecording();
     let caller = functionCall.details.caller;
     let global = functionCall.details.global;
 
     let contentCanvas = this._lastDrawCallCanvas = caller.canvas;
     let index = this._lastDrawCallIndex = functionCalls.indexOf(functionCall);
     let w = this._lastContentCanvasWidth = contentCanvas.width;
     let h = this._lastContentCanvasHeight = contentCanvas.height;
@@ -506,17 +506,17 @@ var ContextUtils = {
    * WebGL contexts are sensitive to how they're queried. Use this function
    * to make sure the right context is always retrieved, if available.
    *
    * @param HTMLCanvasElement canvas
    *        The canvas element for which to get a WebGL context.
    * @param WebGLRenderingContext gl
    *        The queried WebGL context, or null if unavailable.
    */
-  getWebGLContext: function(canvas) {
+  getWebGLContext: function (canvas) {
     return canvas.getContext("webgl") ||
            canvas.getContext("experimental-webgl");
   },
 
   /**
    * Gets a hold of the rendered pixels in the most efficient way possible for
    * a canvas with a WebGL context.
    *
@@ -531,17 +531,17 @@ var ContextUtils = {
    * @param number srcHeight [optional]
    *        The number of pixels to read on the Y axis.
    * @param number dstHeight [optional]
    *        The desired generated screenshot height.
    * @return object
    *         An objet containing the screenshot's width, height and pixel data,
    *         represented as an 8-bit array buffer of r, g, b, a values.
    */
-  getPixelsForWebGL: function(gl,
+  getPixelsForWebGL: function (gl,
     srcX = 0, srcY = 0,
     srcWidth = gl.canvas.width,
     srcHeight = gl.canvas.height,
     dstHeight = srcHeight)
   {
     let contentPixels = ContextUtils.getPixelStorage(srcWidth, srcHeight);
     let { "8bit": charView, "32bit": intView } = contentPixels;
     gl.readPixels(srcX, srcY, srcWidth, srcHeight, gl.RGBA, gl.UNSIGNED_BYTE, charView);
@@ -563,17 +563,17 @@ var ContextUtils = {
    * @param number srcHeight [optional]
    *        The number of pixels to read on the Y axis.
    * @param number dstHeight [optional]
    *        The desired generated screenshot height.
    * @return object
    *         An objet containing the screenshot's width, height and pixel data,
    *         represented as an 8-bit array buffer of r, g, b, a values.
    */
-  getPixelsFor2D: function(ctx,
+  getPixelsFor2D: function (ctx,
     srcX = 0, srcY = 0,
     srcWidth = ctx.canvas.width,
     srcHeight = ctx.canvas.height,
     dstHeight = srcHeight)
   {
     let { data } = ctx.getImageData(srcX, srcY, srcWidth, srcHeight);
     let { "32bit": intView } = ContextUtils.usePixelStorage(data.buffer);
     return this.resizePixels(intView, srcWidth, srcHeight, dstHeight);
@@ -590,17 +590,17 @@ var ContextUtils = {
    * @param number srcHeight
    *        The source pixel data height.
    * @param number dstHeight [optional]
    *        The desired resized pixel data height.
    * @return object
    *         An objet containing the resized pixels width, height and data,
    *         represented as an 8-bit array buffer of r, g, b, a values.
    */
-  resizePixels: function(srcPixels, srcWidth, srcHeight, dstHeight) {
+  resizePixels: function (srcPixels, srcWidth, srcHeight, dstHeight) {
     let screenshotRatio = dstHeight / srcHeight;
     let dstWidth = (srcWidth * screenshotRatio) | 0;
     let dstPixels = new Uint32Array(dstWidth * dstHeight);
 
     // If the resized image ends up being completely transparent, returning
     // an empty array will skip some redundant serialization cycles.
     let isTransparent = true;
 
@@ -651,17 +651,17 @@ var ContextUtils = {
    *        The first function call to start from.
    * @param number last
    *        The last (inclusive) function call to end at.
    * @return object
    *         The context on which the specified calls were invoked, the
    *         last registered draw call's index and a cleanup function, which
    *         needs to be called whenever any potential followup work is finished.
    */
-  replayAnimationFrame: function({ contextType, canvas, calls, first, last }) {
+  replayAnimationFrame: function ({ contextType, canvas, calls, first, last }) {
     let w = canvas.width;
     let h = canvas.height;
 
     let replayContext;
     let replayContextScaling;
     let customViewport;
     let customFramebuffer;
     let lastDrawCallIndex = -1;
@@ -754,31 +754,31 @@ var ContextUtils = {
    *
    * @param number w
    *        The desired pixel array storage width.
    * @param number h
    *        The desired pixel array storage height.
    * @return object
    *         The requested pixel array buffer.
    */
-  getPixelStorage: function(w = 0, h = 0) {
+  getPixelStorage: function (w = 0, h = 0) {
     let storage = this._currentPixelStorage;
     if (storage && storage["32bit"].length >= w * h) {
       return storage;
     }
     return this.usePixelStorage(new ArrayBuffer(w * h * 4));
   },
 
   /**
    * Creates and saves the array buffer views used by `getPixelStorage`.
    *
    * @param ArrayBuffer buffer
    *        The raw buffer used as storage for various array buffer views.
    */
-  usePixelStorage: function(buffer) {
+  usePixelStorage: function (buffer) {
     let array8bit = new Uint8Array(buffer);
     let array32bit = new Uint32Array(buffer);
     return this._currentPixelStorage = {
       "8bit": array8bit,
       "32bit": array32bit
     };
   },
 
@@ -790,17 +790,17 @@ var ContextUtils = {
    *        The WebGL context to create and bind a framebuffer for.
    * @param number width
    *        The desired width of the renderbuffers.
    * @param number height
    *        The desired height of the renderbuffers.
    * @return WebGLFramebuffer
    *         The generated framebuffer object.
    */
-  createBoundFramebuffer: function(gl, width, height) {
+  createBoundFramebuffer: function (gl, width, height) {
     let oldFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
     let oldRenderbufferBinding = gl.getParameter(gl.RENDERBUFFER_BINDING);
     let oldTextureBinding = gl.getParameter(gl.TEXTURE_BINDING_2D);
 
     let newFramebuffer = gl.createFramebuffer();
     gl.bindFramebuffer(gl.FRAMEBUFFER, newFramebuffer);
 
     // Use a texture as the color renderbuffer attachment, since consumers of
@@ -827,30 +827,30 @@ var ContextUtils = {
   },
 
   /**
    * Sets the viewport of the drawing buffer for a WebGL context.
    * @param WebGLRenderingContext gl
    * @param number width
    * @param number height
    */
-  setCustomViewport: function(gl, width, height) {
+  setCustomViewport: function (gl, width, height) {
     let oldViewport = XPCNativeWrapper.unwrap(gl.getParameter(gl.VIEWPORT));
     let newViewport = [0, 0, width, height];
     gl.viewport.apply(gl, newViewport);
 
     return { oldViewport, newViewport };
   }
 };
 
 /**
  * The corresponding Front object for the CanvasActor.
  */
 var CanvasFront = exports.CanvasFront = protocol.FrontClass(CanvasActor, {
-  initialize: function(client, { canvasActor }) {
+  initialize: function (client, { canvasActor }) {
     protocol.Front.prototype.initialize.call(this, client, { actor: canvasActor });
     this.manage(this);
   }
 });
 
 /**
  * Constants.
  */
--- a/devtools/server/actors/child-process.js
+++ b/devtools/server/actors/child-process.js
@@ -63,17 +63,17 @@ ChildProcessActor.prototype = {
   get sources() {
     if (!this._sources) {
       assert(this.threadActor, "threadActor should exist when creating sources.");
       this._sources = new TabSources(this.threadActor);
     }
     return this._sources;
   },
 
-  form: function() {
+  form: function () {
     if (!this._consoleActor) {
       this._consoleActor = new WebConsoleActor(this.conn, this);
       this._contextPool.addActor(this._consoleActor);
     }
 
     if (!this.threadActor) {
       this.threadActor = new ChromeDebuggerActor(this.conn, this);
       this._contextPool.addActor(this.threadActor);
@@ -116,31 +116,31 @@ ChildProcessActor.prototype = {
     });
   },
 
   _onWorkerListChanged: function () {
     this.conn.send({ from: this.actorID, type: "workerListChanged" });
     this._workerList.onListChanged = null;
   },
 
-  disconnect: function() {
+  disconnect: function () {
     this.conn.removeActorPool(this._contextPool);
     this._contextPool = null;
 
     // Tell the live lists we aren't watching any more.
     if (this._workerList) {
       this._workerList.onListChanged = null;
     }
   },
 
-  preNest: function() {
+  preNest: function () {
     // TODO: freeze windows
     // window mediator doesn't work in child.
     // it doesn't throw, but doesn't return any window
   },
 
-  postNest: function() {
+  postNest: function () {
   },
 };
 
 ChildProcessActor.prototype.requestTypes = {
   "listWorkers": ChildProcessActor.prototype.onListWorkers,
 };
--- a/devtools/server/actors/childtab.js
+++ b/devtools/server/actors/childtab.js
@@ -40,30 +40,30 @@ function ContentActor(connection, chrome
   });
 }
 
 ContentActor.prototype = Object.create(TabActor.prototype);
 
 ContentActor.prototype.constructor = ContentActor;
 
 Object.defineProperty(ContentActor.prototype, "title", {
-  get: function() {
+  get: function () {
     return this.window.document.title;
   },
   enumerable: true,
   configurable: true
 });
 
-ContentActor.prototype.exit = function() {
+ContentActor.prototype.exit = function () {
   if (this._sendForm) {
     this._chromeGlobal.removeMessageListener("debug:form", this._sendForm);
     this._sendForm = null;
   }
   return TabActor.prototype.exit.call(this);
 };
 
 /**
  * On navigation events, our URL and/or title may change, so we update our
  * counterpart in the parent process that participates in the tab list.
  */
-ContentActor.prototype._sendForm = function() {
+ContentActor.prototype._sendForm = function () {
   this._chromeGlobal.sendAsyncMessage("debug:form", this.form());
 };
--- a/devtools/server/actors/chrome.js
+++ b/devtools/server/actors/chrome.js
@@ -83,30 +83,30 @@ Object.defineProperty(ChromeActor.protot
                            .QueryInterface(Ci.nsIDocShell);
       docShells = docShells.concat(getChildDocShells(docShell));
     }
 
     return docShells;
   }
 });
 
-ChromeActor.prototype.observe = function(aSubject, aTopic, aData) {
+ChromeActor.prototype.observe = function (aSubject, aTopic, aData) {
   TabActor.prototype.observe.call(this, aSubject, aTopic, aData);
   if (!this.attached) {
     return;
   }
   if (aTopic == "chrome-webnavigation-create") {
     aSubject.QueryInterface(Ci.nsIDocShell);
     this._onDocShellCreated(aSubject);
   } else if (aTopic == "chrome-webnavigation-destroy") {
     this._onDocShellDestroy(aSubject);
   }
-}
+};
 
-ChromeActor.prototype._attach = function() {
+ChromeActor.prototype._attach = function () {
   if (this.attached) {
     return false;
   }
 
   TabActor.prototype._attach.call(this);
 
   // Listen for any new/destroyed chrome docshell
   Services.obs.addObserver(this, "chrome-webnavigation-create", false);
@@ -122,17 +122,17 @@ ChromeActor.prototype._attach = function
                          .QueryInterface(Ci.nsIDocShell);
     if (docShell == this.docShell) {
       continue;
     }
     this._progressListener.watch(docShell);
   }
 };
 
-ChromeActor.prototype._detach = function() {
+ChromeActor.prototype._detach = function () {
   if (!this.attached) {
     return false;
   }
 
   Services.obs.removeObserver(this, "chrome-webnavigation-create");
   Services.obs.removeObserver(this, "chrome-webnavigation-destroy");
 
   // Iterate over all top-level windows.
@@ -152,34 +152,34 @@ ChromeActor.prototype._detach = function
   TabActor.prototype._detach.call(this);
 };
 
 /* ThreadActor hooks. */
 
 /**
  * Prepare to enter a nested event loop by disabling debuggee events.
  */
-ChromeActor.prototype.preNest = function() {
+ChromeActor.prototype.preNest = function () {
   // Disable events in all open windows.
   let e = Services.wm.getEnumerator(null);
   while (e.hasMoreElements()) {
     let win = e.getNext();
     let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
                          .getInterface(Ci.nsIDOMWindowUtils);
     windowUtils.suppressEventHandling(true);
     windowUtils.suspendTimeouts();
   }
-}
+};
 
 /**
  * Prepare to exit a nested event loop by enabling debuggee events.
  */
-ChromeActor.prototype.postNest = function(aNestData) {
+ChromeActor.prototype.postNest = function (aNestData) {
   // Enable events in all open windows.
   let e = Services.wm.getEnumerator(null);
   while (e.hasMoreElements()) {
     let win = e.getNext();
     let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor)
                          .getInterface(Ci.nsIDOMWindowUtils);
     windowUtils.resumeTimeouts();
     windowUtils.suppressEventHandling(false);
   }
-}
+};
--- a/devtools/server/actors/common.js
+++ b/devtools/server/actors/common.js
@@ -30,29 +30,29 @@ const { method } = require("devtools/sha
  *          and passed two arguments: the DebuggerServerConnection, and
  *          the BrowserTabActor with which it will be associated.
  *          Only used for deprecated eagerly loaded actors.
  *
  */
 function RegisteredActorFactory(options, prefix) {
   // By default the actor name will also be used for the actorID prefix.
   this._prefix = prefix;
-  if (typeof(options) != "function") {
+  if (typeof (options) != "function") {
     // actors definition registered by actorRegistryActor
     if (options.constructorFun) {
       this._getConstructor = () => options.constructorFun;
     } else {
       // Lazy actor definition, where options contains all the information
       // required to load the actor lazily.
       this._getConstructor = function () {
         // Load the module
         let mod;
         try {
           mod = require(options.id);
-        } catch(e) {
+        } catch (e) {
           throw new Error("Unable to load actor module '" + options.id + "'.\n" +
                           e.message + "\n" + e.stack + "\n");
         }
         // Fetch the actor constructor
         let c = mod[options.constructorName];
         if (!c) {
           throw new Error("Unable to find actor constructor named '" +
                           options.constructorName + "'. (Is it exported?)");
@@ -75,17 +75,17 @@ function RegisteredActorFactory(options,
     // (Used by ChromeDebuggerActor)
     if (options.prototype && options.prototype.actorPrefix) {
       this._prefix = options.prototype.actorPrefix;
     }
   }
 }
 RegisteredActorFactory.prototype.createObservedActorFactory = function (conn, parentActor) {
   return new ObservedActorFactory(this._getConstructor, this._prefix, conn, parentActor);
-}
+};
 exports.RegisteredActorFactory = RegisteredActorFactory;
 
 /**
  * Creates "observed" actors factory meant for creating real actor instances.
  * These factories lives in actor pools and fake various actor attributes.
  * They will be replaced in actor pools by final actor instances during
  * the first request for the same actorID from DebuggerServer._getOrCreateActor.
  *
@@ -116,17 +116,17 @@ ObservedActorFactory.prototype.createAct
   instance.conn = this._conn;
   instance.parentID = this._parentActor.actorID;
   // We want the newly-constructed actor to completely replace the factory
   // actor. Reusing the existing actor ID will make sure ActorPool.addActor
   // does the right thing.
   instance.actorID = this.actorID;
   this.registeredPool.addActor(instance);
   return instance;
-}
+};
 exports.ObservedActorFactory = ObservedActorFactory;
 
 
 /**
  * Methods shared between RootActor and BrowserTabActor.
  */
 
 /**
@@ -176,17 +176,17 @@ exports.createExtraActors = function cre
     }
 
     // If the actor already exists in the pool, it may have been instantiated,
     // so make sure not to overwrite it by a non-instantiated version.
     if (!aPool.has(actor.actorID)) {
       aPool.addActor(actor);
     }
   }
-}
+};
 
 /**
  * Append the extra actors in |this._extraActors|, constructed by a prior call
  * to CommonCreateExtraActors, to |aObject|.
  *
  * @param aObject
  *     The object to which the extra actors should be added, under the
  *     property names given in the |aFactories| table passed to
@@ -196,17 +196,17 @@ exports.createExtraActors = function cre
  *     The BrowserRootActor or BrowserTabActor whose |_extraActors| table we
  *     should use; see above.
  */
 exports.appendExtraActors = function appendExtraActors(aObject) {
   for (let name in this._extraActors) {
     let actor = this._extraActors[name];
     aObject[name] = actor.actorID;
   }
-}
+};
 
 /**
  * Construct an ActorPool.
  *
  * ActorPools are actorID -> actor mapping and storage.  These are
  * used to accumulate and quickly dispose of groups of actors that
  * share a lifetime.
  */
@@ -277,26 +277,26 @@ ActorPool.prototype = {
    */
   isEmpty: function AP_isEmpty() {
     return Object.keys(this._actors).length == 0;
   },
 
   /**
    * Match the api expected by the protocol library.
    */
-  unmanage: function(aActor) {
+  unmanage: function (aActor) {
     return this.removeActor(aActor);
   },
 
-  forEach: function(callback) {
+  forEach: function (callback) {
     for (let name in this._actors) {
       callback(this._actors[name]);
     }
   },
-}
+};
 
 exports.ActorPool = ActorPool;
 
 /**
  * An OriginalLocation represents a location in an original source.
  *
  * @param SourceActor actor
  *        A SourceActor representing an original source.
@@ -474,17 +474,17 @@ exports.GeneratedLocation = GeneratedLoc
  * @param Function method
  *        The actor method to proceed with when the actor is in the expected
  *        state.
  *
  * @returns Function
  *          The decorated method.
  */
 function expectState(expectedState, method, activity) {
-  return function(...args) {
+  return function (...args) {
     if (this.state !== expectedState) {
       const msg = `Wrong state while ${activity}:` +
                   `Expected '${expectedState}', ` +
                   `but current state is '${this.state}'.`;
       return promise.reject(new Error(msg));
     }
 
     return method.apply(this, args);
@@ -497,14 +497,14 @@ exports.expectState = expectState;
  * Proxies a call from an actor to an underlying module, stored
  * as `bridge` on the actor. This allows a module to be defined in one
  * place, usable by other modules/actors on the server, but a separate
  * module defining the actor/RDP definition.
  *
  * @see Framerate implementation: devtools/server/performance/framerate.js
  * @see Framerate actor definition: devtools/server/actors/framerate.js
  */
-function actorBridge (methodName, definition={}) {
+function actorBridge(methodName, definition = {}) {
   return method(function () {
     return this.bridge[methodName].apply(this.bridge, arguments);
   }, definition);
 }
 exports.actorBridge = actorBridge;
--- a/devtools/server/actors/csscoverage.js
+++ b/devtools/server/actors/csscoverage.js
@@ -9,32 +9,32 @@ const { Cc, Ci, Cu } = require("chrome")
 const Services = require("Services");
 const { XPCOMUtils } = require("resource://gre/modules/XPCOMUtils.jsm");
 
 const events = require("sdk/event/core");
 const protocol = require("devtools/shared/protocol");
 const { method, custom, RetVal, Arg } = protocol;
 
 loader.lazyGetter(this, "DOMUtils", () => {
-  return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils)
+  return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
 });
 loader.lazyRequireGetter(this, "stylesheets", "devtools/server/actors/stylesheets");
 loader.lazyRequireGetter(this, "CssLogic", "devtools/shared/inspector/css-logic", true);
 loader.lazyRequireGetter(this, "gDevTools", "devtools/client/framework/devtools", true);
 
 const CSSRule = Ci.nsIDOMCSSRule;
 
 const MAX_UNUSED_RULES = 10000;
 
 /**
  * Allow: let foo = l10n.lookup("csscoverageFoo");
  */
 const l10n = exports.l10n = {
   _URI: "chrome://devtools-shared/locale/csscoverage.properties",
-  lookup: function(msg) {
+  lookup: function (msg) {
     if (this._stringBundle == null) {
       this._stringBundle = Services.strings.createBundle(this._URI);
     }
     return this._stringBundle.GetStringFromName(msg);
   }
 };
 
 /**
@@ -73,46 +73,46 @@ var CSSUsageActor = protocol.ActorClass(
 
   events: {
     "state-change" : {
       type: "stateChange",
       stateChange: Arg(0, "json")
     }
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     this._tabActor = tabActor;
     this._running = false;
 
     this._onTabLoad = this._onTabLoad.bind(this);
     this._onChange = this._onChange.bind(this);
 
     this._notifyOn = Ci.nsIWebProgress.NOTIFY_STATUS |
-                     Ci.nsIWebProgress.NOTIFY_STATE_ALL
+                     Ci.nsIWebProgress.NOTIFY_STATE_ALL;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._tabActor = undefined;
 
     delete this._onTabLoad;
     delete this._onChange;
 
     protocol.Actor.prototype.destroy.call(this);
   },
 
   /**
    * Begin recording usage data
    * @param noreload It's best if we start by reloading the current page
    * because that starts the test at a known point, but there could be reasons
    * why we don't want to do that (e.g. the page contains state that will be
    * lost across a reload)
    */
-  start: method(function(noreload) {
+  start: method(function (noreload) {
     if (this._running) {
       throw new Error(l10n.lookup("csscoverageRunningError"));
     }
 
     this._isOneShot = false;
     this._visitedPages = new Set();
     this._knownRules = new Map();
     this._running = true;
@@ -154,66 +154,66 @@ var CSSUsageActor = protocol.ActorClass(
     events.emit(this, "state-change", { isRunning: true });
   }, {
     request: { url: Arg(0, "boolean") }
   }),
 
   /**
    * Cease recording usage data
    */
-  stop: method(function() {
+  stop: method(function () {
     if (!this._running) {
       throw new Error(l10n.lookup("csscoverageNotRunningError"));
     }
 
     this._progress.removeProgressListener(this._progressListener, this._notifyOn);
     this._progress = undefined;
 
     this._running = false;
     events.emit(this, "state-change", { isRunning: false });
   }),
 
   /**
    * Start/stop recording usage data depending on what we're currently doing.
    */
-  toggle: method(function() {
+  toggle: method(function () {
     return this._running ? this.stop() : this.start();
   }),
 
   /**
    * Running start() quickly followed by stop() does a bunch of unnecessary
    * work, so this cuts all that out
    */
-  oneshot: method(function() {
+  oneshot: method(function () {
     if (this._running) {
       throw new Error(l10n.lookup("csscoverageRunningError"));
     }
 
     this._isOneShot = true;
     this._visitedPages = new Set();
     this._knownRules = new Map();
 
     this._populateKnownRules(this._tabActor.window.document);
     this._updateUsage(this._tabActor.window.document, false);
   }),
 
   /**
    * Called by the ProgressListener to simulate a "load" event
    */
-  _onTabLoad: function(document) {
+  _onTabLoad: function (document) {
     this._populateKnownRules(document);
     this._updateUsage(document, true);
 
     this._observeMutations(document);
   },
 
   /**
    * Setup a MutationObserver on the current document
    */
-  _observeMutations: function(document) {
+  _observeMutations: function (document) {
     let MutationObserver = document.defaultView.MutationObserver;
     let observer = new MutationObserver(mutations => {
       // It's possible that one of the mutations in this list adds a 'use' of
       // a CSS rule, and another takes it away. See Bug 1010189
       this._onChange(document);
     });
 
     observer.observe(document, {
@@ -223,57 +223,57 @@ var CSSUsageActor = protocol.ActorClass(
       subtree: true
     });
   },
 
   /**
    * Event handler for whenever we think the page has changed in a way that
    * means the CSS usage might have changed.
    */
-  _onChange: function(document) {
+  _onChange: function (document) {
     // Ignore changes pre 'load'
     if (!this._visitedPages.has(getURL(document))) {
       return;
     }
     this._updateUsage(document, false);
   },
 
   /**
    * Called whenever we think the list of stylesheets might have changed so
    * we can update the list of rules that we should be checking
    */
-  _populateKnownRules: function(document) {
+  _populateKnownRules: function (document) {
     let url = getURL(document);
     this._visitedPages.add(url);
     // Go through all the rules in the current sheets adding them to knownRules
     // if needed and adding the current url to the list of pages they're on
     for (let rule of getAllSelectorRules(document)) {
       let ruleId = ruleToId(rule);
       let ruleData = this._knownRules.get(ruleId);
       if (ruleData == null) {
         ruleData = {
-           selectorText: rule.selectorText,
-           cssText: rule.cssText,
-           test: getTestSelector(rule.selectorText),
-           isUsed: false,
-           presentOn: new Set(),
-           preLoadOn: new Set(),
-           isError: false
+          selectorText: rule.selectorText,
+          cssText: rule.cssText,
+          test: getTestSelector(rule.selectorText),
+          isUsed: false,
+          presentOn: new Set(),
+          preLoadOn: new Set(),
+          isError: false
         };
         this._knownRules.set(ruleId, ruleData);
       }
 
       ruleData.presentOn.add(url);
     }
   },
 
   /**
    * Update knownRules with usage information from the current page
    */
-  _updateUsage: function(document, isLoad) {
+  _updateUsage: function (document, isLoad) {
     let qsaCount = 0;
 
     // Update this._data with matches to say 'used at load time' by sheet X
     let url = getURL(document);
 
     for (let [ , ruleData ] of this._knownRules) {
       // If it broke before, don't try again selectors don't change
       if (ruleData.isError) {
@@ -321,17 +321,17 @@ var CSSUsageActor = protocol.ActorClass(
    *     {
    *       selectorText: "p#content",
    *       usage: "unused|used",
    *       start: { line: 3, column: 0 },
    *     },
    *     ...
    *   ]
    */
-  createEditorReport: method(function(url) {
+  createEditorReport: method(function (url) {
     if (this._knownRules == null) {
       return { reports: [] };
     }
 
     let reports = [];
     for (let [ruleId, ruleData] of this._knownRules) {
       let { url: ruleUrl, line, column } = deconstructRuleId(ruleId);
       if (ruleUrl !== url || ruleData.isUsed) {
@@ -386,48 +386,48 @@ var CSSUsageActor = protocol.ActorClass(
    *       {
    *         url: "http://example.org/style1.css",
    *         shortUrl: "style1.css",
    *         rules: [ ... ]
    *       }
    *     ]
    *   }
    */
-  createPageReport: method(function() {
+  createPageReport: method(function () {
     if (this._running) {
       throw new Error(l10n.lookup("csscoverageRunningError"));
     }
 
     if (this._visitedPages == null) {
       throw new Error(l10n.lookup("csscoverageNotRunError"));
     }
 
     if (this._isOneShot) {
       throw new Error(l10n.lookup("csscoverageOneShotReportError"));
     }
 
     // Helper function to create a JSONable data structure representing a rule
-    const ruleToRuleReport = function(rule, ruleData) {
+    const ruleToRuleReport = function (rule, ruleData) {
       return {
         url: rule.url,
         shortUrl: rule.url.split("/").slice(-1)[0],
         start: { line: rule.line, column: rule.column },
         selectorText: ruleData.selectorText,
         formattedCssText: CssLogic.prettifyCSS(ruleData.cssText)
       };
-    }
+    };
 
     // A count of each type of rule for the bar chart
     let summary = { used: 0, unused: 0, preload: 0 };
 
     // Create the set of the unused rules
     let unusedMap = new Map();
     for (let [ruleId, ruleData] of this._knownRules) {
       let rule = deconstructRuleId(ruleId);
-      let rules = unusedMap.get(rule.url)
+      let rules = unusedMap.get(rule.url);
       if (rules == null) {
         rules = [];
         unusedMap.set(rule.url, rules);
       }
       if (!ruleData.isUsed) {
         let ruleReport = ruleToRuleReport(rule, ruleData);
         rules.push(ruleReport);
       }
@@ -477,17 +477,17 @@ var CSSUsageActor = protocol.ActorClass(
     };
   }, {
     response: RetVal("json")
   }),
 
   /**
    * For testing only. What pages did we visit.
    */
-  _testOnly_visitedPages: method(function() {
+  _testOnly_visitedPages: method(function () {
     return [...this._visitedPages];
   }, {
     response: { value: RetVal("array:string") }
   }),
 });
 
 exports.CSSUsageActor = CSSUsageActor;
 
@@ -562,17 +562,17 @@ function ruleToId(rule) {
   let column = DOMUtils.getRuleColumn(rule);
   return sheetToUrl(rule.parentStyleSheet) + "|" + line + "|" + column;
 }
 
 /**
  * Convert a ruleId to an object with { url, line, column } properties
  * @see ruleToId(rule)
  */
-const deconstructRuleId = exports.deconstructRuleId = function(ruleId) {
+const deconstructRuleId = exports.deconstructRuleId = function (ruleId) {
   let split = ruleId.split("|");
   if (split.length > 3) {
     let replace = split.slice(0, split.length - 3 + 1).join("|");
     split.splice(0, split.length - 3 + 1, replace);
   }
   let [ url, line, column ] = split;
   return {
     url: url,
@@ -582,19 +582,19 @@ const deconstructRuleId = exports.decons
 };
 
 /**
  * We're only interested in the origin and pathname, because changes to the
  * username, password, hash, or query string probably don't significantly
  * change the CSS usage properties of a page.
  * @param document
  */
-const getURL = exports.getURL = function(document) {
+const getURL = exports.getURL = function (document) {
   let url = new document.defaultView.URL(document.documentURI);
-  return url == 'about:blank' ? '' : '' + url.origin + url.pathname;
+  return url == "about:blank" ? "" : "" + url.origin + url.pathname;
 };
 
 /**
  * Pseudo class handling constants:
  * We split pseudo-classes into a number of categories so we can decide how we
  * should match them. See getTestSelector for how we use these constants.
  *
  * @see http://dev.w3.org/csswg/selectors4/#overview
@@ -605,17 +605,17 @@ const getURL = exports.getURL = function
 /**
  * Category 1: Pseudo-classes that depend on external browser/OS state
  * This includes things like the time, locale, position of mouse/caret/window,
  * contents of browser history, etc. These can be hard to mimic.
  * Action: Remove from selectors
  */
 const SEL_EXTERNAL = [
   "active", "active-drop", "current", "dir", "focus", "future", "hover",
-  "invalid-drop",  "lang", "past", "placeholder-shown", "target", "valid-drop",
+  "invalid-drop", "lang", "past", "placeholder-shown", "target", "valid-drop",
   "visited"
 ];
 
 /**
  * Category 2: Pseudo-classes that depend on user-input state
  * These are pseudo-classes that arguably *should* be covered by unit tests but
  * which probably aren't and which are unlikely to be covered by manual tests.
  * We're currently stripping them out,
@@ -706,59 +706,59 @@ function getTestSelector(selector) {
  * I've documented all known pseudo-classes above for 2 reasons: To allow
  * checking logic and what might be missing, but also to allow a unit test
  * that fetches the list of supported pseudo-classes and pseudo-elements from
  * the platform and check that they were all represented here.
  */
 exports.SEL_ALL = [
   SEL_EXTERNAL, SEL_FORM, SEL_ELEMENT, SEL_STRUCTURAL, SEL_SEMI,
   SEL_COMBINING, SEL_MEDIA
-].reduce(function(prev, curr) { return prev.concat(curr); }, []);
+].reduce(function (prev, curr) { return prev.concat(curr); }, []);
 
 /**
  * Find a URL for a given stylesheet
  */
-const sheetToUrl = exports.sheetToUrl = function(stylesheet) {
+const sheetToUrl = exports.sheetToUrl = function (stylesheet) {
   // For <link> elements
   if (stylesheet.href) {
     return stylesheet.href;
   }
 
   // For <style> elements
   if (stylesheet.ownerNode) {
     let document = stylesheet.ownerNode.ownerDocument;
     let sheets = [...document.querySelectorAll("style")];
     let index = sheets.indexOf(stylesheet.ownerNode);
-    return getURL(document) + ' → <style> index ' + index;
+    return getURL(document) + " → <style> index " + index;
   }
 
   throw new Error("Unknown sheet source");
-}
+};
 
 /**
  * Running more than one usage report at a time is probably bad for performance
  * and it isn't particularly useful, and it's confusing from a notification POV
  * so we only allow one.
  */
 var isRunning = false;
 var notification;
 var target;
 var chromeWindow;
 
 /**
  * Front for CSSUsageActor
  */
 const CSSUsageFront = protocol.FrontClass(CSSUsageActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this.actorID = form.cssUsageActor;
     this.manage(this);
   },
 
-  _onStateChange: protocol.preEvent("state-change", function(ev) {
+  _onStateChange: protocol.preEvent("state-change", function (ev) {
     isRunning = ev.isRunning;
     ev.target = target;
 
     if (isRunning) {
       let gnb = chromeWindow.document.getElementById("global-notificationbox");
       notification = gnb.getNotificationWithValue("csscoverage-running");
 
       if (notification == null) {
@@ -785,56 +785,56 @@ const CSSUsageFront = protocol.FrontClas
       gDevTools.showToolbox(target, "styleeditor");
       target = undefined;
     }
   }),
 
   /**
    * Server-side start is above. Client-side start adds a notification box
    */
-  start: custom(function(newChromeWindow, newTarget, noreload=false) {
+  start: custom(function (newChromeWindow, newTarget, noreload = false) {
     target = newTarget;
     chromeWindow = newChromeWindow;
 
     return this._start(noreload);
   }, {
     impl: "_start"
   }),
 
   /**
    * Server-side start is above. Client-side start adds a notification box
    */
-  toggle: custom(function(newChromeWindow, newTarget) {
+  toggle: custom(function (newChromeWindow, newTarget) {
     target = newTarget;
     chromeWindow = newChromeWindow;
 
     return this._toggle();
   }, {
     impl: "_toggle"
   }),
 
   /**
    * We count STARTING and STOPPING as 'running'
    */
-  isRunning: function() {
+  isRunning: function () {
     return isRunning;
   }
 });
 
 exports.CSSUsageFront = CSSUsageFront;
 
 const knownFronts = new WeakMap();
 
 /**
  * Create a CSSUsageFront only when needed (returns a promise)
  * For notes on target.makeRemote(), see
  * https://bugzilla.mozilla.org/show_bug.cgi?id=1016330#c7
  */
-const getUsage = exports.getUsage = function(target) {
+const getUsage = exports.getUsage = function (target) {
   return target.makeRemote().then(() => {
-    let front = knownFronts.get(target.client)
+    let front = knownFronts.get(target.client);
     if (front == null && target.form.cssUsageActor != null) {
       front = new CSSUsageFront(target.client, target.form);
       knownFronts.set(target.client, front);
     }
     return front;
   });
 };
--- a/devtools/server/actors/device.js
+++ b/devtools/server/actors/device.js
@@ -7,105 +7,105 @@ const Services = require("Services");
 const protocol = require("devtools/shared/protocol");
 const {method, RetVal} = protocol;
 const promise = require("promise");
 const {LongStringActor} = require("devtools/server/actors/string");
 const {DebuggerServer} = require("devtools/server/main");
 const {getSystemInfo, getSetting} = require("devtools/shared/system");
 
 Cu.importGlobalProperties(["FileReader"]);
-Cu.import("resource://gre/modules/PermissionsTable.jsm")
+Cu.import("resource://gre/modules/PermissionsTable.jsm");
 
 var DeviceActor = exports.DeviceActor = protocol.ActorClass({
   typeName: "device",
 
   _desc: null,
 
-  getDescription: method(function() {
+  getDescription: method(function () {
     return getSystemInfo();
-  }, {request: {},response: { value: RetVal("json")}}),
+  }, {request: {}, response: { value: RetVal("json")}}),
 
-  getWallpaper: method(function() {
+  getWallpaper: method(function () {
     let deferred = promise.defer();
     getSetting("wallpaper.image").then((blob) => {
       let reader = new FileReader();
       let conn = this.conn;
-      reader.addEventListener("load", function() {
+      reader.addEventListener("load", function () {
         let str = new LongStringActor(conn, reader.result);
         deferred.resolve(str);
       });
-      reader.addEventListener("error", function() {
+      reader.addEventListener("error", function () {
         deferred.reject(reader.error);
       });
       reader.readAsDataURL(blob);
     });
     return deferred.promise;
-  }, {request: {},response: { value: RetVal("longstring")}}),
+  }, {request: {}, response: { value: RetVal("longstring")}}),
 
-  screenshotToDataURL: method(function() {
+  screenshotToDataURL: method(function () {
     let window = Services.wm.getMostRecentWindow(DebuggerServer.chromeWindowType);
     var devicePixelRatio = window.devicePixelRatio;
     let canvas = window.document.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
     let width = window.innerWidth;
     let height = window.innerHeight;
-    canvas.setAttribute('width', Math.round(width * devicePixelRatio));
-    canvas.setAttribute('height', Math.round(height * devicePixelRatio));
-    let context = canvas.getContext('2d');
+    canvas.setAttribute("width", Math.round(width * devicePixelRatio));
+    canvas.setAttribute("height", Math.round(height * devicePixelRatio));
+    let context = canvas.getContext("2d");
     let flags =
           context.DRAWWINDOW_DRAW_CARET |
           context.DRAWWINDOW_DRAW_VIEW |
           context.DRAWWINDOW_USE_WIDGET_LAYERS;
     context.scale(devicePixelRatio, devicePixelRatio);
-    context.drawWindow(window, 0, 0, width, height, 'rgb(255,255,255)', flags);
-    let dataURL = canvas.toDataURL('image/png')
+    context.drawWindow(window, 0, 0, width, height, "rgb(255,255,255)", flags);
+    let dataURL = canvas.toDataURL("image/png");
     return new LongStringActor(this.conn, dataURL);
-  }, {request: {},response: { value: RetVal("longstring")}}),
+  }, {request: {}, response: { value: RetVal("longstring")}}),
 
-  getRawPermissionsTable: method(function() {
+  getRawPermissionsTable: method(function () {
     return {
       rawPermissionsTable: PermissionsTable,
       UNKNOWN_ACTION: Ci.nsIPermissionManager.UNKNOWN_ACTION,
       ALLOW_ACTION: Ci.nsIPermissionManager.ALLOW_ACTION,
       DENY_ACTION: Ci.nsIPermissionManager.DENY_ACTION,
       PROMPT_ACTION: Ci.nsIPermissionManager.PROMPT_ACTION
     };
-  }, {request: {},response: { value: RetVal("json")}})
+  }, {request: {}, response: { value: RetVal("json")}})
 });
 
 var DeviceFront = protocol.FrontClass(DeviceActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client);
     this.actorID = form.deviceActor;
     this.manage(this);
   },
 
-  screenshotToBlob: function() {
+  screenshotToBlob: function () {
     return this.screenshotToDataURL().then(longstr => {
       return longstr.string().then(dataURL => {
         let deferred = promise.defer();
         longstr.release().then(null, Cu.reportError);
         let req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
         req.open("GET", dataURL, true);
         req.responseType = "blob";
         req.onload = () => {
           deferred.resolve(req.response);
         };
         req.onerror = () => {
           deferred.reject(req.status);
-        }
+        };
         req.send();
         return deferred.promise;
       });
     });
   },
 });
 
 const _knownDeviceFronts = new WeakMap();
 
-exports.getDeviceFront = function(client, form) {
+exports.getDeviceFront = function (client, form) {
   if (!form.deviceActor) {
     return null;
   }
 
   if (_knownDeviceFronts.has(client)) {
     return _knownDeviceFronts.get(client);
   }
 
--- a/devtools/server/actors/director-manager.js
+++ b/devtools/server/actors/director-manager.js
@@ -9,20 +9,20 @@
 const events = require("sdk/event/core");
 const protocol = require("devtools/shared/protocol");
 
 const { Cu, Ci } = require("chrome");
 
 const { on, once, off, emit } = events;
 const { method, Arg, Option, RetVal, types } = protocol;
 
-const { sandbox, evaluate } = require('sdk/loader/sandbox');
+const { sandbox, evaluate } = require("sdk/loader/sandbox");
 const { Class } = require("sdk/core/heritage");
 
-const { PlainTextConsole } = require('sdk/console/plain-text');
+const { PlainTextConsole } = require("sdk/console/plain-text");
 
 const { DirectorRegistry } = require("./director-registry");
 
 /**
  * Error Messages
  */
 
 const ERR_MESSAGEPORT_FINALIZED = "message port finalized";
@@ -52,25 +52,25 @@ var MessagePortActor = exports.MessagePo
   /**
    * Create a MessagePort actor.
    *
    * @param DebuggerServerConnection conn
    *        The server connection.
    * @param MessagePort port
    *        The wrapped MessagePort.
    */
-  initialize: function(conn, port) {
+  initialize: function (conn, port) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     // NOTE: can't get a weak reference because we need to subscribe events
     // using port.onmessage or addEventListener
     this.port = port;
   },
 
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
   /**
    * Sends a message on the wrapped message port.
    *
    * @param Object msg
@@ -247,30 +247,30 @@ var DirectorScriptActor = exports.Direct
    *        The tab (or root) actor.
    * @param String scriptId
    *        The director-script id.
    * @param String scriptCode
    *        The director-script javascript source.
    * @param Object scriptOptions
    *        The director-script options object.
    */
-  initialize: function(conn, tabActor, { scriptId, scriptCode, scriptOptions }) {
+  initialize: function (conn, tabActor, { scriptId, scriptCode, scriptOptions }) {
     protocol.Actor.prototype.initialize.call(this, conn, tabActor);
 
     this.tabActor = tabActor;
 
     this._scriptId = scriptId;
     this._scriptCode = scriptCode;
     this._scriptOptions = scriptOptions;
     this._setupCalled = false;
 
-    this._onGlobalCreated   = this._onGlobalCreated.bind(this);
+    this._onGlobalCreated = this._onGlobalCreated.bind(this);
     this._onGlobalDestroyed = this._onGlobalDestroyed.bind(this);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
 
     this.finalize();
   },
 
   /**
    * Starts listening to the tab global created, in order to create the director-script sandbox
    * using the configured scriptCode, attached/detached automatically to the tab
@@ -343,17 +343,17 @@ var DirectorScriptActor = exports.Direct
   }),
 
   // local helpers
   get window() {
     return this.tabActor.window;
   },
 
   /* event handlers */
-  _onGlobalCreated: function({ id, window, isTopLevel }) {
+  _onGlobalCreated: function ({ id, window, isTopLevel }) {
     if (!isTopLevel) {
       // filter iframes
       return;
     }
 
     try {
       if (this._lastAttachedWinId) {
         // if we have received a global created without a previous global destroyed,
@@ -370,63 +370,63 @@ var DirectorScriptActor = exports.Direct
         scriptCode: this._scriptCode,
         scriptOptions: this._scriptOptions
       });
 
       // attach the global window
       this._lastAttachedWinId = id;
       var port = this._scriptSandbox.attach(window, id);
       this._onDirectorScriptAttach(window, port);
-    } catch(e) {
+    } catch (e) {
       this._onDirectorScriptError(e);
     }
   },
-  _onGlobalDestroyed: function({ id }) {
-     if (id !== this._lastAttachedWinId) {
+  _onGlobalDestroyed: function ({ id }) {
+    if (id !== this._lastAttachedWinId) {
        // filter destroyed globals
-       return;
-     }
+      return;
+    }
 
      // unmanage and cleanup the messageport actor
-     if (this._messagePortActor) {
-       this.unmanage(this._messagePortActor);
-       this._messagePortActor = null;
-     }
+    if (this._messagePortActor) {
+      this.unmanage(this._messagePortActor);
+      this._messagePortActor = null;
+    }
 
      // NOTE: destroy here the old worker
-     if (this._scriptSandbox) {
-       this._scriptSandbox.destroy(this._onDirectorScriptError.bind(this));
+    if (this._scriptSandbox) {
+      this._scriptSandbox.destroy(this._onDirectorScriptError.bind(this));
 
        // send a detach event to the debugger client
-       emit(this, "detach", {
-         directorScriptId: this._scriptId,
-         innerId: this._lastAttachedWinId
-       });
+      emit(this, "detach", {
+        directorScriptId: this._scriptId,
+        innerId: this._lastAttachedWinId
+      });
 
-       this._lastAttachedWinId = null;
-       this._scriptSandbox = null;
-     }
+      this._lastAttachedWinId = null;
+      this._scriptSandbox = null;
+    }
   },
-  _onDirectorScriptError: function(error) {
+  _onDirectorScriptError: function (error) {
     // route the content script error to the debugger client
     if (error) {
       // prevents silent director-script-errors
       console.error("director-script-error", error);
       // route errors to debugger server clients
       emit(this, "error", {
         directorScriptId: this._scriptId,
         message: error.toString(),
         stack: error.stack,
         fileName: error.fileName,
         lineNumber: error.lineNumber,
         columnNumber: error.columnNumber
       });
     }
   },
-  _onDirectorScriptAttach: function(window, port) {
+  _onDirectorScriptAttach: function (window, port) {
     let portActor = new MessagePortActor(this.conn, port);
     this.manage(portActor);
     this._messagePortActor = portActor;
 
     emit(this, "attach", {
       directorScriptId: this._scriptId,
       url: (window && window.location) ? window.location.toString() : "",
       innerId: this._lastAttachedWinId,
@@ -464,22 +464,22 @@ const DirectorManagerActor = exports.Dir
     },
     "director-script-detach": {
       type: "detach",
       data: Arg(0, "director-script-detach")
     }
   },
 
   /* init & destroy methods */
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
     this._directorScriptActorsMap = new Map();
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
   /**
    * Retrieves the list of installed director-scripts.
    */
   list: method(function () {
@@ -499,17 +499,17 @@ const DirectorManagerActor = exports.Dir
    * Bulk enabling director-scripts.
    *
    * @param Array[String] selectedIds
    *        The list of director-script ids to be enabled,
    *        ["*"] will activate all the installed director-scripts
    * @param Boolean reload
    *        optionally reload the target window
    */
-  enableByScriptIds: method(function(selectedIds, { reload }) {
+  enableByScriptIds: method(function (selectedIds, { reload }) {
     if (selectedIds && selectedIds.length === 0) {
       // filtered all director scripts ids
       return;
     }
 
     for (let scriptId of DirectorRegistry.list()) {
       // filter director script ids
       if (selectedIds.indexOf("*") < 0 &&
@@ -539,17 +539,17 @@ const DirectorManagerActor = exports.Dir
    * Bulk disabling director-scripts.
    *
    * @param Array[String] selectedIds
    *        The list of director-script ids to be disable,
    *        ["*"] will de-activate all the enable director-scripts
    * @param Boolean reload
    *        optionally reload the target window
    */
-  disableByScriptIds: method(function(selectedIds, { reload }) {
+  disableByScriptIds: method(function (selectedIds, { reload }) {
     if (selectedIds && selectedIds.length === 0) {
       // filtered all director scripts ids
       return;
     }
 
     for (let scriptId of this._directorScriptActorsMap.keys()) {
       // filter director script ids
       if (selectedIds.indexOf("*") < 0 &&
@@ -578,17 +578,17 @@ const DirectorManagerActor = exports.Dir
       reload: Option(1, "boolean")
     }
   }),
 
   /**
    * Retrieves the actor instance of an installed director-script
    * (and create the actor instance if it doesn't exists yet).
    */
-  getByScriptId: method(function(scriptId) {
+  getByScriptId: method(function (scriptId) {
     var id = scriptId;
     // raise an unknown director-script id exception
     if (!DirectorRegistry.checkInstalled(id)) {
       console.error(ERR_DIRECTOR_UNKNOWN_SCRIPTID, id);
       throw Error(ERR_DIRECTOR_UNKNOWN_SCRIPTID);
     }
 
     // get a previous created actor instance
@@ -620,49 +620,49 @@ const DirectorManagerActor = exports.Dir
     request: {
       scriptId: Arg(0, "string")
     },
     response: {
       directorScript: RetVal("director-script")
     }
   }),
 
-  finalize: method(function() {
+  finalize: method(function () {
     this.disableByScriptIds(["*"], false);
   }, {
     oneway: true
   })
 });
 
 /**
  * The corresponding Front object for the DirectorManagerActor.
  */
 exports.DirectorManagerFront = protocol.FrontClass(DirectorManagerActor, {
-  initialize: function(client, { directorManagerActor }) {
+  initialize: function (client, { directorManagerActor }) {
     protocol.Front.prototype.initialize.call(this, client, {
       actor: directorManagerActor
     });
     this.manage(this);
   }
 });
 
 /* private helpers */
 
 /**
  * DirectorScriptSandbox is a private utility class, which attach a non-priviliged sandbox
  * to a target window.
  */
 const DirectorScriptSandbox = Class({
-  initialize: function({scriptId, scriptCode, scriptOptions}) {
+  initialize: function ({scriptId, scriptCode, scriptOptions}) {
     this._scriptId = scriptId;
     this._scriptCode = scriptCode;
     this._scriptOptions = scriptOptions;
   },
 
-  attach: function(window, innerId) {
+  attach: function (window, innerId) {
     this._innerId = innerId,
     this._window = window;
     this._proto = Cu.createObjectIn(this._window);
 
     var id = this._scriptId;
     var uri = this._scriptCode;
 
     this._sandbox = sandbox(window, {
@@ -699,27 +699,27 @@ const DirectorScriptSandbox = Class({
         enumerable: true,
         value: Cu.cloneInto(directorScriptConsole, this._sandbox, { cloneFunctions: true })
       }
     });
 
     Object.defineProperties(this._sandbox, {
       require: {
         enumerable: true,
-        value: Cu.cloneInto(function() {
+        value: Cu.cloneInto(function () {
           throw Error("NOT IMPLEMENTED");
         }, this._sandbox, { cloneFunctions: true })
       }
     });
 
     // TODO: if the debugger target is local, the debugger client could pass
     // to the director actor the resource url instead of the entire javascript source code.
 
     // evaluate the director script source in the sandbox
-    evaluate(this._sandbox, this._scriptCode, 'javascript:' + this._scriptCode);
+    evaluate(this._sandbox, this._scriptCode, "javascript:" + this._scriptCode);
 
     // prepare the messageport connected to the debugger client
     let { port1, port2 } = new this._window.MessageChannel();
 
     // prepare the unload callbacks queue
     var sandboxOnUnloadQueue = this._sandboxOnUnloadQueue = [];
 
     // create the attach options
@@ -753,24 +753,24 @@ const DirectorScriptSandbox = Class({
                   "' is not exported by the directorScript");
     }
 
     // call the attach method
     this._sandboxOnAttach.call(this._sandbox, attachOptions);
 
     return port2;
   },
-  destroy:  function(onError) {
+  destroy:  function (onError) {
     // evaluate queue unload methods if any
-    while(this._sandboxOnUnloadQueue && this._sandboxOnUnloadQueue.length > 0) {
+    while (this._sandboxOnUnloadQueue && this._sandboxOnUnloadQueue.length > 0) {
       let cb = this._sandboxOnUnloadQueue.pop();
 
       try {
         cb();
-      } catch(e) {
+      } catch (e) {
         console.error("Exception on DirectorScript Sandbox destroy", e);
         onError(e);
       }
     }
 
     Cu.nukeSandbox(this._sandbox);
   }
 });
--- a/devtools/server/actors/director-registry.js
+++ b/devtools/server/actors/director-registry.js
@@ -36,17 +36,17 @@ const DirectorRegistry = exports.Directo
    * Register a Director Script with the debugger server.
    * @param id string
    *    The ID of a director script.
    * @param directorScriptDef object
    *    The definition of a director script.
    */
   install: function (id, scriptDef) {
     if (id in gDirectorScripts) {
-      console.error(ERR_DIRECTOR_INSTALL_TWICE,id);
+      console.error(ERR_DIRECTOR_INSTALL_TWICE, id);
       return false;
     }
 
     if (!scriptDef) {
       console.error(ERR_DIRECTOR_INSTALL_EMPTY, id);
       return false;
     }
 
@@ -55,17 +55,17 @@ const DirectorRegistry = exports.Directo
     return true;
   },
 
   /**
    * Unregister a Director Script with the debugger server.
    * @param id string
    *    The ID of a director script.
    */
-  uninstall: function(id) {
+  uninstall: function (id) {
     if (id in gDirectorScripts) {
       delete gDirectorScripts[id];
 
       return true;
     }
 
     console.error(ERR_DIRECTOR_UNINSTALL_UNKNOWN, id);
 
@@ -81,32 +81,32 @@ const DirectorRegistry = exports.Directo
     return (this.list().indexOf(id) >= 0);
   },
 
   /**
    * Returns a registered director script definition by id.
    * @param id string
    *    The ID of a director script.
    */
-  get: function(id) {
+  get: function (id) {
     return gDirectorScripts[id];
   },
 
   /**
    * Returns an array of registered director script ids.
    */
-  list: function() {
+  list: function () {
     return Object.keys(gDirectorScripts);
   },
 
   /**
    * Removes all the registered director scripts.
    */
-  clear: function() {
-   gDirectorScripts = Object.create(null);
+  clear: function () {
+    gDirectorScripts = Object.create(null);
   }
 };
 
 /**
  * E10S parent/child setup helpers
  */
 
 var gTrackedMessageManager = new Set();
@@ -134,23 +134,23 @@ exports.setupParentProcess = function se
     gTrackedMessageManager.delete(mm);
 
     // unregister for director-script requests handlers from the parent process (if any)
     mm.removeMessageListener("debug:director-registry-request", handleChildRequest);
   }
 
   function handleChildRequest(msg) {
     switch (msg.json.method) {
-    case "get":
-      return DirectorRegistry.get(msg.json.args[0]);
-    case "list":
-      return DirectorRegistry.list();
-    default:
-      console.error(ERR_DIRECTOR_PARENT_UNKNOWN_METHOD, msg.json.method);
-      throw new Error(ERR_DIRECTOR_PARENT_UNKNOWN_METHOD);
+      case "get":
+        return DirectorRegistry.get(msg.json.args[0]);
+      case "list":
+        return DirectorRegistry.list();
+      default:
+        console.error(ERR_DIRECTOR_PARENT_UNKNOWN_METHOD, msg.json.method);
+        throw new Error(ERR_DIRECTOR_PARENT_UNKNOWN_METHOD);
     }
   }
 };
 
 // skip child setup if this actor module is not running in a child process
 if (DebuggerServer.isInChildProcess) {
   setupChildProcess();
 }
@@ -187,52 +187,52 @@ function setupChildProcess() {
       console.error(ERR_DIRECTOR_CHILD_NO_REPLY);
       throw Error(ERR_DIRECTOR_CHILD_NO_REPLY);
     } else if (reply.length > 1) {
       console.error(ERR_DIRECTOR_CHILD_MULTIPLE_REPLIES);
       throw Error(ERR_DIRECTOR_CHILD_MULTIPLE_REPLIES);
     }
 
     return reply[0];
-  };
-};
+  }
+}
 
 /**
  * The DirectorRegistry Actor is a global actor which manages install/uninstall of
  * director scripts definitions.
  */
 const DirectorRegistryActor = exports.DirectorRegistryActor = protocol.ActorClass({
   typeName: "director-registry",
 
   /* init & destroy methods */
-  initialize: function(conn, parentActor) {
+  initialize: function (conn, parentActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
-  finalize: method(function() {
+  finalize: method(function () {
     // nothing to cleanup
   }, {
     oneway: true
   }),
 
   /**
    * Install a new director-script definition.
    *
    * @param String id
    *        The director-script definition identifier.
    * @param String scriptCode
    *        The director-script javascript source.
    * @param Object scriptOptions
    *        The director-script option object.
    */
-  install: method(function(id, { scriptCode, scriptOptions }) {
+  install: method(function (id, { scriptCode, scriptOptions }) {
     // TODO: add more checks on id format?
     if (!id || id.length === 0) {
       throw Error("director-script id is mandatory");
     }
 
     if (!scriptCode) {
       throw Error("director-script scriptCode is mandatory");
     }
@@ -281,15 +281,15 @@ const DirectorRegistryActor = exports.Di
     }
   })
 });
 
 /**
  * The corresponding Front object for the DirectorRegistryActor.
  */
 exports.DirectorRegistryFront = protocol.FrontClass(DirectorRegistryActor, {
-  initialize: function(client, { directorRegistryActor }) {
+  initialize: function (client, { directorRegistryActor }) {
     protocol.Front.prototype.initialize.call(this, client, {
       actor: directorRegistryActor
     });
     this.manage(this);
   }
 });
--- a/devtools/server/actors/environment.js
+++ b/devtools/server/actors/environment.js
@@ -74,17 +74,17 @@ let EnvironmentActor = ActorClass({
    * @param string name
    *        The name of the variable to be changed.
    * @param any value
    *        The value to be assigned.
    */
   assign: method(function (name, value) {
     // TODO: enable the commented-out part when getVariableDescriptor lands
     // (bug 725815).
-    /*let desc = this.obj.getVariableDescriptor(name);
+    /* let desc = this.obj.getVariableDescriptor(name);
 
     if (!desc.writable) {
       return { error: "immutableBinding",
                message: "Changing the value of an immutable binding is not " +
                         "allowed" };
     }*/
 
     try {
@@ -112,17 +112,17 @@ let EnvironmentActor = ActorClass({
    * lexical environment.
    */
   bindings: method(function () {
     let bindings = { arguments: [], variables: {} };
 
     // TODO: this part should be removed in favor of the commented-out part
     // below when getVariableDescriptor lands (bug 725815).
     if (typeof this.obj.getVariable != "function") {
-    //if (typeof this.obj.getVariableDescriptor != "function") {
+    // if (typeof this.obj.getVariableDescriptor != "function") {
       return bindings;
     }
 
     let parameterNames;
     if (this.obj.callee) {
       parameterNames = this.obj.callee.parameterNames;
     } else {
       parameterNames = [];
@@ -156,18 +156,18 @@ let EnvironmentActor = ActorClass({
           this.threadActor.objectGrip);
       }
       arg[name] = descForm;
       bindings.arguments.push(arg);
     }
 
     for (let name of this.obj.names()) {
       if (bindings.arguments.some(function exists(element) {
-                                    return !!element[name];
-                                  })) {
+        return !!element[name];
+      })) {
         continue;
       }
 
       let value = this.obj.getVariable(name);
 
       // TODO: this part should be removed in favor of the commented-out part
       // below when getVariableDescriptor lands.
       let desc = {
@@ -175,17 +175,17 @@ let EnvironmentActor = ActorClass({
         configurable: false,
         writable: !(value &&
                     (value.optimizedOut ||
                      value.uninitialized ||
                      value.missingArguments)),
         enumerable: true
       };
 
-      //let desc = this.obj.getVariableDescriptor(name);
+      // let desc = this.obj.getVariableDescriptor(name);
       let descForm = {
         enumerable: true,
         configurable: desc.configurable
       };
       if ("value" in desc) {
         descForm.value = createValueGrip(desc.value,
           this.registeredPool, this.threadActor.objectGrip);
         descForm.writable = desc.writable;
--- a/devtools/server/actors/errordocs.js
+++ b/devtools/server/actors/errordocs.js
@@ -5,19 +5,19 @@
 /**
  * A mapping of error message names to external documentation. Any error message
  * included here will be displayed alongside its link in the web console.
  */
 
 "use strict";
 
 const ErrorDocs = {
-    JSMSG_READ_ONLY: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Read-only",
-    JSMSG_BAD_ARRAY_LENGTH: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length",
-    JSMSG_NEGATIVE_REPETITION_COUNT: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Negative_repetition_count",
-    JSMSG_RESULTING_STRING_TOO_LARGE: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Resulting_string_too_large",
-    JSMSG_BAD_RADIX: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_radix",
-    JSMSG_PRECISION_RANGE: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Precision_range",
-    JSMSG_BAD_FORMAL: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Malformed_formal_parameter",
-    JSMSG_STMT_AFTER_RETURN: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Stmt_after_return",
-}
+  JSMSG_READ_ONLY: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Read-only",
+  JSMSG_BAD_ARRAY_LENGTH: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length",
+  JSMSG_NEGATIVE_REPETITION_COUNT: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Negative_repetition_count",
+  JSMSG_RESULTING_STRING_TOO_LARGE: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Resulting_string_too_large",
+  JSMSG_BAD_RADIX: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_radix",
+  JSMSG_PRECISION_RANGE: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Precision_range",
+  JSMSG_BAD_FORMAL: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Malformed_formal_parameter",
+  JSMSG_STMT_AFTER_RETURN: "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Stmt_after_return",
+};
 
 exports.GetURL = (errorName) => ErrorDocs[errorName];
--- a/devtools/server/actors/eventlooplag.js
+++ b/devtools/server/actors/eventlooplag.js
@@ -26,39 +26,39 @@ var EventLoopLagActor = exports.EventLoo
       type: "event-loop-lag",
       time: Arg(0, "number") // duration of the lag in milliseconds.
     }
   },
 
   /**
    * Start tracking the event loop lags.
    */
-  start: method(function() {
+  start: method(function () {
     if (!this._observerAdded) {
-      Services.obs.addObserver(this, 'event-loop-lag', false);
+      Services.obs.addObserver(this, "event-loop-lag", false);
       this._observerAdded = true;
     }
     return Services.appShell.startEventLoopLagTracking();
   }, {
     request: {},
     response: {success: RetVal("number")}
   }),
 
   /**
    * Stop tracking the event loop lags.
    */
-  stop: method(function() {
+  stop: method(function () {
     if (this._observerAdded) {
-      Services.obs.removeObserver(this, 'event-loop-lag');
+      Services.obs.removeObserver(this, "event-loop-lag");
       this._observerAdded = false;
     }
     Services.appShell.stopEventLoopLagTracking();
-  }, {request: {},response: {}}),
+  }, {request: {}, response: {}}),
 
-  destroy: function() {
+  destroy: function () {
     this.stop();
     protocol.Actor.prototype.destroy.call(this);
   },
 
   // nsIObserver
 
   observe: function (subject, topic, data) {
     if (topic == "event-loop-lag") {
@@ -66,14 +66,14 @@ var EventLoopLagActor = exports.EventLoo
       events.emit(this, "event-loop-lag", data);
     }
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
 });
 
 exports.EventLoopLagFront = protocol.FrontClass(EventLoopLagActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client);
     this.actorID = form.eventLoopLagActor;
     this.manage(this);
   },
 });
--- a/devtools/server/actors/frame.js
+++ b/devtools/server/actors/frame.js
@@ -19,17 +19,17 @@ let FrameActor = ActorClass({
   /**
    * Creates the Frame actor.
    *
    * @param frame Debugger.Frame
    *        The debuggee frame.
    * @param threadActor ThreadActor
    *        The parent thread actor for this frame.
    */
-  initialize: function(frame, threadActor) {
+  initialize: function (frame, threadActor) {
     this.frame = frame;
     this.threadActor = threadActor;
   },
 
   /**
    * A pool that contains frame-lifetime objects, like the environment.
    */
   _frameLifetimePool: null,
@@ -40,25 +40,25 @@ let FrameActor = ActorClass({
     }
     return this._frameLifetimePool;
   },
 
   /**
    * Finalization handler that is called when the actor is being evicted from
    * the pool.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.conn.removeActorPool(this._frameLifetimePool);
     this._frameLifetimePool = null;
   },
 
   /**
    * Returns a frame form for use in a protocol message.
    */
-  form: function() {
+  form: function () {
     let threadActor = this.threadActor;
     let form = { actor: this.actorID,
                  type: this.frame.type };
     if (this.frame.type === "call") {
       form.callee = createValueGrip(this.frame.callee, threadActor._pausePool,
         threadActor.objectGrip);
     }
 
@@ -83,17 +83,17 @@ let FrameActor = ActorClass({
 
     if (!this.frame.older) {
       form.oldest = true;
     }
 
     return form;
   },
 
-  _args: function() {
+  _args: function () {
     if (!this.frame.arguments) {
       return [];
     }
 
     return this.frame.arguments.map(arg => createValueGrip(arg,
       this.threadActor._pausePool, this.threadActor.objectGrip));
   }
 });
--- a/devtools/server/actors/framerate.js
+++ b/devtools/server/actors/framerate.js
@@ -16,17 +16,17 @@ const { Framerate } = require("devtools/
  * @see devtools/server/performance/framerate.js for documentation.
  */
 var FramerateActor = exports.FramerateActor = protocol.ActorClass({
   typeName: "framerate",
   initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.bridge = new Framerate(tabActor);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.bridge.destroy();
   },
 
   startRecording: actorBridge("startRecording", {}),
 
   stopRecording: actorBridge("stopRecording", {
     request: {
@@ -50,13 +50,13 @@ var FramerateActor = exports.FramerateAc
     response: { ticks: RetVal("array:number") }
   }),
 });
 
 /**
  * The corresponding Front object for the FramerateActor.
  */
 var FramerateFront = exports.FramerateFront = protocol.FrontClass(FramerateActor, {
-  initialize: function(client, { framerateActor }) {
+  initialize: function (client, { framerateActor }) {
     protocol.Front.prototype.initialize.call(this, client, { actor: framerateActor });
     this.manage(this);
   }
 });
--- a/devtools/server/actors/gcli.js
+++ b/devtools/server/actors/gcli.js
@@ -18,30 +18,30 @@ const GcliActor = ActorClass({
   typeName: "gcli",
 
   events: {
     "commands-changed" : {
       type: "commandsChanged"
     }
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     Actor.prototype.initialize.call(this, conn);
 
     this._commandsChanged = this._commandsChanged.bind(this);
 
     this._tabActor = tabActor;
     this._requisitionPromise = undefined; // see _getRequisition()
   },
 
-  disconnect: function() {
+  disconnect: function () {
     return this.destroy();
   },
 
-  destroy: function() {
+  destroy: function () {
     Actor.prototype.destroy.call(this);
 
     // If _getRequisition has not been called, just bail quickly
     if (this._requisitionPromise == null) {
       this._commandsChanged = undefined;
       this._tabActor = undefined;
       return Promise.resolve();
     }
@@ -58,46 +58,46 @@ const GcliActor = ActorClass({
 
       this._commandsChanged = undefined;
     });
   },
 
   /**
    * Load a module into the requisition
    */
-  _testOnly_addItemsByModule: method(function(names) {
+  _testOnly_addItemsByModule: method(function (names) {
     return this._getRequisition().then(requisition => {
       return requisition.system.addItemsByModule(names);
     });
   }, {
     request: {
       customProps: Arg(0, "array:string")
     }
   }),
 
   /**
    * Unload a module from the requisition
    */
-  _testOnly_removeItemsByModule: method(function(names) {
+  _testOnly_removeItemsByModule: method(function (names) {
     return this._getRequisition().then(requisition => {
       return requisition.system.removeItemsByModule(names);
     });
   }, {
     request: {
       customProps: Arg(0, "array:string")
     }
   }),
 
   /**
    * Retrieve a list of the remotely executable commands
    * @param customProps Array of strings containing additional properties which,
    * if specified in the command spec, will be included in the JSON. Normally we
    * transfer only the properties required for GCLI to function.
    */
-  specs: method(function(customProps) {
+  specs: method(function (customProps) {
     return this._getRequisition().then(requisition => {
       return requisition.system.commands.getCommandSpecs(customProps);
     });
   }, {
     request: {
       customProps: Arg(0, "nullable:array:string")
     },
     response: {
@@ -107,31 +107,31 @@ const GcliActor = ActorClass({
 
   /**
    * Execute a GCLI command
    * @return a promise of an object with the following properties:
    * - data: The output of the command
    * - type: The type of the data to allow selection of a converter
    * - error: True if the output was considered an error
    */
-  execute: method(function(typed) {
+  execute: method(function (typed) {
     return this._getRequisition().then(requisition => {
       return requisition.updateExec(typed).then(output => output.toJson());
     });
   }, {
     request: {
       typed: Arg(0, "string") // The command string
     },
     response: RetVal("json")
   }),
 
   /**
    * Get the state of an input string. i.e. requisition.getStateData()
    */
-  state: method(function(typed, start, rank) {
+  state: method(function (typed, start, rank) {
     return this._getRequisition().then(requisition => {
       return requisition.update(typed).then(() => {
         return requisition.getStateData(start, rank);
       });
     });
   }, {
     request: {
       typed: Arg(0, "string"), // The command string
@@ -143,17 +143,17 @@ const GcliActor = ActorClass({
 
   /**
    * Call type.parse to check validity. Used by the remote type
    * @return a promise of an object with the following properties:
    * - status: Of of the following strings: VALID|INCOMPLETE|ERROR
    * - message: The message to display to the user
    * - predictions: An array of suggested values for the given parameter
    */
-  parseType: method(function(typed, paramName) {
+  parseType: method(function (typed, paramName) {
     return this._getRequisition().then(requisition => {
       return requisition.update(typed).then(() => {
         let assignment = requisition.getAssignment(paramName);
         return Promise.resolve(assignment.predictions).then(predictions => {
           return {
             status: assignment.getStatus().toString(),
             message: assignment.message,
             predictions: predictions
@@ -168,17 +168,17 @@ const GcliActor = ActorClass({
     },
     response: RetVal("json")
   }),
 
   /**
    * Get the incremented/decremented value of some type
    * @return a promise of a string containing the new argument text
    */
-  nudgeType: method(function(typed, by, paramName) {
+  nudgeType: method(function (typed, by, paramName) {
     return this.requisition.update(typed).then(() => {
       const assignment = this.requisition.getAssignment(paramName);
       return this.requisition.nudge(assignment, by).then(() => {
         return assignment.arg == null ? undefined : assignment.arg.text;
       });
     });
   }, {
     request: {
@@ -187,17 +187,17 @@ const GcliActor = ActorClass({
       paramName: Arg(2, "string") // The name of the parameter to parse
     },
     response: RetVal("string")
   }),
 
   /**
    * Perform a lookup on a selection type to get the allowed values
    */
-  getSelectionLookup: method(function(commandName, paramName) {
+  getSelectionLookup: method(function (commandName, paramName) {
     return this._getRequisition().then(requisition => {
       const command = requisition.system.commands.get(commandName);
       if (command == null) {
         throw new Error("No command called '" + commandName + "'");
       }
 
       let type;
       command.params.forEach(param => {
@@ -224,19 +224,19 @@ const GcliActor = ActorClass({
       paramName: Arg(1, "string"),   // The name of the parameter
     },
     response: RetVal("json")
   }),
 
   /**
    * Lazy init for a Requisition
    */
-  _getRequisition: function() {
+  _getRequisition: function () {
     if (this._tabActor == null) {
-      throw new Error('GcliActor used post-destroy');
+      throw new Error("GcliActor used post-destroy");
     }
 
     if (this._requisitionPromise != null) {
       return this._requisitionPromise;
     }
 
     const Requisition = require("gcli/cli").Requisition;
     const tabActor = this._tabActor;
@@ -273,28 +273,28 @@ const GcliActor = ActorClass({
     });
 
     return this._requisitionPromise;
   },
 
   /**
    * Pass events from requisition.system.commands.onCommandsChange upwards
    */
-  _commandsChanged: function() {
+  _commandsChanged: function () {
     events.emit(this, "commands-changed");
   },
 });
 
 exports.GcliActor = GcliActor;
 
 /**
  *
  */
 const GcliFront = exports.GcliFront = FrontClass(GcliActor, {
-  initialize: function(client, tabForm) {
+  initialize: function (client, tabForm) {
     Front.prototype.initialize.call(this, client);
     this.actorID = tabForm.gcliActor;
 
     // XXX: This is the first actor type in its hierarchy to use the protocol
     // library, so we're going to self-own on the client side for now.
     this.manage(this);
   },
 });
@@ -302,17 +302,17 @@ const GcliFront = exports.GcliFront = Fr
 // A cache of created fronts: WeakMap<Client, Front>
 const knownFronts = new WeakMap();
 
 /**
  * Create a GcliFront only when needed (returns a promise)
  * For notes on target.makeRemote(), see
  * https://bugzilla.mozilla.org/show_bug.cgi?id=1016330#c7
  */
-exports.GcliFront.create = function(target) {
+exports.GcliFront.create = function (target) {
   return target.makeRemote().then(() => {
     let front = knownFronts.get(target.client);
     if (front == null && target.form.gcliActor != null) {
       front = new GcliFront(target.client, target.form);
       knownFronts.set(target.client, front);
     }
     return front;
   });
--- a/devtools/server/actors/highlighters.js
+++ b/devtools/server/actors/highlighters.js
@@ -76,17 +76,17 @@ exports.register = register;
  * Other types of highlighter actors exist and can be accessed via the
  * InspectorActor's 'getHighlighterByType' method.
  */
 
 /**
  * The HighlighterActor class
  */
 var HighlighterActor = exports.HighlighterActor = protocol.ActorClassWithSpec(highlighterSpec, {
-  initialize: function(inspector, autohide) {
+  initialize: function (inspector, autohide) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this._autohide = autohide;
     this._inspector = inspector;
     this._walker = this._inspector.walker;
     this._tabActor = this._inspector.tabActor;
     this._highlighterEnv = new HighlighterEnvironment();
     this._highlighterEnv.initFromTabActor(this._tabActor);
@@ -101,64 +101,64 @@ var HighlighterActor = exports.Highlight
     // SimpleOutlineHighlighter, and back, if the top level window changes.
     events.on(this._tabActor, "navigate", this._onNavigate);
   },
 
   get conn() {
     return this._inspector && this._inspector.conn;
   },
 
-  form: function() {
+  form: function () {
     return {
       actor: this.actorID,
       traits: {
         autoHideOnDestroy: true
       }
     };
   },
 
-  _createHighlighter: function() {
+  _createHighlighter: function () {
     this._isPreviousWindowXUL = isXUL(this._tabActor.window);
 
     if (!this._isPreviousWindowXUL) {
       this._highlighter = new BoxModelHighlighter(this._highlighterEnv,
                                                   this._inspector);
       this._highlighter.on("ready", this._highlighterReady);
       this._highlighter.on("hide", this._highlighterHidden);
     } else {
       this._highlighter = new SimpleOutlineHighlighter(this._highlighterEnv);
     }
   },
 
-  _destroyHighlighter: function() {
+  _destroyHighlighter: function () {
     if (this._highlighter) {
       if (!this._isPreviousWindowXUL) {
         this._highlighter.off("ready", this._highlighterReady);
         this._highlighter.off("hide", this._highlighterHidden);
       }
       this._highlighter.destroy();
       this._highlighter = null;
     }
   },
 
-  _onNavigate: function({isTopLevel}) {
+  _onNavigate: function ({isTopLevel}) {
     // Skip navigation events for non top-level windows, or if the document
     // doesn't exist anymore.
     if (!isTopLevel || !this._tabActor.window.document.documentElement) {
       return;
     }
 
     // Only rebuild the highlighter if the window type changed.
     if (isXUL(this._tabActor.window) !== this._isPreviousWindowXUL) {
       this._destroyHighlighter();
       this._createHighlighter();
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Actor.prototype.destroy.call(this);
 
     this.hideBoxModel();
     this._destroyHighlighter();
     events.off(this._tabActor, "navigate", this._onNavigate);
 
     this._highlighterEnv.destroy();
     this._highlighterEnv = null;
@@ -174,44 +174,44 @@ var HighlighterActor = exports.Highlight
    * There is only one instance of the box model highlighter, so calling this
    * method several times won't display several highlighters, it will just move
    * the highlighter instance to these nodes.
    *
    * @param NodeActor The node to be highlighted
    * @param Options See the request part for existing options. Note that not
    * all options may be supported by all types of highlighters.
    */
-  showBoxModel: function(node, options = {}) {
+  showBoxModel: function (node, options = {}) {
     if (node && isNodeValid(node.rawNode)) {
       this._highlighter.show(node.rawNode, options);
     } else {
       this._highlighter.hide();
     }
   },
 
   /**
    * Hide the box model highlighting if it was shown before
    */
-  hideBoxModel: function() {
+  hideBoxModel: function () {
     this._highlighter.hide();
   },
 
   /**
    * Returns `true` if the event was dispatched from a window included in
    * the current highlighter environment; or if the highlighter environment has
    * chrome privileges
    *
    * The method is specifically useful on B2G, where we do not want that events
    * from app or main process are processed if we're inspecting the content.
    *
    * @param {Event} event
    *          The event to allow
    * @return {Boolean}
    */
-  _isEventAllowed: function({view}) {
+  _isEventAllowed: function ({view}) {
     let { window } = this._highlighterEnv;
 
     return window instanceof Ci.nsIDOMChromeWindow ||
           isWindowIncluded(window, view);
   },
 
   /**
    * Pick a node on click, and highlight hovered nodes in the process.
@@ -222,17 +222,17 @@ var HighlighterActor = exports.Highlight
    * clicked.
    *
    * Once a node is picked, events will cease, and listeners will be removed.
    */
   _isPicking: false,
   _hoveredNode: null,
   _currentNode: null,
 
-  pick: function() {
+  pick: function () {
     if (this._isPicking) {
       return null;
     }
     this._isPicking = true;
 
     this._preventContentEvent = event => {
       event.stopPropagation();
       event.preventDefault();
@@ -342,55 +342,55 @@ var HighlighterActor = exports.Highlight
       events.emit(this._walker, "picker-node-hovered", this._currentNode);
     };
 
     this._startPickerListeners();
 
     return null;
   },
 
-  _findAndAttachElement: function(event) {
+  _findAndAttachElement: function (event) {
     // originalTarget allows access to the "real" element before any retargeting
     // is applied, such as in the case of XBL anonymous elements.  See also
     // https://developer.mozilla.org/docs/XBL/XBL_1.0_Reference/Anonymous_Content#Event_Flow_and_Targeting
     let node = event.originalTarget || event.target;
     return this._walker.attachElement(node);
   },
 
-  _startPickerListeners: function() {
+  _startPickerListeners: function () {
     let target = this._highlighterEnv.pageListenerTarget;
     target.addEventListener("mousemove", this._onHovered, true);
     target.addEventListener("click", this._onPick, true);
     target.addEventListener("mousedown", this._preventContentEvent, true);
     target.addEventListener("mouseup", this._preventContentEvent, true);
     target.addEventListener("dblclick", this._preventContentEvent, true);
     target.addEventListener("keydown", this._onKey, true);
     target.addEventListener("keyup", this._preventContentEvent, true);
   },
 
-  _stopPickerListeners: function() {
+  _stopPickerListeners: function () {
     let target = this._highlighterEnv.pageListenerTarget;
     target.removeEventListener("mousemove", this._onHovered, true);
     target.removeEventListener("click", this._onPick, true);
     target.removeEventListener("mousedown", this._preventContentEvent, true);
     target.removeEventListener("mouseup", this._preventContentEvent, true);
     target.removeEventListener("dblclick", this._preventContentEvent, true);
     target.removeEventListener("keydown", this._onKey, true);
     target.removeEventListener("keyup", this._preventContentEvent, true);
   },
 
-  _highlighterReady: function() {
+  _highlighterReady: function () {
     events.emit(this._inspector.walker, "highlighter-ready");
   },
 
-  _highlighterHidden: function() {
+  _highlighterHidden: function () {
     events.emit(this._inspector.walker, "highlighter-hide");
   },
 
-  cancelPick: function() {
+  cancelPick: function () {
     if (this._isPicking) {
       this._highlighter.hide();
       this._stopPickerListeners();
       this._isPicking = false;
       this._hoveredNode = null;
     }
   }
 });
@@ -400,17 +400,17 @@ var HighlighterActor = exports.Highlight
  * type name and allows to show/hide it.
  */
 var CustomHighlighterActor = exports.CustomHighlighterActor = protocol.ActorClassWithSpec(customHighlighterSpec, {
   /**
    * Create a highlighter instance given its typename
    * The typename must be one of HIGHLIGHTER_CLASSES and the class must
    * implement constructor(tabActor), show(node), hide(), destroy()
    */
-  initialize: function(inspector, typeName) {
+  initialize: function (inspector, typeName) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this._inspector = inspector;
 
     let constructor = highlighterTypes.get(typeName);
     if (!constructor) {
       let list = [...highlighterTypes.keys()];
 
@@ -428,23 +428,23 @@ var CustomHighlighterActor = exports.Cus
         "highlighter cannot be created in a XUL window");
     }
   },
 
   get conn() {
     return this._inspector && this._inspector.conn;
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Actor.prototype.destroy.call(this);
     this.finalize();
     this._inspector = null;
   },
 
-  release: function() {},
+  release: function () {},
 
   /**
    * Show the highlighter.
    * This calls through to the highlighter instance's |show(node, options)|
    * method.
    *
    * Most custom highlighters are made to highlight DOM nodes, hence the first
    * NodeActor argument (NodeActor as in
@@ -454,38 +454,38 @@ var CustomHighlighterActor = exports.Cus
    * position of the provided rect. The SelectHighlighter uses it as a base node
    * to run the provided CSS selector on.
    *
    * @param {NodeActor} The node to be highlighted
    * @param {Object} Options for the custom highlighter
    * @return {Boolean} True, if the highlighter has been successfully shown
    * (FF41+)
    */
-  show: function(node, options) {
+  show: function (node, options) {
     if (!node || !isNodeValid(node.rawNode) || !this._highlighter) {
       return false;
     }
 
     return this._highlighter.show(node.rawNode, options);
   },
 
   /**
    * Hide the highlighter if it was shown before
    */
-  hide: function() {
+  hide: function () {
     if (this._highlighter) {
       this._highlighter.hide();
     }
   },
 
   /**
    * Kill this actor. This method is called automatically just before the actor
    * is destroyed.
    */
-  finalize: function() {
+  finalize: function () {
     if (this._highlighter) {
       this._highlighter.destroy();
       this._highlighter = null;
     }
 
     if (this._highlighterEnv) {
       this._highlighterEnv.destroy();
       this._highlighterEnv = null;
@@ -511,36 +511,36 @@ function HighlighterEnvironment() {
   this.relayTabActorWillNavigate = this.relayTabActorWillNavigate.bind(this);
 
   EventEmitter.decorate(this);
 }
 
 exports.HighlighterEnvironment = HighlighterEnvironment;
 
 HighlighterEnvironment.prototype = {
-  initFromTabActor: function(tabActor) {
+  initFromTabActor: function (tabActor) {
     this._tabActor = tabActor;
     events.on(this._tabActor, "navigate", this.relayTabActorNavigate);
     events.on(this._tabActor, "will-navigate", this.relayTabActorWillNavigate);
   },
 
-  initFromWindow: function(win) {
+  initFromWindow: function (win) {
     this._win = win;
 
     // We need a progress listener to know when the window will navigate/has
     // navigated.
     let self = this;
     this.listener = {
       QueryInterface: XPCOMUtils.generateQI([
         Ci.nsIWebProgressListener,
         Ci.nsISupportsWeakReference,
         Ci.nsISupports
       ]),
 
-      onStateChange: function(progress, request, flag) {
+      onStateChange: function (progress, request, flag) {
         let isStart = flag & Ci.nsIWebProgressListener.STATE_START;
         let isStop = flag & Ci.nsIWebProgressListener.STATE_STOP;
         let isWindow = flag & Ci.nsIWebProgressListener.STATE_IS_WINDOW;
         let isDocument = flag & Ci.nsIWebProgressListener.STATE_IS_DOCUMENT;
 
         if (progress.DOMWindow !== win) {
           return;
         }
@@ -610,25 +610,25 @@ HighlighterEnvironment.prototype = {
    */
   get pageListenerTarget() {
     if (this._tabActor && this._tabActor.isRootActor) {
       return this.window;
     }
     return this.docShell.chromeEventHandler;
   },
 
-  relayTabActorNavigate: function(data) {
+  relayTabActorNavigate: function (data) {
     this.emit("navigate", data);
   },
 
-  relayTabActorWillNavigate: function(data) {
+  relayTabActorWillNavigate: function (data) {
     this.emit("will-navigate", data);
   },
 
-  destroy: function() {
+  destroy: function () {
     if (this._tabActor) {
       events.off(this._tabActor, "navigate", this.relayTabActorNavigate);
       events.off(this._tabActor, "will-navigate", this.relayTabActorWillNavigate);
     }
 
     // In case the environment was initialized from a window, we need to remove
     // the progress listener.
     if (this._win) {
--- a/devtools/server/actors/highlighters/auto-refresh.js
+++ b/devtools/server/actors/highlighters/auto-refresh.js
@@ -56,17 +56,17 @@ AutoRefreshHighlighter.prototype = {
   },
 
   /**
    * Show the highlighter on a given node
    * @param {DOMNode} node
    * @param {Object} options
    *        Object used for passing options
    */
-  show: function(node, options = {}) {
+  show: function (node, options = {}) {
     let isSameNode = node === this.currentNode;
     let isSameOptions = this._isSameOptions(options);
 
     if (!isNodeValid(node) || (isSameNode && isSameOptions)) {
       return false;
     }
 
     this.options = options;
@@ -81,17 +81,17 @@ AutoRefreshHighlighter.prototype = {
       this.emit("shown");
     }
     return shown;
   },
 
   /**
    * Hide the highlighter
    */
-  hide: function() {
+  hide: function () {
     if (!isNodeValid(this.currentNode)) {
       return;
     }
 
     this._hide();
     this._stopRefreshLoop();
     this.currentNode = null;
     this.currentQuads = {};
@@ -99,17 +99,17 @@ AutoRefreshHighlighter.prototype = {
 
     this.emit("hidden");
   },
 
   /**
    * Are the provided options the same as the currently stored options?
    * Returns false if there are no options stored currently.
    */
-  _isSameOptions: function(options) {
+  _isSameOptions: function (options) {
     if (!this.options) {
       return false;
     }
 
     let keys = Object.keys(options);
 
     if (keys.length !== Object.keys(this.options).length) {
       return false;
@@ -122,83 +122,83 @@ AutoRefreshHighlighter.prototype = {
     }
 
     return true;
   },
 
   /**
    * Update the stored box quads by reading the current node's box quads.
    */
-  _updateAdjustedQuads: function() {
+  _updateAdjustedQuads: function () {
     for (let region of BOX_MODEL_REGIONS) {
       this.currentQuads[region] = getAdjustedQuads(
         this.win,
         this.currentNode, region);
     }
   },
 
   /**
    * Update the knowledge we have of the current node's boxquads and return true
    * if any of the points x/y or bounds have change since.
    * @return {Boolean}
    */
-  _hasMoved: function() {
+  _hasMoved: function () {
     let oldQuads = JSON.stringify(this.currentQuads);
     this._updateAdjustedQuads();
     let newQuads = JSON.stringify(this.currentQuads);
     return oldQuads !== newQuads;
   },
 
   /**
    * Update the highlighter if the node has moved since the last update.
    */
-  update: function() {
+  update: function () {
     if (!isNodeValid(this.currentNode) || !this._hasMoved()) {
       return;
     }
 
     this._update();
     this.emit("updated");
   },
 
-  _show: function() {
+  _show: function () {
     // To be implemented by sub classes
     // When called, sub classes should actually show the highlighter for
     // this.currentNode, potentially using options in this.options
     throw new Error("Custom highlighter class had to implement _show method");
   },
 
-  _update: function() {
+  _update: function () {
     // To be implemented by sub classes
     // When called, sub classes should update the highlighter shown for
     // this.currentNode
     // This is called as a result of a page scroll, zoom or repaint
     throw new Error("Custom highlighter class had to implement _update method");
   },
 
-  _hide: function() {
+  _hide: function () {
     // To be implemented by sub classes
     // When called, sub classes should actually hide the highlighter
     throw new Error("Custom highlighter class had to implement _hide method");
   },
 
-  _startRefreshLoop: function() {
+  _startRefreshLoop: function () {
     let win = this.currentNode.ownerDocument.defaultView;
     this.rafID = win.requestAnimationFrame(this._startRefreshLoop.bind(this));
     this.rafWin = win;
     this.update();
   },
 
-  _stopRefreshLoop: function() {
+  _stopRefreshLoop: function () {
     if (this.rafID && !Cu.isDeadWrapper(this.rafWin)) {
       this.rafWin.cancelAnimationFrame(this.rafID);
     }
     this.rafID = this.rafWin = null;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.hide();
 
     this.highlighterEnv = null;
     this.currentNode = null;
   }
 };
 exports.AutoRefreshHighlighter = AutoRefreshHighlighter;
--- a/devtools/server/actors/highlighters/box-model.js
+++ b/devtools/server/actors/highlighters/box-model.js
@@ -111,17 +111,17 @@ BoxModelHighlighter.prototype = extend(A
     return this._currentNode;
   },
 
   set currentNode(node) {
     this._currentNode = node;
     this._computedStyle = null;
   },
 
-  _buildMarkup: function() {
+  _buildMarkup: function () {
     let doc = this.win.document;
 
     let highlighterContainer = doc.createElement("div");
     highlighterContainer.className = "highlighter-container";
 
     // Build the root wrapper, used to adapt to the page zoom.
     let rootWrapper = createNode(this.win, {
       parent: highlighterContainer,
@@ -255,67 +255,67 @@ BoxModelHighlighter.prototype = extend(A
     });
 
     return highlighterContainer;
   },
 
   /**
    * Destroy the nodes. Remove listeners.
    */
-  destroy: function() {
+  destroy: function () {
     AutoRefreshHighlighter.prototype.destroy.call(this);
 
     this.markup.destroy();
 
     this._currentNode = null;
   },
 
-  getElement: function(id) {
+  getElement: function (id) {
     return this.markup.getElement(this.ID_CLASS_PREFIX + id);
   },
 
   /**
    * Show the highlighter on a given node
    */
-  _show: function() {
+  _show: function () {
     if (BOX_MODEL_REGIONS.indexOf(this.options.region) == -1) {
       this.options.region = "content";
     }
 
     let shown = this._update();
     this._trackMutations();
     this.emit("ready");
     return shown;
   },
 
   /**
    * Track the current node markup mutations so that the node info bar can be
    * updated to reflects the node's attributes
    */
-  _trackMutations: function() {
+  _trackMutations: function () {
     if (isNodeValid(this.currentNode)) {
       let win = this.currentNode.ownerDocument.defaultView;
       this.currentNodeObserver = new win.MutationObserver(this.update);
       this.currentNodeObserver.observe(this.currentNode, {attributes: true});
     }
   },
 
-  _untrackMutations: function() {
+  _untrackMutations: function () {
     if (isNodeValid(this.currentNode) && this.currentNodeObserver) {
       this.currentNodeObserver.disconnect();
       this.currentNodeObserver = null;
     }
   },
 
   /**
    * Update the highlighter on the current highlighted node (the one that was
    * passed as an argument to show(node)).
    * Should be called whenever node size or attributes change
    */
-  _update: function() {
+  _update: function () {
     let shown = false;
     setIgnoreLayoutChanges(true);
 
     if (this._updateBoxModel()) {
       if (!this.options.hideInfoBar) {
         this._showInfobar();
       } else {
         this._hideInfobar();
@@ -330,66 +330,66 @@ BoxModelHighlighter.prototype = extend(A
     setIgnoreLayoutChanges(false, this.currentNode.ownerDocument.documentElement);
 
     return shown;
   },
 
   /**
    * Hide the highlighter, the outline and the infobar.
    */
-  _hide: function() {
+  _hide: function () {
     setIgnoreLayoutChanges(true);
 
     this._untrackMutations();
     this._hideBoxModel();
     this._hideInfobar();
 
     setIgnoreLayoutChanges(false, this.currentNode.ownerDocument.documentElement);
   },
 
   /**
    * Hide the infobar
    */
-  _hideInfobar: function() {
+  _hideInfobar: function () {
     this.getElement("nodeinfobar-container").setAttribute("hidden", "true");
   },
 
   /**
    * Show the infobar
    */
-  _showInfobar: function() {
+  _showInfobar: function () {
     this.getElement("nodeinfobar-container").removeAttribute("hidden");
     this._updateInfobar();
   },
 
   /**
    * Hide the box model
    */
-  _hideBoxModel: function() {
+  _hideBoxModel: function () {
     this.getElement("elements").setAttribute("hidden", "true");
   },
 
   /**
    * Show the box model
    */
-  _showBoxModel: function() {
+  _showBoxModel: function () {
     this.getElement("elements").removeAttribute("hidden");
   },
 
   /**
    * Calculate an outer quad based on the quads returned by getAdjustedQuads.
    * The BoxModelHighlighter may highlight more than one boxes, so in this case
    * create a new quad that "contains" all of these quads.
    * This is useful to position the guides and nodeinfobar.
    * This may happen if the BoxModelHighlighter is used to highlight an inline
    * element that spans line breaks.
    * @param {String} region The box-model region to get the outer quad for.
    * @return {Object} A quad-like object {p1,p2,p3,p4,bounds}
    */
-  _getOuterQuad: function(region) {
+  _getOuterQuad: function (region) {
     let quads = this.currentQuads[region];
     if (!quads.length) {
       return null;
     }
 
     let quad = {
       p1: {x: Infinity, y: Infinity},
       p2: {x: -Infinity, y: Infinity},
@@ -431,17 +431,17 @@ BoxModelHighlighter.prototype = extend(A
   },
 
   /**
    * Update the box model as per the current node.
    *
    * @return {boolean}
    *         True if the current node has a box model to be highlighted
    */
-  _updateBoxModel: function() {
+  _updateBoxModel: function () {
     let options = this.options;
     options.region = options.region || "content";
 
     if (!this._nodeNeedsHighlighting()) {
       this._hideBoxModel();
       return false;
     }
 
@@ -489,17 +489,17 @@ BoxModelHighlighter.prototype = extend(A
 
     // Un-zoom the root wrapper if the page was zoomed.
     let rootId = this.ID_CLASS_PREFIX + "root";
     this.markup.scaleRootElement(this.currentNode, rootId);
 
     return true;
   },
 
-  _getBoxPathCoordinates: function(boxQuad, nextBoxQuad) {
+  _getBoxPathCoordinates: function (boxQuad, nextBoxQuad) {
     let {p1, p2, p3, p4} = boxQuad;
 
     let path;
     if (!nextBoxQuad || !this.options.onlyRegionArea) {
       // If this is the content box (inner-most box) or if we're not being asked
       // to highlight only region areas, then draw a simple rectangle.
       path = "M" + p1.x + "," + p1.y + " " +
              "L" + p2.x + "," + p2.y + " " +
@@ -518,33 +518,33 @@ BoxModelHighlighter.prototype = extend(A
              "L" + np3.x + "," + np3.y + " " +
              "L" + np2.x + "," + np2.y + " " +
              "L" + np1.x + "," + np1.y;
     }
 
     return path;
   },
 
-  _nodeNeedsHighlighting: function() {
+  _nodeNeedsHighlighting: function () {
     let hasNoQuads = !this.currentQuads.margin.length &&
                      !this.currentQuads.border.length &&
                      !this.currentQuads.padding.length &&
                      !this.currentQuads.content.length;
     if (!isNodeValid(this.currentNode) || hasNoQuads) {
       return false;
     }
 
     if (!this._computedStyle) {
       this._computedStyle = getComputedStyle(this.currentNode);
     }
 
     return this._computedStyle.getPropertyValue("display") !== "none";
   },
 
-  _getOuterBounds: function() {
+  _getOuterBounds: function () {
     for (let region of ["margin", "border", "padding", "content"]) {
       let quad = this._getOuterQuad(region);
 
       if (!quad) {
         // Invisible element such as a script tag.
         break;
       }
 
@@ -567,17 +567,17 @@ BoxModelHighlighter.prototype = extend(A
     };
   },
 
   /**
    * We only want to show guides for horizontal and vertical edges as this helps
    * to line them up. This method finds these edges and displays a guide there.
    * @param {String} region The region around which the guides should be shown.
    */
-  _showGuides: function(region) {
+  _showGuides: function (region) {
     let {p1, p2, p3, p4} = this._getOuterQuad(region);
 
     let allX = [p1.x, p2.x, p3.x, p4.x].sort((a, b) => a - b);
     let allY = [p1.y, p2.y, p3.y, p4.y].sort((a, b) => a - b);
     let toShowX = [];
     let toShowY = [];
 
     for (let arr of [allX, allY]) {
@@ -597,32 +597,32 @@ BoxModelHighlighter.prototype = extend(A
 
     // Move guide into place or hide it if no valid co-ordinate was found.
     this._updateGuide("top", toShowY[0]);
     this._updateGuide("right", toShowX[1]);
     this._updateGuide("bottom", toShowY[1]);
     this._updateGuide("left", toShowX[0]);
   },
 
-  _hideGuides: function() {
+  _hideGuides: function () {
     for (let side of BOX_MODEL_SIDES) {
       this.getElement("guide-" + side).setAttribute("hidden", "true");
     }
   },
 
   /**
    * Move a guide to the appropriate position and display it. If no point is
    * passed then the guide is hidden.
    *
    * @param  {String} side
    *         The guide to update
    * @param  {Integer} point
    *         x or y co-ordinate. If this is undefined we hide the guide.
    */
-  _updateGuide: function(side, point = -1) {
+  _updateGuide: function (side, point = -1) {
     let guide = this.getElement("guide-" + side);
 
     if (point <= 0) {
       guide.setAttribute("hidden", "true");
       return false;
     }
 
     if (side === "top" || side === "bottom") {
@@ -640,17 +640,17 @@ BoxModelHighlighter.prototype = extend(A
     guide.removeAttribute("hidden");
 
     return true;
   },
 
   /**
    * Update node information (tagName#id.class)
    */
-  _updateInfobar: function() {
+  _updateInfobar: function () {
     if (!this.currentNode) {
       return;
     }
 
     let {bindingElement: node, pseudo} =
         getBindingElementAndPseudo(this.currentNode);
 
     // Update the tag, id, classes, pseudo-classes and dimensions
@@ -682,17 +682,17 @@ BoxModelHighlighter.prototype = extend(A
     this.getElement("nodeinfobar-dimensions").setTextContent(dim);
 
     this._moveInfobar();
   },
 
   /**
    * Move the Infobar to the right place in the highlighter.
    */
-  _moveInfobar: function() {
+  _moveInfobar: function () {
     let bounds = this._getOuterBounds();
     let winHeight = this.win.innerHeight * getCurrentZoom(this.win);
     let winWidth = this.win.innerWidth * getCurrentZoom(this.win);
 
     // Ensure that containerBottom and containerTop are at least zero to avoid
     // showing tooltips outside the viewport.
     let containerBottom = Math.max(0, bounds.bottom) + NODE_INFOBAR_ARROW_SIZE;
     let containerTop = Math.min(winHeight, bounds.top);
--- a/devtools/server/actors/highlighters/css-transform.js
+++ b/devtools/server/actors/highlighters/css-transform.js
@@ -29,17 +29,17 @@ function CssTransformHighlighter(highlig
     this._buildMarkup.bind(this));
 }
 
 CssTransformHighlighter.prototype = extend(AutoRefreshHighlighter.prototype, {
   typeName: "CssTransformHighlighter",
 
   ID_CLASS_PREFIX: "css-transform-",
 
-  _buildMarkup: function() {
+  _buildMarkup: function () {
     let container = createNode(this.win, {
       attributes: {
         "class": "highlighter-container"
       }
     });
 
     // The root wrapper is used to unzoom the highlighter when needed.
     let rootWrapper = createNode(this.win, {
@@ -130,54 +130,54 @@ CssTransformHighlighter.prototype = exte
     }
 
     return container;
   },
 
   /**
    * Destroy the nodes. Remove listeners.
    */
-  destroy: function() {
+  destroy: function () {
     AutoRefreshHighlighter.prototype.destroy.call(this);
     this.markup.destroy();
   },
 
-  getElement: function(id) {
+  getElement: function (id) {
     return this.markup.getElement(this.ID_CLASS_PREFIX + id);
   },
 
   /**
    * Show the highlighter on a given node
    */
-  _show: function() {
+  _show: function () {
     if (!this._isTransformed(this.currentNode)) {
       this.hide();
       return false;
     }
 
     return this._update();
   },
 
   /**
    * Checks if the supplied node is transformed and not inline
    */
-  _isTransformed: function(node) {
+  _isTransformed: function (node) {
     let style = getComputedStyle(node);
     return style && (style.transform !== "none" && style.display !== "inline");
   },
 
-  _setPolygonPoints: function(quad, id) {
+  _setPolygonPoints: function (quad, id) {
     let points = [];
     for (let point of ["p1", "p2", "p3", "p4"]) {
       points.push(quad[point].x + "," + quad[point].y);
     }
     this.getElement(id).setAttribute("points", points.join(" "));
   },
 
-  _setLinePoints: function(p1, p2, id) {
+  _setLinePoints: function (p1, p2, id) {
     let line = this.getElement(id);
     line.setAttribute("x1", p1.x);
     line.setAttribute("y1", p1.y);
     line.setAttribute("x2", p2.x);
     line.setAttribute("y2", p2.y);
 
     let dist = Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
     if (dist < ARROW_LINE_MIN_DISTANCE) {
@@ -187,17 +187,17 @@ CssTransformHighlighter.prototype = exte
     }
   },
 
   /**
    * Update the highlighter on the current highlighted node (the one that was
    * passed as an argument to show(node)).
    * Should be called whenever node size or attributes change
    */
-  _update: function() {
+  _update: function () {
     setIgnoreLayoutChanges(true);
 
     // Getting the points for the transformed shape
     let quads = this.currentQuads.border;
     if (!quads.length ||
         quads[0].bounds.width <= 0 || quads[0].bounds.height <= 0) {
       this._hideShapes();
       return false;
@@ -221,23 +221,23 @@ CssTransformHighlighter.prototype = exte
 
     setIgnoreLayoutChanges(false, this.currentNode.ownerDocument.documentElement);
     return true;
   },
 
   /**
    * Hide the highlighter, the outline and the infobar.
    */
-  _hide: function() {
+  _hide: function () {
     setIgnoreLayoutChanges(true);
     this._hideShapes();
     setIgnoreLayoutChanges(false, this.currentNode.ownerDocument.documentElement);
   },
 
-  _hideShapes: function() {
+  _hideShapes: function () {
     this.getElement("elements").setAttribute("hidden", "true");
   },
 
-  _showShapes: function() {
+  _showShapes: function () {
     this.getElement("elements").removeAttribute("hidden");
   }
 });
 exports.CssTransformHighlighter = CssTransformHighlighter;
--- a/devtools/server/actors/highlighters/geometry-editor.js
+++ b/devtools/server/actors/highlighters/geometry-editor.js
@@ -24,65 +24,65 @@ const _dragging = Symbol("geometry/dragg
 /**
  * Element geometry properties helper that gives names of position and size
  * properties.
  */
 var GeoProp = {
   SIDES: ["top", "right", "bottom", "left"],
   SIZES: ["width", "height"],
 
-  allProps: function() {
+  allProps: function () {
     return [...this.SIDES, ...this.SIZES];
   },
 
-  isSide: function(name) {
+  isSide: function (name) {
     return this.SIDES.indexOf(name) !== -1;
   },
 
-  isSize: function(name) {
+  isSize: function (name) {
     return this.SIZES.indexOf(name) !== -1;
   },
 
-  containsSide: function(names) {
+  containsSide: function (names) {
     return names.some(name => this.SIDES.indexOf(name) !== -1);
   },
 
-  containsSize: function(names) {
+  containsSize: function (names) {
     return names.some(name => this.SIZES.indexOf(name) !== -1);
   },
 
-  isHorizontal: function(name) {
+  isHorizontal: function (name) {
     return name === "left" || name === "right" || name === "width";
   },
 
-  isInverted: function(name) {
+  isInverted: function (name) {
     return name === "right" || name === "bottom";
   },
 
-  mainAxisStart: function(name) {
+  mainAxisStart: function (name) {
     return this.isHorizontal(name) ? "left" : "top";
   },
 
-  crossAxisStart: function(name) {
+  crossAxisStart: function (name) {
     return this.isHorizontal(name) ? "top" : "left";
   },
 
-  mainAxisSize: function(name) {
+  mainAxisSize: function (name) {
     return this.isHorizontal(name) ? "width" : "height";
   },
 
-  crossAxisSize: function(name) {
+  crossAxisSize: function (name) {
     return this.isHorizontal(name) ? "height" : "width";
   },
 
-  axis: function(name) {
+  axis: function (name) {
     return this.isHorizontal(name) ? "x" : "y";
   },
 
-  crossAxis: function(name) {
+  crossAxis: function (name) {
     return this.isHorizontal(name) ? "y" : "x";
   }
 };
 
 /**
  * Get the provided node's offsetParent dimensions.
  * Returns an object with the {parent, dimension} properties.
  * Note that the returned parent will be null if the offsetParent is the
@@ -229,17 +229,17 @@ function GeometryEditorHighlighter(highl
   }
 }
 
 GeometryEditorHighlighter.prototype = extend(AutoRefreshHighlighter.prototype, {
   typeName: "GeometryEditorHighlighter",
 
   ID_CLASS_PREFIX: "geometry-editor-",
 
-  _buildMarkup: function() {
+  _buildMarkup: function () {
     let container = createNode(this.win, {
       attributes: {"class": "highlighter-container"}
     });
 
     let root = createNode(this.win, {
       parent: container,
       attributes: {
         "id": "root",
@@ -357,17 +357,17 @@ GeometryEditorHighlighter.prototype = ex
         },
         prefix: this.ID_CLASS_PREFIX
       });
     }
 
     return container;
   },
 
-  destroy: function() {
+  destroy: function () {
     // Avoiding exceptions if `destroy` is called multiple times; and / or the
     // highlighter environment was already destroyed.
     if (!this.highlighterEnv) {
       return;
     }
 
     let { pageListenerTarget } = this.highlighterEnv;
 
@@ -377,17 +377,17 @@ GeometryEditorHighlighter.prototype = ex
     AutoRefreshHighlighter.prototype.destroy.call(this);
 
     this.markup.destroy();
     this.definedProperties.clear();
     this.definedProperties = null;
     this.offsetParent = null;
   },
 
-  handleEvent: function(event, id) {
+  handleEvent: function (event, id) {
     // No event handling if the highlighter is hidden
     if (this.getElement("root").hasAttribute("hidden")) {
       return;
     }
 
     const { type, pageX, pageY } = event;
 
     switch (type) {
@@ -465,21 +465,21 @@ GeometryEditorHighlighter.prototype = ex
         // well.
         this.currentNode.style.setProperty(
           side, (value + delta) + unit, "important");
 
         break;
     }
   },
 
-  getElement: function(id) {
+  getElement: function (id) {
     return this.markup.getElement(this.ID_CLASS_PREFIX + id);
   },
 
-  _show: function() {
+  _show: function () {
     this.computedStyle = getComputedStyle(this.currentNode);
     let pos = this.computedStyle.position;
     // XXX: sticky positioning is ignored for now. To be implemented next.
     if (pos === "sticky") {
       this.hide();
       return false;
     }
 
@@ -489,17 +489,17 @@ GeometryEditorHighlighter.prototype = ex
       return false;
     }
 
     this.getElement("root").removeAttribute("hidden");
 
     return true;
   },
 
-  _update: function() {
+  _update: function () {
     // At each update, the position or/and size may have changed, so get the
     // list of defined properties, and re-position the arrows and highlighters.
     this.definedProperties = getDefinedGeometryProperties(this.currentNode);
 
     if (!this.definedProperties.size) {
       console.warn("The element does not have editable geometry properties");
       return false;
     }
@@ -526,17 +526,17 @@ GeometryEditorHighlighter.prototype = ex
    *   (i.e. it's not just positioned in the viewport): the offsetParent node
    *   is highlighted (i.e. the rectangle is shown),
    * - the node is relatively positioned: the rectangle is shown where the node
    *   would originally have been (because that's where the relative positioning
    *   is calculated from),
    * - the node has no offset parent at all: the offsetParent rectangle is
    *   hidden.
    */
-  updateOffsetParent: function() {
+  updateOffsetParent: function () {
     // Get the offsetParent, if any.
     this.offsetParent = getOffsetParent(this.currentNode);
     // And the offsetParent quads.
     this.parentQuads = getAdjustedQuads(
         this.win, this.offsetParent.element, "padding");
 
     let el = this.getElement("offset-parent");
 
@@ -569,50 +569,50 @@ GeometryEditorHighlighter.prototype = ex
 
     if (isHighlighted) {
       el.removeAttribute("hidden");
     } else {
       el.setAttribute("hidden", "true");
     }
   },
 
-  updateCurrentNode: function() {
+  updateCurrentNode: function () {
     let box = this.getElement("current-node");
     let {p1, p2, p3, p4} = this.currentQuads.margin[0];
     let attr = p1.x + "," + p1.y + " " +
                p2.x + "," + p2.y + " " +
                p3.x + "," + p3.y + " " +
                p4.x + "," + p4.y;
     box.setAttribute("points", attr);
     box.removeAttribute("hidden");
   },
 
-  _hide: function() {
+  _hide: function () {
     setIgnoreLayoutChanges(true);
 
     this.getElement("root").setAttribute("hidden", "true");
     this.getElement("current-node").setAttribute("hidden", "true");
     this.getElement("offset-parent").setAttribute("hidden", "true");
     this.hideArrows();
 
     this.definedProperties.clear();
 
     setIgnoreLayoutChanges(false,
       this.currentNode.ownerDocument.documentElement);
   },
 
-  hideArrows: function() {
+  hideArrows: function () {
     for (let side of GeoProp.SIDES) {
       this.getElement("arrow-" + side).setAttribute("hidden", "true");
       this.getElement("label-" + side).setAttribute("hidden", "true");
       this.getElement("handler-" + side).setAttribute("hidden", "true");
     }
   },
 
-  updateArrows: function() {
+  updateArrows: function () {
     this.hideArrows();
 
     // Position arrows always end at the node's margin box.
     let marginBox = this.currentQuads.margin[0].bounds;
 
     // Position the side arrows which need to be visible.
     // Arrows always start at the offsetParent edge, and end at the middle
     // position of the node's margin edge.
@@ -661,17 +661,17 @@ GeometryEditorHighlighter.prototype = ex
       let crossAxisPos = marginBox[GeoProp.crossAxisStart(side)] +
                          marginBox[GeoProp.crossAxisSize(side)] / 2;
 
       this.updateArrow(side, mainAxisStartPos, mainAxisEndPos, crossAxisPos,
                        sideProp.cssRule.style.getPropertyValue(side));
     }
   },
 
-  updateArrow: function(side, mainStart, mainEnd, crossPos, labelValue) {
+  updateArrow: function (side, mainStart, mainEnd, crossPos, labelValue) {
     let arrowEl = this.getElement("arrow-" + side);
     let labelEl = this.getElement("label-" + side);
     let labelTextEl = this.getElement("label-text-" + side);
     let handlerEl = this.getElement("handler-" + side);
 
     // Position the arrow <line>.
     arrowEl.setAttribute(GeoProp.axis(side) + "1", mainStart);
     arrowEl.setAttribute(GeoProp.crossAxis(side) + "1", crossPos);
--- a/devtools/server/actors/highlighters/rect.js
+++ b/devtools/server/actors/highlighters/rect.js
@@ -17,37 +17,37 @@ function RectHighlighter(highlighterEnv)
   this.win = highlighterEnv.window;
   this.markup = new CanvasFrameAnonymousContentHelper(highlighterEnv,
     this._buildMarkup.bind(this));
 }
 
 RectHighlighter.prototype = {
   typeName: "RectHighlighter",
 
-  _buildMarkup: function() {
+  _buildMarkup: function () {
     let doc = this.win.document;
 
     let container = doc.createElement("div");
     container.className = "highlighter-container";
     container.innerHTML = "<div id=\"highlighted-rect\" " +
                           "class=\"highlighted-rect\" hidden=\"true\">";
 
     return container;
   },
 
-  destroy: function() {
+  destroy: function () {
     this.win = null;
     this.markup.destroy();
   },
 
-  getElement: function(id) {
+  getElement: function (id) {
     return this.markup.getElement(id);
   },
 
-  _hasValidOptions: function(options) {
+  _hasValidOptions: function (options) {
     let isValidNb = n => typeof n === "number" && n >= 0 && isFinite(n);
     return options && options.rect &&
            isValidNb(options.rect.x) &&
            isValidNb(options.rect.y) &&
            options.rect.width && isValidNb(options.rect.width) &&
            options.rect.height && isValidNb(options.rect.height);
   },
 
@@ -56,17 +56,17 @@ RectHighlighter.prototype = {
    * viewport this node is in. Using the provided node, the highligther will get
    * the parent documentElement and use it as context to position the
    * highlighter correctly.
    * @param {Object} options Accepts the following options:
    * - rect: mandatory object that should have the x, y, width, height
    *   properties
    * - fill: optional fill color for the rect
    */
-  show: function(node, options) {
+  show: function (node, options) {
     if (!this._hasValidOptions(options) || !node || !node.ownerDocument) {
       this.hide();
       return false;
     }
 
     let contextNode = node.ownerDocument.documentElement;
 
     // Caculate the absolute rect based on the context node's adjusted quads.
@@ -90,13 +90,13 @@ RectHighlighter.prototype = {
     // Set the coordinates of the highlighter and show it
     let rect = this.getElement("highlighted-rect");
     rect.setAttribute("style", style);
     rect.removeAttribute("hidden");
 
     return true;
   },
 
-  hide: function() {
+  hide: function () {
     this.getElement("highlighted-rect").setAttribute("hidden", "true");
   }
 };
 exports.RectHighlighter = RectHighlighter;
--- a/devtools/server/actors/highlighters/rulers.js
+++ b/devtools/server/actors/highlighters/rulers.js
@@ -36,17 +36,17 @@ function RulersHighlighter(highlighterEn
   pageListenerTarget.addEventListener("pagehide", this);
 }
 
 RulersHighlighter.prototype = {
   typeName: "RulersHighlighter",
 
   ID_CLASS_PREFIX: "rulers-highlighter-",
 
-  _buildMarkup: function() {
+  _buildMarkup: function () {
     let { window } = this.env;
     let prefix = this.ID_CLASS_PREFIX;
 
     function createRuler(axis, size) {
       let width, height;
       let isHorizontal = true;
 
       if (axis === "x") {
@@ -192,42 +192,42 @@ RulersHighlighter.prototype = {
     });
 
     createRuler("x", RULERS_MAX_X_AXIS);
     createRuler("y", RULERS_MAX_Y_AXIS);
 
     return container;
   },
 
-  handleEvent: function(event) {
+  handleEvent: function (event) {
     switch (event.type) {
       case "scroll":
         this._onScroll(event);
         break;
       case "pagehide":
         this.destroy();
         break;
     }
   },
 
-  _onScroll: function(event) {
+  _onScroll: function (event) {
     let prefix = this.ID_CLASS_PREFIX;
     let { scrollX, scrollY } = event.view;
 
     this.markup.getElement(`${prefix}x-axis-ruler`)
                         .setAttribute("transform", `translate(${-scrollX})`);
     this.markup.getElement(`${prefix}x-axis-text`)
                         .setAttribute("transform", `translate(${-scrollX})`);
     this.markup.getElement(`${prefix}y-axis-ruler`)
                         .setAttribute("transform", `translate(0, ${-scrollY})`);
     this.markup.getElement(`${prefix}y-axis-text`)
                         .setAttribute("transform", `translate(0, ${-scrollY})`);
   },
 
-  _update: function() {
+  _update: function () {
     let { window } = this.env;
 
     setIgnoreLayoutChanges(true);
 
     let zoom = getCurrentZoom(window);
     let isZoomChanged = zoom !== this._zoom;
 
     if (isZoomChanged) {
@@ -235,60 +235,60 @@ RulersHighlighter.prototype = {
       this.updateViewport();
     }
 
     setIgnoreLayoutChanges(false, window.document.documentElement);
 
     this._rafID = window.requestAnimationFrame(() => this._update());
   },
 
-  _cancelUpdate: function() {
+  _cancelUpdate: function () {
     if (this._rafID) {
       this.env.window.cancelAnimationFrame(this._rafID);
       this._rafID = 0;
     }
   },
-  updateViewport: function() {
+  updateViewport: function () {
     let { devicePixelRatio } = this.env.window;
 
     // Because `devicePixelRatio` is affected by zoom (see bug 809788),
     // in order to get the "real" device pixel ratio, we need divide by `zoom`
     let pixelRatio = devicePixelRatio / this._zoom;
 
     // The "real" device pixel ratio is used to calculate the max stroke
     // width we can actually assign: on retina, for instance, it would be 0.5,
     // where on non high dpi monitor would be 1.
     let minWidth = 1 / pixelRatio;
     let strokeWidth = Math.min(minWidth, minWidth / this._zoom);
 
     this.markup.getElement(this.ID_CLASS_PREFIX + "root").setAttribute("style",
       `stroke-width:${strokeWidth};`);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.hide();
 
     let { pageListenerTarget } = this.env;
     pageListenerTarget.removeEventListener("scroll", this);
     pageListenerTarget.removeEventListener("pagehide", this);
 
     this.markup.destroy();
 
     events.emit(this, "destroy");
   },
 
-  show: function() {
+  show: function () {
     this.markup.removeAttributeForElement(this.ID_CLASS_PREFIX + "elements",
       "hidden");
 
     this._update();
 
     return true;
   },
 
-  hide: function() {
+  hide: function () {
     this.markup.setAttributeForElement(this.ID_CLASS_PREFIX + "elements",
       "hidden", "true");
 
     this._cancelUpdate();
   }
 };
 exports.RulersHighlighter = RulersHighlighter;
--- a/devtools/server/actors/highlighters/selector.js
+++ b/devtools/server/actors/highlighters/selector.js
@@ -28,17 +28,17 @@ SelectorHighlighter.prototype = {
    * Show BoxModelHighlighter on each node that matches that provided selector.
    * @param {DOMNode} node A context node that is used to get the document on
    * which querySelectorAll should be executed. This node will NOT be
    * highlighted.
    * @param {Object} options Should at least contain the 'selector' option, a
    * string that will be used in querySelectorAll. On top of this, all of the
    * valid options to BoxModelHighlighter.show are also valid here.
    */
-  show: function(node, options = {}) {
+  show: function (node, options = {}) {
     this.hide();
 
     if (!isNodeValid(node) || !options.selector) {
       return false;
     }
 
     let nodes = [];
     try {
@@ -63,21 +63,21 @@ SelectorHighlighter.prototype = {
       highlighter.show(matchingNode, options);
       this._highlighters.push(highlighter);
       i++;
     }
 
     return true;
   },
 
-  hide: function() {
+  hide: function () {
     for (let highlighter of this._highlighters) {
       highlighter.destroy();
     }
     this._highlighters = [];
   },
 
-  destroy: function() {
+  destroy: function () {
     this.hide();
     this.highlighterEnv = null;
   }
 };
 exports.SelectorHighlighter = SelectorHighlighter;
--- a/devtools/server/actors/highlighters/simple-outline.js
+++ b/devtools/server/actors/highlighters/simple-outline.js
@@ -26,38 +26,38 @@ const SIMPLE_OUTLINE_SHEET = `.__fx-devt
 function SimpleOutlineHighlighter(highlighterEnv) {
   this.chromeDoc = highlighterEnv.document;
 }
 
 SimpleOutlineHighlighter.prototype = {
   /**
    * Destroy the nodes. Remove listeners.
    */
-  destroy: function() {
+  destroy: function () {
     this.hide();
     this.chromeDoc = null;
   },
 
   /**
    * Show the highlighter on a given node
    * @param {DOMNode} node
    */
-  show: function(node) {
+  show: function (node) {
     if (!this.currentNode || node !== this.currentNode) {
       this.hide();
       this.currentNode = node;
       installHelperSheet(node.ownerDocument.defaultView, SIMPLE_OUTLINE_SHEET);
       addPseudoClassLock(node, HIGHLIGHTED_PSEUDO_CLASS);
     }
     return true;
   },
 
   /**
    * Hide the highlighter, the outline and the infobar.
    */
-  hide: function() {
+  hide: function () {
     if (this.currentNode) {
       removePseudoClassLock(this.currentNode, HIGHLIGHTED_PSEUDO_CLASS);
       this.currentNode = null;
     }
   }
 };
 exports.SimpleOutlineHighlighter = SimpleOutlineHighlighter;
--- a/devtools/server/actors/highlighters/utils/markup.js
+++ b/devtools/server/actors/highlighters/utils/markup.js
@@ -235,33 +235,33 @@ function CanvasFrameAnonymousContentHelp
 
   this._onNavigate = this._onNavigate.bind(this);
   this.highlighterEnv.on("navigate", this._onNavigate);
 
   this.listeners = new Map();
 }
 
 CanvasFrameAnonymousContentHelper.prototype = {
-  destroy: function() {
+  destroy: function () {
     try {
       let doc = this.anonymousContentDocument;
       doc.removeAnonymousContent(this._content);
     } catch (e) {
       // If the current window isn't the one the content was inserted into, this
       // will fail, but that's fine.
     }
     this.highlighterEnv.off("navigate", this._onNavigate);
     this.highlighterEnv = this.nodeBuilder = this._content = null;
     this.anonymousContentDocument = null;
     this.anonymousContentGlobal = null;
 
     this._removeAllListeners();
   },
 
-  _insert: function() {
+  _insert: function () {
     // Insert the content node only if the page isn't in a XUL window, and if
     // the document still exists.
     if (!this.highlighterEnv.document.documentElement ||
         isXUL(this.highlighterEnv.window)) {
       return;
     }
     let doc = this.highlighterEnv.document;
 
@@ -284,57 +284,57 @@ CanvasFrameAnonymousContentHelper.protot
     // If it did, highlighters.css would be injected as an anonymous content
     // node using CanvasFrameAnonymousContentHelper instead.
     installHelperSheet(this.highlighterEnv.window,
       "@import url('" + STYLESHEET_URI + "');");
     let node = this.nodeBuilder();
     this._content = doc.insertAnonymousContent(node);
   },
 
-  _onNavigate: function(e, {isTopLevel}) {
+  _onNavigate: function (e, {isTopLevel}) {
     if (isTopLevel) {
       this._removeAllListeners();
       this._insert();
       this.anonymousContentDocument = this.highlighterEnv.document;
     }
   },
 
-  getTextContentForElement: function(id) {
+  getTextContentForElement: function (id) {
     if (!this.content) {
       return null;
     }
     return this.content.getTextContentForElement(id);
   },
 
-  setTextContentForElement: function(id, text) {
+  setTextContentForElement: function (id, text) {
     if (this.content) {
       this.content.setTextContentForElement(id, text);
     }
   },
 
-  setAttributeForElement: function(id, name, value) {
+  setAttributeForElement: function (id, name, value) {
     if (this.content) {
       this.content.setAttributeForElement(id, name, value);
     }
   },
 
-  getAttributeForElement: function(id, name) {
+  getAttributeForElement: function (id, name) {
     if (!this.content) {
       return null;
     }
     return this.content.getAttributeForElement(id, name);
   },
 
-  removeAttributeForElement: function(id, name) {
+  removeAttributeForElement: function (id, name) {
     if (this.content) {
       this.content.removeAttributeForElement(id, name);
     }
   },
 
-  hasAttributeForElement: function(id, name) {
+  hasAttributeForElement: function (id, name) {
     return typeof this.getAttributeForElement(id, name) === "string";
   },
 
   /**
    * Add an event listener to one of the elements inserted in the canvasFrame
    * native anonymous container.
    * Like other methods in this helper, this requires the ID of the element to
    * be passed in.
@@ -364,17 +364,17 @@ CanvasFrameAnonymousContentHelper.protot
    * browser level and if the event originalTarget is found to have the provided
    * ID, the callback is executed (and then IDs of parent nodes of the
    * originalTarget are checked too).
    *
    * @param {String} id
    * @param {String} type
    * @param {Function} handler
    */
-  addEventListenerForElement: function(id, type, handler) {
+  addEventListenerForElement: function (id, type, handler) {
     if (typeof id !== "string") {
       throw new Error("Expected a string ID in addEventListenerForElement but" +
         " got: " + id);
     }
 
     // If no one is listening for this type of event yet, add one listener.
     if (!this.listeners.has(type)) {
       let target = this.highlighterEnv.pageListenerTarget;
@@ -388,31 +388,31 @@ CanvasFrameAnonymousContentHelper.protot
   },
 
   /**
    * Remove an event listener from one of the elements inserted in the
    * canvasFrame native anonymous container.
    * @param {String} id
    * @param {String} type
    */
-  removeEventListenerForElement: function(id, type) {
+  removeEventListenerForElement: function (id, type) {
     let listeners = this.listeners.get(type);
     if (!listeners) {
       return;
     }
     listeners.delete(id);
 
     // If no one is listening for event type anymore, remove the listener.
     if (!this.listeners.has(type)) {
       let target = this.highlighterEnv.pageListenerTarget;
       target.removeEventListener(type, this, true);
     }
   },
 
-  handleEvent: function(event) {
+  handleEvent: function (event) {
     let listeners = this.listeners.get(event.type);
     if (!listeners) {
       return;
     }
 
     // Hide the originalTarget property to avoid exposing references to native
     // anonymous elements. See addEventListenerForElement's comment.
     let isPropagationStopped = false;
@@ -439,27 +439,27 @@ CanvasFrameAnonymousContentHelper.protot
         if (isPropagationStopped) {
           break;
         }
       }
       node = node.parentNode;
     }
   },
 
-  _removeAllListeners: function() {
+  _removeAllListeners: function () {
     if (this.highlighterEnv) {
       let target = this.highlighterEnv.pageListenerTarget;
       for (let [type] of this.listeners) {
         target.removeEventListener(type, this, true);
       }
     }
     this.listeners.clear();
   },
 
-  getElement: function(id) {
+  getElement: function (id) {
     let classList = new ClassList(this.getAttributeForElement(id, "class"));
 
     on(classList, "update", () => {
       this.setAttributeForElement(id, "class", classList.toString());
     });
 
     return {
       getTextContent: () => this.getTextContentForElement(id),
@@ -501,17 +501,17 @@ CanvasFrameAnonymousContentHelper.protot
    *
    * Note that if the matching element already has an inline style attribute, it
    * *won't* be preserved.
    *
    * @param {DOMNode} node This node is used to determine which container window
    * should be used to read the current zoom value.
    * @param {String} id The ID of the root element inserted with this API.
    */
-  scaleRootElement: function(node, id) {
+  scaleRootElement: function (node, id) {
     let zoom = getCurrentZoom(node);
     let value = "position:absolute;width:100%;height:100%;";
 
     if (zoom !== 1) {
       value = "position:absolute;";
       value += "transform-origin:top left;transform:scale(" + (1 / zoom) + ");";
       value += "width:" + (100 * zoom) + "%;height:" + (100 * zoom) + "%;";
     }
--- a/devtools/server/actors/inspector.js
+++ b/devtools/server/actors/inspector.js
@@ -389,17 +389,17 @@ var NodeActor = exports.NodeActor = prot
    */
   get _hasEventListeners() {
     let parsers = this._eventParsers;
     for (let [, {hasListeners}] of parsers) {
       try {
         if (hasListeners && hasListeners(this.rawNode)) {
           return true;
         }
-      } catch(e) {
+      } catch (e) {
         // An object attached to the node looked like a listener but wasn't...
         // do nothing.
       }
     }
     return false;
   },
 
   writeAttrs: function () {
@@ -447,17 +447,17 @@ var NodeActor = exports.NodeActor = prot
 
         for (let eventInfo of eventInfos) {
           if (normalizeHandler) {
             eventInfo.normalizeHandler = normalizeHandler;
           }
 
           this.processHandlerForEvent(node, events, dbg, eventInfo);
         }
-      } catch(e) {
+      } catch (e) {
         // An object attached to the node looked like a listener but wasn't...
         // do nothing.
       }
     }
 
     events.sort((a, b) => {
       return a.type.localeCompare(b.type);
     });
@@ -900,17 +900,17 @@ var WalkerActor = protocol.ActorClassWit
       eventListenerService.removeListenerChangeListener(
         this._onEventListenerChange);
 
       this.onMutations = null;
 
       this.tabActor = null;
 
       events.emit(this, "destroyed");
-    } catch(e) {
+    } catch (e) {
       console.error(e);
     }
   },
 
   release: function () {},
 
   unmanage: function (actor) {
     if (actor instanceof NodeActor) {
@@ -1100,17 +1100,17 @@ var WalkerActor = protocol.ActorClassWit
   parents: function (node, options = {}) {
     if (isNodeDead(node)) {
       return [];
     }
 
     let walker = this.getDocumentWalker(node.rawNode);
     let parents = [];
     let cur;
-    while((cur = walker.parentNode())) {
+    while ((cur = walker.parentNode())) {
       if (options.sameDocument &&
           nodeDocument(cur) != nodeDocument(node.rawNode)) {
         break;
       }
 
       if (options.sameTypeRootTreeItem &&
           nodeDocshell(cur).sameTypeRootTreeItem !=
           nodeDocshell(node.rawNode).sameTypeRootTreeItem) {
@@ -1449,17 +1449,17 @@ var WalkerActor = protocol.ActorClassWit
    * list into an array with `count` items, including the current node.
    */
   _readBackward: function (walker, count) {
     let ret = [];
     let node = walker.currentNode;
     do {
       ret.push(this._ref(node));
       node = walker.previousSibling();
-    } while(node && --count);
+    } while (node && --count);
     ret.reverse();
     return ret;
   },
 
   /**
    * Return the node that the parent process has asked to
    * inspect. This node is expected to be stored in gInspectingNode
    * (which is set by a message manager message to the child.js frame
@@ -1502,17 +1502,17 @@ var WalkerActor = protocol.ActorClassWit
    * @param NodeActor baseNode
    * @param string selector
    */
   querySelectorAll: function (baseNode, selector) {
     let nodeList = null;
 
     try {
       nodeList = baseNode.rawNode.querySelectorAll(selector);
-    } catch(e) {
+    } catch (e) {
       // Bad selector. Do nothing as the selector can come from a searchbox.
     }
 
     return new NodeListActor(this, nodeList);
   },
 
   /**
    * Get a list of nodes that match the given selector in all known frames of
@@ -1521,17 +1521,17 @@ var WalkerActor = protocol.ActorClassWit
    * @return {Array}
    */
   _multiFrameQuerySelectorAll: function (selector) {
     let nodes = [];
 
     for (let {document} of this.tabActor.windows) {
       try {
         nodes = [...nodes, ...document.querySelectorAll(selector)];
-      } catch(e) {
+      } catch (e) {
         // Bad selector. Do nothing as the selector can come from a searchbox.
       }
     }
 
     return nodes;
   },
 
   /**
@@ -2139,17 +2139,17 @@ var WalkerActor = protocol.ActorClassWit
 
     let oldNode = node.rawNode;
 
     // Create a new element with the same attributes as the current element and
     // prepare to replace the current node with it.
     let newNode;
     try {
       newNode = nodeDocument(oldNode).createElement(tagName);
-    } catch(x) {
+    } catch (x) {
       // Failed to create a new element with that tag name, ignore the change,
       // and signal the error to the front.
       return Promise.reject(new Error("Could not change node's tagName to " +
         tagName));
     }
 
     let attrs = oldNode.attributes;
     for (let i = 0; i < attrs.length; i++) {
@@ -2667,17 +2667,17 @@ var InspectorActor = exports.InspectorAc
    * and a size json object.
    * The image data is transmitted as a base64 encoded png data-uri.
    * The method rejects if the node isn't an image or if the image is missing
    *
    * Accepts a maxDim request parameter to resize images that are larger. This
    * is important as the resizing occurs server-side so that image-data being
    * transfered in the longstring back to the client will be that much smaller
    */
-  getImageDataFromURL: function(url, maxDim) {
+  getImageDataFromURL: function (url, maxDim) {
     let img = new this.window.Image();
     img.src = url;
 
     // imageToImageData waits for the image to load.
     return imageToImageData(img, maxDim).then(imageData => {
       return {
         data: LongStringActor(this.conn, imageData.data),
         size: imageData.size
@@ -2780,17 +2780,17 @@ DocumentWalker.prototype = {
   set currentNode(val) {
     this.walker.currentNode = val;
   },
 
   parentNode: function () {
     return this.walker.parentNode();
   },
 
-  nextNode: function() {
+  nextNode: function () {
     let node = this.walker.currentNode;
     if (!node) {
       return null;
     }
 
     let nextNode = this.walker.nextNode();
     while (nextNode &&
            this.filter(nextNode) === Ci.nsIDOMNodeFilter.FILTER_SKIP) {
--- a/devtools/server/actors/layout.js
+++ b/devtools/server/actors/layout.js
@@ -48,89 +48,89 @@ var ReflowActor = exports.ReflowActor = 
      * - isInterruptible {Boolean}
      */
     "reflows": {
       type: "reflows",
       reflows: Arg(0, "array:json")
     }
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     this.tabActor = tabActor;
     this._onReflow = this._onReflow.bind(this);
     this.observer = getLayoutChangesObserver(tabActor);
     this._isStarted = false;
   },
 
   /**
    * The reflow actor is the first (and last) in its hierarchy to use
    * protocol.js so it doesn't have a parent protocol actor that takes care of
    * its lifetime. So it needs a disconnect method to cleanup.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
-  destroy: function() {
+  destroy: function () {
     this.stop();
     releaseLayoutChangesObserver(this.tabActor);
     this.observer = null;
     this.tabActor = null;
 
     protocol.Actor.prototype.destroy.call(this);
   },
 
   /**
    * Start tracking reflows and sending events to clients about them.
    * This is a oneway method, do not expect a response and it won't return a
    * promise.
    */
-  start: method(function() {
+  start: method(function () {
     if (!this._isStarted) {
       this.observer.on("reflows", this._onReflow);
       this._isStarted = true;
     }
   }, {oneway: true}),
 
   /**
    * Stop tracking reflows and sending events to clients about them.
    * This is a oneway method, do not expect a response and it won't return a
    * promise.
    */
-  stop: method(function() {
+  stop: method(function () {
     if (this._isStarted) {
       this.observer.off("reflows", this._onReflow);
       this._isStarted = false;
     }
   }, {oneway: true}),
 
-  _onReflow: function(event, reflows) {
+  _onReflow: function (event, reflows) {
     if (this._isStarted) {
       events.emit(this, "reflows", reflows);
     }
   }
 });
 
 /**
  * Usage example of the reflow front:
  *
  * let front = ReflowFront(toolbox.target.client, toolbox.target.form);
  * front.on("reflows", this._onReflows);
  * front.start();
  * // now wait for events to come
  */
 exports.ReflowFront = protocol.FrontClass(ReflowActor, {
-  initialize: function(client, {reflowActor}) {
+  initialize: function (client, {reflowActor}) {
     protocol.Front.prototype.initialize.call(this, client, {actor: reflowActor});
     this.manage(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Front.prototype.destroy.call(this);
   },
 });
 
 /**
  * Base class for all sorts of observers that need to listen to events on the
  * tabActor's windows.
  * @param {TabActor} tabActor
@@ -151,17 +151,17 @@ Observable.prototype = {
   /**
    * Is the observer currently observing
    */
   isObserving: false,
 
   /**
    * Stop observing and detroy this observer instance
    */
-  destroy: function() {
+  destroy: function () {
     if (this.isDestroyed) {
       return;
     }
     this.isDestroyed = true;
 
     this.stop();
 
     events.off(this.tabActor, "window-ready", this._onWindowReady);
@@ -169,64 +169,64 @@ Observable.prototype = {
 
     this.callback = null;
     this.tabActor = null;
   },
 
   /**
    * Start observing whatever it is this observer is supposed to observe
    */
-  start: function() {
+  start: function () {
     if (this.isObserving) {
       return;
     }
     this.isObserving = true;
 
     this._startListeners(this.tabActor.windows);
   },
 
   /**
    * Stop observing
    */
-  stop: function() {
+  stop: function () {
     if (!this.isObserving) {
       return;
     }
     this.isObserving = false;
 
     if (this.tabActor.attached && this.tabActor.docShell) {
       // It's only worth stopping if the tabActor is still attached
       this._stopListeners(this.tabActor.windows);
     }
   },
 
-  _onWindowReady: function({window}) {
+  _onWindowReady: function ({window}) {
     if (this.isObserving) {
       this._startListeners([window]);
     }
   },
 
-  _onWindowDestroyed: function({window}) {
+  _onWindowDestroyed: function ({window}) {
     if (this.isObserving) {
       this._stopListeners([window]);
     }
   },
 
-  _startListeners: function(windows) {
+  _startListeners: function (windows) {
     // To be implemented by sub-classes.
   },
 
-  _stopListeners: function(windows) {
+  _stopListeners: function (windows) {
     // To be implemented by sub-classes.
   },
 
   /**
    * To be called by sub-classes when something has been observed
    */
-  notifyCallback: function(...args) {
+  notifyCallback: function (...args) {
     this.isObserving && this.callback && this.callback.apply(null, args);
   }
 };
 
 /**
  * The LayouChangesObserver will observe reflows as soon as it is started.
  * Some devtools actors may cause reflows and it may be wanted to "hide" these
  * reflows from the LayouChangesObserver consumers.
@@ -236,17 +236,17 @@ Observable.prototype = {
  * Note that if a node is provided, it will be used to force a sync reflow to
  * make sure all reflows which occurred before switching the mode on or off are
  * either observed or ignored depending on the current mode.
  *
  * @param {Boolean} ignore
  * @param {DOMNode} syncReflowNode The node to use to force a sync reflow
  */
 var gIgnoreLayoutChanges = false;
-exports.setIgnoreLayoutChanges = function(ignore, syncReflowNode) {
+exports.setIgnoreLayoutChanges = function (ignore, syncReflowNode) {
   if (syncReflowNode) {
     let forceSyncReflow = syncReflowNode.offsetWidth;
   }
   gIgnoreLayoutChanges = ignore;
 };
 
 /**
  * The LayoutChangesObserver class is instantiated only once per given tab
@@ -295,44 +295,44 @@ LayoutChangesObserver.prototype = {
    * performance but has an effect on how soon changes are shown in the toolbox.
    */
   EVENT_BATCHING_DELAY: 300,
 
   /**
    * Destroying this instance of LayoutChangesObserver will stop the batched
    * events from being sent.
    */
-  destroy: function() {
+  destroy: function () {
     this.isObserving = false;
 
     this.reflowObserver.destroy();
     this.reflows = null;
 
     this.resizeObserver.destroy();
     this.hasResized = false;
 
     this.tabActor = null;
   },
 
-  start: function() {
+  start: function () {
     if (this.isObserving) {
       return;
     }
     this.isObserving = true;
 
     this.reflows = [];
     this.hasResized = false;
 
     this._startEventLoop();
 
     this.reflowObserver.start();
     this.resizeObserver.start();
   },
 
-  stop: function() {
+  stop: function () {
     if (!this.isObserving) {
       return;
     }
     this.isObserving = false;
 
     this._stopEventLoop();
 
     this.reflows = [];
@@ -342,17 +342,17 @@ LayoutChangesObserver.prototype = {
     this.resizeObserver.stop();
   },
 
   /**
    * Start the event loop, which regularly checks if there are any observer
    * events to be sent as batched events
    * Calls itself in a loop.
    */
-  _startEventLoop: function() {
+  _startEventLoop: function () {
     // Avoid emitting events if the tabActor has been detached (may happen
     // during shutdown)
     if (!this.tabActor || !this.tabActor.attached) {
       return;
     }
 
     // Send any reflows we have
     if (this.reflows && this.reflows.length) {
@@ -365,37 +365,37 @@ LayoutChangesObserver.prototype = {
       this.emit("resize");
       this.hasResized = false;
     }
 
     this.eventLoopTimer = this._setTimeout(this._startEventLoop,
       this.EVENT_BATCHING_DELAY);
   },
 
-  _stopEventLoop: function() {
+  _stopEventLoop: function () {
     this._clearTimeout(this.eventLoopTimer);
   },
 
   // Exposing set/clearTimeout here to let tests override them if needed
-  _setTimeout: function(cb, ms) {
+  _setTimeout: function (cb, ms) {
     return setTimeout(cb, ms);
   },
-  _clearTimeout: function(t) {
+  _clearTimeout: function (t) {
     return clearTimeout(t);
   },
 
   /**
    * Executed whenever a reflow is observed. Only stacks the reflow in the
    * reflows array.
    * The EVENT_BATCHING_DELAY loop will take care of it later.
    * @param {Number} start When the reflow started
    * @param {Number} end When the reflow ended
    * @param {Boolean} isInterruptible
    */
-  _onReflow: function(start, end, isInterruptible) {
+  _onReflow: function (start, end, isInterruptible) {
     if (gIgnoreLayoutChanges) {
       return;
     }
 
     // XXX: when/if bug 997092 gets fixed, we will be able to know which
     // elements have been reflowed, which would be a nice thing to add here.
     this.reflows.push({
       start: start,
@@ -404,17 +404,17 @@ LayoutChangesObserver.prototype = {
     });
   },
 
   /**
    * Executed whenever a resize is observed. Only store a flag saying that a
    * resize occured.
    * The EVENT_BATCHING_DELAY loop will take care of it later.
    */
-  _onResize: function() {
+  _onResize: function () {
     if (gIgnoreLayoutChanges) {
       return;
     }
 
     this.hasResized = true;
   }
 };
 
@@ -473,69 +473,69 @@ exports.releaseLayoutChangesObserver = r
 function ReflowObserver(tabActor, callback) {
   Observable.call(this, tabActor, callback);
 }
 
 ReflowObserver.prototype = Heritage.extend(Observable.prototype, {
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIReflowObserver,
     Ci.nsISupportsWeakReference]),
 
-  _startListeners: function(windows) {
+  _startListeners: function (windows) {
     for (let window of windows) {
       let docshell = window.QueryInterface(Ci.nsIInterfaceRequestor)
                      .getInterface(Ci.nsIWebNavigation)
                      .QueryInterface(Ci.nsIDocShell);
       docshell.addWeakReflowObserver(this);
     }
   },
 
-  _stopListeners: function(windows) {
+  _stopListeners: function (windows) {
     for (let window of windows) {
       try {
         let docshell = window.QueryInterface(Ci.nsIInterfaceRequestor)
                        .getInterface(Ci.nsIWebNavigation)
                        .QueryInterface(Ci.nsIDocShell);
         docshell.removeWeakReflowObserver(this);
       } catch (e) {
         // Corner cases where a global has already been freed may happen, in
         // which case, no need to remove the observer.
       }
     }
   },
 
-  reflow: function(start, end) {
+  reflow: function (start, end) {
     this.notifyCallback(start, end, false);
   },
 
-  reflowInterruptible: function(start, end) {
+  reflowInterruptible: function (start, end) {
     this.notifyCallback(start, end, true);
   }
 });
 
 /**
  * Reports window resize events on the tabActor's windows.
  * @extends Observable
  * @param {TabActor} tabActor
  * @param {Function} callback Executed everytime a resize occurs
  */
 function WindowResizeObserver(tabActor, callback) {
   Observable.call(this, tabActor, callback);
   this.onResize = this.onResize.bind(this);
 }
 
 WindowResizeObserver.prototype = Heritage.extend(Observable.prototype, {
-  _startListeners: function() {
+  _startListeners: function () {
     this.listenerTarget.addEventListener("resize", this.onResize);
   },
 
-  _stopListeners: function() {
+  _stopListeners: function () {
     this.listenerTarget.removeEventListener("resize", this.onResize);
   },
 
-  onResize: function() {
+  onResize: function () {
     this.notifyCallback();
   },
 
   get listenerTarget() {
     // For the rootActor, return its window.
     if (this.tabActor.isRootActor) {
       return this.tabActor.window;
     }
--- a/devtools/server/actors/memory.js
+++ b/devtools/server/actors/memory.js
@@ -63,27 +63,27 @@ var MemoryActor = exports.MemoryActor = 
     // Same data as the data from `getAllocations` -- only fired if
     // `autoDrain` set during `startRecordingAllocations`.
     "allocations": {
       type: "allocations",
       data: Arg(0, "json"),
     },
   },
 
-  initialize: function(conn, parent, frameCache = new StackFrameCache()) {
+  initialize: function (conn, parent, frameCache = new StackFrameCache()) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     this._onGarbageCollection = this._onGarbageCollection.bind(this);
     this._onAllocations = this._onAllocations.bind(this);
     this.bridge = new Memory(parent, frameCache);
     this.bridge.on("garbage-collection", this._onGarbageCollection);
     this.bridge.on("allocations", this._onAllocations);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.bridge.off("garbage-collection", this._onGarbageCollection);
     this.bridge.off("allocations", this._onAllocations);
     this.bridge.destroy();
     protocol.Actor.prototype.destroy.call(this);
   },
 
   attach: actorBridge("attach", {
     request: {},
@@ -177,17 +177,17 @@ var MemoryActor = exports.MemoryActor = 
   _onAllocations: function (data) {
     if (this.conn.transport) {
       events.emit(this, "allocations", data);
     }
   },
 });
 
 exports.MemoryFront = protocol.FrontClass(MemoryActor, {
-  initialize: function(client, form, rootForm = null) {
+  initialize: function (client, form, rootForm = null) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this._client = client;
     this.actorID = form.memoryActor;
     this.heapSnapshotFileActorID = rootForm
       ? rootForm.heapSnapshotFileActor
       : null;
     this.manage(this);
   },
--- a/devtools/server/actors/memprof.js
+++ b/devtools/server/actors/memprof.js
@@ -8,59 +8,59 @@ const { Cc, Ci, Cu } = require("chrome")
 var protocol = require("devtools/shared/protocol");
 var { method, RetVal, Arg, types } = protocol;
 const { reportException } = require("devtools/shared/DevToolsUtils");
 loader.lazyRequireGetter(this, "events", "sdk/event/core");
 
 var MemprofActor = protocol.ActorClass({
   typeName: "memprof",
 
-  initialize: function(conn) {
+  initialize: function (conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this._profiler = Cc["@mozilla.org/tools/memory-profiler;1"]
       .getService(Ci.nsIMemoryProfiler);
   },
 
-  destroy: function() {
+  destroy: function () {
     this._profiler = null;
     protocol.Actor.prototype.destroy.call(this);
   },
 
-  startProfiler: method(function() {
+  startProfiler: method(function () {
     this._profiler.startProfiler();
   }, {
     request: {},
     response: {}
   }),
 
-  stopProfiler: method(function() {
+  stopProfiler: method(function () {
     this._profiler.stopProfiler();
   }, {
     request: {},
     response: {}
   }),
 
-  resetProfiler: method(function() {
+  resetProfiler: method(function () {
     this._profiler.resetProfiler();
   }, {
     request: {},
     response: {}
   }),
 
-  getResults: method(function() {
+  getResults: method(function () {
     return this._profiler.getResults();
   }, {
     request: {},
     response: {
       ret: RetVal("json")
     }
   })
 });
 
 exports.MemprofActor = MemprofActor;
 
 exports.MemprofFront = protocol.FrontClass(MemprofActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this.actorID = form.memprofActor;
     this.manage(this);
   }
 });
--- a/devtools/server/actors/monitor.js
+++ b/devtools/server/actors/monitor.js
@@ -1,69 +1,69 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-const {Ci,Cu,Cc} = require("chrome");
+const {Ci, Cu, Cc} = require("chrome");
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
 const Services = require("Services");
 
 function MonitorActor(aConnection) {
   this.conn = aConnection;
   this._updates = [];
   this._started = false;
 }
 
 MonitorActor.prototype = {
   actorPrefix: "monitor",
 
   // Updates.
 
-  _sendUpdate: function() {
+  _sendUpdate: function () {
     if (this._started) {
       this.conn.sendActorEvent(this.actorID, "update", { data: this._updates });
       this._updates = [];
     }
   },
 
   // Methods available from the front.
 
-  start: function() {
+  start: function () {
     if (!this._started) {
       this._started = true;
       Services.obs.addObserver(this, "devtools-monitor-update", false);
       Services.obs.notifyObservers(null, "devtools-monitor-start", "");
       this._agents.forEach(agent => this._startAgent(agent));
     }
     return {};
   },
 
-  stop: function() {
+  stop: function () {
     if (this._started) {
       this._agents.forEach(agent => agent.stop());
       Services.obs.notifyObservers(null, "devtools-monitor-stop", "");
       Services.obs.removeObserver(this, "devtools-monitor-update");
       this._started = false;
     }
     return {};
   },
 
-  disconnect: function() {
+  disconnect: function () {
     this.stop();
   },
 
   // nsIObserver.
 
   observe: function (subject, topic, data) {
     if (topic == "devtools-monitor-update") {
       try {
         data = JSON.parse(data);
-      } catch(e) {
+      } catch (e) {
         console.error("Observer notification data is not a valid JSON-string:",
                       data, e.message);
         return;
       }
       if (!Array.isArray(data)) {
         this._updates.push(data);
       } else {
         this._updates = this._updates.concat(data);
@@ -73,32 +73,32 @@ MonitorActor.prototype = {
   },
 
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
 
   // Update agents (see USSAgent for an example).
 
   _agents: [],
 
-  _startAgent: function(agent) {
+  _startAgent: function (agent) {
     try {
       agent.start();
     } catch (e) {
       this._removeAgent(agent);
     }
   },
 
-  _addAgent: function(agent) {
+  _addAgent: function (agent) {
     this._agents.push(agent);
     if (this._started) {
       this._startAgent(agent);
     }
   },
 
-  _removeAgent: function(agent) {
+  _removeAgent: function (agent) {
     let index = this._agents.indexOf(agent);
     if (index > -1) {
       this._agents.splice(index, 1);
     }
   },
 };
 
 MonitorActor.prototype.requestTypes = {
@@ -112,34 +112,34 @@ var USSAgent = {
   _mgr: null,
   _timeout: null,
   _packet: {
     graph: "USS",
     time: null,
     value: null
   },
 
-  start: function() {
+  start: function () {
     USSAgent._mgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager);
     if (!USSAgent._mgr.residentUnique) {
       throw "Couldn't get USS.";
     }
     USSAgent.update();
   },
 
-  update: function() {
+  update: function () {
     if (!USSAgent._mgr) {
       USSAgent.stop();
       return;
     }
     USSAgent._packet.time = Date.now();
     USSAgent._packet.value = USSAgent._mgr.residentUnique;
     Services.obs.notifyObservers(null, "devtools-monitor-update", JSON.stringify(USSAgent._packet));
     USSAgent._timeout = setTimeout(USSAgent.update, 300);
   },
 
-  stop: function() {
+  stop: function () {
     clearTimeout(USSAgent._timeout);
     USSAgent._mgr = null;
   }
 };
 
 MonitorActor.prototype._addAgent(USSAgent);
--- a/devtools/server/actors/object.js
+++ b/devtools/server/actors/object.js
@@ -3,17 +3,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 const { Cu, Ci } = require("chrome");
 const { GeneratedLocation } = require("devtools/server/actors/common");
-const { DebuggerServer } = require("devtools/server/main")
+const { DebuggerServer } = require("devtools/server/main");
 const DevToolsUtils = require("devtools/shared/DevToolsUtils");
 const { assert, dumpn } = DevToolsUtils;
 
 loader.lazyRequireGetter(this, "ThreadSafeChromeUtils");
 
 const TYPED_ARRAY_CLASSES = ["Uint8Array", "Uint8ClampedArray", "Uint16Array",
       "Uint32Array", "Int8Array", "Int16Array", "Int32Array", "Float32Array",
       "Float64Array"];
@@ -71,17 +71,17 @@ function ObjectActor(obj, {
 }
 
 ObjectActor.prototype = {
   actorPrefix: "obj",
 
   /**
    * Returns a grip for this actor for returning in a protocol message.
    */
-  grip: function() {
+  grip: function () {
     this.hooks.incrementGripDepth();
 
     let g = {
       "type": "object",
       "class": this.obj.class,
       "actor": this.actorID,
       "extensible": this.obj.isExtensible(),
       "frozen": this.obj.isFrozen(),
@@ -96,17 +96,17 @@ ObjectActor.prototype = {
       // FF40+: Allow to know how many properties an object has
       // to lazily display them when there is a bunch.
       // Throws on some MouseEvent object in tests.
       try {
         // Bug 1163520: Assert on internal functions
         if (this.obj.class != "Function") {
           g.ownPropertyLength = this.obj.getOwnPropertyNames().length;
         }
-      } catch(e) {}
+      } catch (e) {}
 
       let raw = this.obj.unsafeDereference();
 
       // If Cu is not defined, we are running on a worker thread, where xrays
       // don't exist.
       if (Cu) {
         raw = Cu.unwaiveXrays(raw);
       }
@@ -131,17 +131,17 @@ ObjectActor.prototype = {
 
     this.hooks.decrementGripDepth();
     return g;
   },
 
   /**
    * Returns an object exposing the internal Promise state.
    */
-  _createPromiseState: function() {
+  _createPromiseState: function () {
     const { state, value, reason } = getPromiseState(this.obj);
     let promiseState = { state };
 
     if (state == "fulfilled") {
       promiseState.value = this.hooks.createValueGrip(value);
     } else if (state == "rejected") {
       promiseState.reason = this.hooks.createValueGrip(reason);
     }
@@ -154,30 +154,30 @@ ObjectActor.prototype = {
     }
 
     return promiseState;
   },
 
   /**
    * Releases this actor from the pool.
    */
-  release: function() {
+  release: function () {
     if (this.registeredPool.objectActors) {
       this.registeredPool.objectActors.delete(this.obj);
     }
     this.iterators.forEach(actor => this.registeredPool.removeActor(actor));
     this.iterators.clear();
     this.registeredPool.removeActor(this);
   },
 
   /**
    * Handle a protocol request to provide the definition site of this function
    * object.
    */
-  onDefinitionSite: function() {
+  onDefinitionSite: function () {
     if (this.obj.class != "Function") {
       return {
         from: this.actorID,
         error: "objectNotFunction",
         message: this.actorID + " is not a function."
       };
     }
 
@@ -201,50 +201,50 @@ ObjectActor.prototype = {
       };
     });
   },
 
   /**
    * Handle a protocol request to provide the names of the properties defined on
    * the object and not its prototype.
    */
-  onOwnPropertyNames: function() {
+  onOwnPropertyNames: function () {
     return { from: this.actorID,
              ownPropertyNames: this.obj.getOwnPropertyNames() };
   },
 
   /**
    * Creates an actor to iterate over an object property names and values.
    * See PropertyIteratorActor constructor for more info about options param.
    *
    * @param request object
    *        The protocol request object.
    */
-  onEnumProperties: function(request) {
+  onEnumProperties: function (request) {
     let actor = new PropertyIteratorActor(this, request.options);
     this.registeredPool.addActor(actor);
     this.iterators.add(actor);
     return { iterator: actor.grip() };
   },
 
   /**
    * Creates an actor to iterate over entries of a Map/Set-like object.
    */
-  onEnumEntries: function() {
+  onEnumEntries: function () {
     let actor = new PropertyIteratorActor(this, { enumEntries: true });
     this.registeredPool.addActor(actor);
     this.iterators.add(actor);
     return { iterator: actor.grip() };
   },
 
   /**
    * Handle a protocol request to provide the prototype and own properties of
    * the object.
    */
-  onPrototypeAndProperties: function() {
+  onPrototypeAndProperties: function () {
     let ownProperties = Object.create(null);
     let names;
     try {
       names = this.obj.getOwnPropertyNames();
     } catch (ex) {
       // The above can throw if this.obj points to a dead object.
       // TODO: we should use Cu.isDeadWrapper() - see bug 885800.
       return { from: this.actorID,
@@ -269,17 +269,17 @@ ObjectActor.prototype = {
    *        The array that holds the list of known ownProperties names for
    *        |this.obj|.
    * @param number [limit=0]
    *        Optional limit of getter values to find.
    * @return object
    *         An object that maps property names to safe getter descriptors as
    *         defined by the remote debugging protocol.
    */
-  _findSafeGetterValues: function(ownProperties, limit = 0) {
+  _findSafeGetterValues: function (ownProperties, limit = 0) {
     let safeGetterValues = Object.create(null);
     let obj = this.obj;
     let level = 0, i = 0;
 
     while (obj) {
       let getters = this._findSafeGetters(obj);
       for (let name of getters) {
         // Avoid overwriting properties from prototypes closer to this.obj. Also
@@ -347,25 +347,25 @@ ObjectActor.prototype = {
    *
    * @private
    * @param Debugger.Object object
    *        The Debugger.Object where you want to find safe getters.
    * @return Set
    *         A Set of names of safe getters. This result is cached for each
    *         Debugger.Object.
    */
-  _findSafeGetters: function(object) {
+  _findSafeGetters: function (object) {
     if (object._safeGetters) {
       return object._safeGetters;
     }
 
     let getters = new Set();
     let names = [];
     try {
-      names = object.getOwnPropertyNames()
+      names = object.getOwnPropertyNames();
     } catch (ex) {
       // Calling getOwnPropertyNames() on some wrapped native prototypes is not
       // allowed: "cannot modify properties of a WrappedNative". See bug 952093.
     }
 
     for (let name of names) {
       let desc = null;
       try {
@@ -385,42 +385,42 @@ ObjectActor.prototype = {
 
     object._safeGetters = getters;
     return getters;
   },
 
   /**
    * Handle a protocol request to provide the prototype of the object.
    */
-  onPrototype: function() {
+  onPrototype: function () {
     return { from: this.actorID,
              prototype: this.hooks.createValueGrip(this.obj.proto) };
   },
 
   /**
    * Handle a protocol request to provide the property descriptor of the
    * object's specified property.
    *
    * @param request object
    *        The protocol request object.
    */
-  onProperty: function(request) {
+  onProperty: function (request) {
     if (!request.name) {
       return { error: "missingParameter",
                message: "no property name was specified" };
     }
 
     return { from: this.actorID,
              descriptor: this._propertyDescriptor(request.name) };
   },
 
   /**
    * Handle a protocol request to provide the display string for the object.
    */
-  onDisplayString: function() {
+  onDisplayString: function () {
     const string = stringify(this.obj);
     return { from: this.actorID,
              displayString: this.hooks.createValueGrip(string) };
   },
 
   /**
    * A helper method that creates a property descriptor for the provided object,
    * properly formatted for sending in a protocol response.
@@ -430,17 +430,17 @@ ObjectActor.prototype = {
    *        The property that the descriptor is generated for.
    * @param boolean [onlyEnumerable]
    *        Optional: true if you want a descriptor only for an enumerable
    *        property, false otherwise.
    * @return object|undefined
    *         The property descriptor, or undefined if this is not an enumerable
    *         property and onlyEnumerable=true.
    */
-  _propertyDescriptor: function(name, onlyEnumerable) {
+  _propertyDescriptor: function (name, onlyEnumerable) {
     let desc;
     try {
       desc = this.obj.getOwnPropertyDescriptor(name);
     } catch (e) {
       // Calling getOwnPropertyDescriptor on wrapped native prototypes is not
       // allowed (bug 560072). Inform the user with a bogus, but hopefully
       // explanatory, descriptor.
       return {
@@ -475,52 +475,52 @@ ObjectActor.prototype = {
   },
 
   /**
    * Handle a protocol request to provide the source code of a function.
    *
    * @param request object
    *        The protocol request object.
    */
-  onDecompile: function(request) {
+  onDecompile: function (request) {
     if (this.obj.class !== "Function") {
       return { error: "objectNotFunction",
                message: "decompile request is only valid for object grips " +
                         "with a 'Function' class." };
     }
 
     return { from: this.actorID,
              decompiledCode: this.obj.decompile(!!request.pretty) };
   },
 
   /**
    * Handle a protocol request to provide the parameters of a function.
    */
-  onParameterNames: function() {
+  onParameterNames: function () {
     if (this.obj.class !== "Function") {
       return { error: "objectNotFunction",
                message: "'parameterNames' request is only valid for object " +
                         "grips with a 'Function' class." };
     }
 
     return { parameterNames: this.obj.parameterNames };
   },
 
   /**
    * Handle a protocol request to release a thread-lifetime grip.
    */
-  onRelease: function() {
+  onRelease: function () {
     this.release();
     return {};
   },
 
   /**
    * Handle a protocol request to provide the lexical scope of a function.
    */
-  onScope: function() {
+  onScope: function () {
     if (this.obj.class !== "Function") {
       return { error: "objectNotFunction",
                message: "scope request is only valid for object grips with a" +
                         " 'Function' class." };
     }
 
     let envActor = this.hooks.createEnvironmentActor(this.obj.environment,
                                                      this.registeredPool);
@@ -535,32 +535,32 @@ ObjectActor.prototype = {
   /**
    * Handle a protocol request to get the list of dependent promises of a
    * promise.
    *
    * @return object
    *         Returns an object containing an array of object grips of the
    *         dependent promises
    */
-  onDependentPromises: function() {
+  onDependentPromises: function () {
     if (this.obj.class != "Promise") {
       return { error: "objectNotPromise",
                message: "'dependentPromises' request is only valid for " +
                         "object grips with a 'Promise' class." };
     }
 
     let promises = this.obj.promiseDependentPromises.map(p => this.hooks.createValueGrip(p));
 
     return { promises };
   },
 
   /**
    * Handle a protocol request to get the allocation stack of a promise.
    */
-  onAllocationStack: function() {
+  onAllocationStack: function () {
     if (this.obj.class != "Promise") {
       return { error: "objectNotPromise",
                message: "'allocationStack' request is only valid for " +
                         "object grips with a 'Promise' class." };
     }
 
     let stack = this.obj.promiseAllocationSite;
     let allocationStacks = [];
@@ -579,17 +579,17 @@ ObjectActor.prototype = {
     return Promise.all(allocationStacks).then(stacks => {
       return { allocationStack: stacks };
     });
   },
 
   /**
    * Handle a protocol request to get the fulfillment stack of a promise.
    */
-  onFulfillmentStack: function() {
+  onFulfillmentStack: function () {
     if (this.obj.class != "Promise") {
       return { error: "objectNotPromise",
                message: "'fulfillmentStack' request is only valid for " +
                         "object grips with a 'Promise' class." };
     }
 
     let stack = this.obj.promiseResolutionSite;
     let fulfillmentStacks = [];
@@ -608,17 +608,17 @@ ObjectActor.prototype = {
     return Promise.all(fulfillmentStacks).then(stacks => {
       return { fulfillmentStack: stacks };
     });
   },
 
   /**
    * Handle a protocol request to get the rejection stack of a promise.
    */
-  onRejectionStack: function() {
+  onRejectionStack: function () {
     if (this.obj.class != "Promise") {
       return { error: "objectNotPromise",
                message: "'rejectionStack' request is only valid for " +
                         "object grips with a 'Promise' class." };
     }
 
     let stack = this.obj.promiseResolutionSite;
     let rejectionStacks = [];
@@ -643,23 +643,23 @@ ObjectActor.prototype = {
    * Helper function for fetching the source location of a SavedFrame stack.
    *
    * @param SavedFrame stack
    *        The promise allocation stack frame
    * @return object
    *         Returns an object containing the source location of the SavedFrame
    *         stack.
    */
-  _getSourceOriginalLocation: function(stack) {
+  _getSourceOriginalLocation: function (stack) {
     let source;
 
     // Catch any errors if the source actor cannot be found
     try {
       source = this.hooks.sources().getSourceActorByURL(stack.source);
-    } catch(e) {}
+    } catch (e) {}
 
     if (!source) {
       return null;
     }
 
     return this.hooks.sources().getOriginalLocation(new GeneratedLocation(
       source,
       stack.line,
@@ -730,17 +730,17 @@ function PropertyIteratorActor(objectAct
   } else {
     this._initProperties(options);
   }
 }
 
 PropertyIteratorActor.prototype = {
   actorPrefix: "propertyIterator",
 
-  _initEntries: function() {
+  _initEntries: function () {
     let names = [];
     let ownProperties = Object.create(null);
 
     switch (this.objectActor.obj.class) {
       case "Map":
       case "WeakMap": {
         let idx = 0;
         let enumFn = this.objectActor.obj.class === "Map" ?
@@ -782,17 +782,17 @@ PropertyIteratorActor.prototype = {
         // the ownProperties and names are left empty
         break;
     }
 
     this.names = names;
     this.ownProperties = ownProperties;
   },
 
-  _initProperties: function(options) {
+  _initProperties: function (options) {
     let names = [];
     let ownProperties = Object.create(null);
 
     try {
       names = this.objectActor.obj.getOwnPropertyNames();
     } catch (ex) {}
 
     let safeGetterValues = {};
@@ -805,17 +805,17 @@ PropertyIteratorActor.prototype = {
         if (names.indexOf(name) === -1) {
           names.push(name);
         }
       }
     }
 
     if (options.ignoreIndexedProperties || options.ignoreNonIndexedProperties) {
       let length = DevToolsUtils.getProperty(this.objectActor.obj, "length");
-      if (typeof(length) !== "number") {
+      if (typeof (length) !== "number") {
         // Pseudo arrays are flagged as ArrayLike if they have
         // subsequent indexed properties without having any length attribute.
         length = 0;
         for (let key of names) {
           if (isNaN(key) || key != length++) {
             break;
           }
         }
@@ -846,17 +846,17 @@ PropertyIteratorActor.prototype = {
         // Filter on attribute names
         if (name.toLowerCase().includes(query)) {
           return true;
         }
         // and then on attribute values
         let desc;
         try {
           desc = this.obj.getOwnPropertyDescriptor(name);
-        } catch(e) {}
+        } catch (e) {}
         if (desc && desc.value &&
             String(desc.value).includes(query)) {
           return true;
         }
         return false;
       });
     }
 
@@ -878,46 +878,46 @@ PropertyIteratorActor.prototype = {
       }
       ownProperties[name] = desc;
     }
 
     this.names = names;
     this.ownProperties = ownProperties;
   },
 
-  grip: function() {
+  grip: function () {
     return {
       type: "propertyIterator",
       actor: this.actorID,
       count: this.names.length
     };
   },
 
-  names: function({ indexes }) {
+  names: function ({ indexes }) {
     let list = [];
     for (let idx of indexes) {
       list.push(this.names[idx]);
     }
     return {
       names: list
     };
   },
 
-  slice: function({ start, count }) {
+  slice: function ({ start, count }) {
     let names = this.names.slice(start, start + count);
     let props = Object.create(null);
     for (let name of names) {
       props[name] = this.ownProperties[name];
     }
     return {
       ownProperties: props
     };
   },
 
-  all: function() {
+  all: function () {
     return {
       ownProperties: this.ownProperties
     };
   }
 };
 
 PropertyIteratorActor.prototype.requestTypes = {
   "names": PropertyIteratorActor.prototype.names,
@@ -944,17 +944,17 @@ function enumMapEntries(objectActor) {
   // we fix bug 1023984.
   //
   // Even then though, we might want to continue waiving Xrays here for the
   // same reason we do so for Arrays above - this filtering behavior is likely
   // to be more confusing than beneficial in the case of Object previews.
   let raw = objectActor.obj.unsafeDereference();
 
   return {
-    [Symbol.iterator]: function*() {
+    [Symbol.iterator]: function* () {
       for (let keyValuePair of Cu.waiveXrays(Map.prototype.entries.call(raw))) {
         yield keyValuePair.map(val => gripFromEntry(objectActor, val));
       }
     }
   };
 }
 
 function enumWeakMapEntries(objectActor) {
@@ -968,17 +968,17 @@ function enumWeakMapEntries(objectActor)
   // This code is designed to handle untrusted objects, so we can safely
   // waive Xrays on the iterable, and relying on the Debugger machinery to
   // make sure we handle the resulting objects carefully.
   let raw = objectActor.obj.unsafeDereference();
   let keys = Cu.waiveXrays(ThreadSafeChromeUtils.nondeterministicGetWeakMapKeys(raw));
 
   return {
     size: keys.length,
-    [Symbol.iterator]: function*() {
+    [Symbol.iterator]: function* () {
       for (let key of keys) {
         let value = WeakMap.prototype.get.call(raw, key);
         yield [ key, value ].map(val => gripFromEntry(objectActor, val));
       }
     }
   };
 }
 
@@ -991,17 +991,17 @@ function enumSetEntries(objectActor) {
   // the for/of iteration.
   //
   // This code is designed to handle untrusted objects, so we can safely
   // waive Xrays on the iterable, and relying on the Debugger machinery to
   // make sure we handle the resulting objects carefully.
   let raw = objectActor.obj.unsafeDereference();
 
   return {
-    [Symbol.iterator]: function*() {
+    [Symbol.iterator]: function* () {
       for (let item of Cu.waiveXrays(Set.prototype.values.call(raw))) {
         yield gripFromEntry(objectActor, item);
       }
     }
   };
 }
 
 function enumWeakSetEntries(objectActor) {
@@ -1015,17 +1015,17 @@ function enumWeakSetEntries(objectActor)
   // This code is designed to handle untrusted objects, so we can safely
   // waive Xrays on the iterable, and relying on the Debugger machinery to
   // make sure we handle the resulting objects carefully.
   let raw = objectActor.obj.unsafeDereference();
   let keys = Cu.waiveXrays(ThreadSafeChromeUtils.nondeterministicGetWeakSetKeys(raw));
 
   return {
     size: keys.length,
-    [Symbol.iterator]: function*() {
+    [Symbol.iterator]: function* () {
       for (let item of keys) {
         yield gripFromEntry(objectActor, item);
       }
     }
   };
 }
 
 /**
@@ -1040,29 +1040,29 @@ function enumWeakSetEntries(objectActor)
  *   - the raw JS object after calling Debugger.Object.unsafeDereference(). This
  *   argument is only provided if the object is safe for reading properties and
  *   executing methods. See DevToolsUtils.isSafeJSObject().
  *
  * Functions must return false if they cannot provide preview
  * information for the debugger object, or true otherwise.
  */
 DebuggerServer.ObjectActorPreviewers = {
-  String: [function(objectActor, grip) {
+  String: [function (objectActor, grip) {
     return wrappedPrimitivePreviewer("String", String, objectActor, grip);
   }],
 
-  Boolean: [function(objectActor, grip) {
+  Boolean: [function (objectActor, grip) {
     return wrappedPrimitivePreviewer("Boolean", Boolean, objectActor, grip);
   }],
 
-  Number: [function(objectActor, grip) {
+  Number: [function (objectActor, grip) {
     return wrappedPrimitivePreviewer("Number", Number, objectActor, grip);
   }],
 
-  Function: [function({obj, hooks}, grip) {
+  Function: [function ({obj, hooks}, grip) {
     if (obj.name) {
       grip.name = obj.name;
     }
 
     if (obj.displayName) {
       grip.displayName = obj.displayName.substr(0, 500);
     }
 
@@ -1095,37 +1095,37 @@ DebuggerServer.ObjectActorPreviewers = {
           line: script.startLine
         };
       }
     }
 
     return true;
   }],
 
-  RegExp: [function({obj, hooks}, grip) {
+  RegExp: [function ({obj, hooks}, grip) {
     // Avoid having any special preview for the RegExp.prototype itself.
     if (!obj.proto || obj.proto.class != "RegExp") {
       return false;
     }
 
     let str = RegExp.prototype.toString.call(obj.unsafeDereference());
     grip.displayString = hooks.createValueGrip(str);
     return true;
   }],
 
-  Date: [function({obj, hooks}, grip) {
+  Date: [function ({obj, hooks}, grip) {
     let time = Date.prototype.getTime.call(obj.unsafeDereference());
 
     grip.preview = {
       timestamp: hooks.createValueGrip(time),
     };
     return true;
   }],
 
-  Array: [function({obj, hooks}, grip) {
+  Array: [function ({obj, hooks}, grip) {
     let length = DevToolsUtils.getProperty(obj, "length");
     if (typeof length != "number") {
       return false;
     }
 
     grip.preview = {
       kind: "ArrayLike",
       length: length,
@@ -1157,17 +1157,17 @@ DebuggerServer.ObjectActorPreviewers = {
       if (items.length == OBJECT_PREVIEW_MAX_ITEMS) {
         break;
       }
     }
 
     return true;
   }],
 
-  Set: [function(objectActor, grip) {
+  Set: [function (objectActor, grip) {
     let size = DevToolsUtils.getProperty(objectActor.obj, "size");
     if (typeof size != "number") {
       return false;
     }
 
     grip.preview = {
       kind: "ArrayLike",
       length: size,
@@ -1184,17 +1184,17 @@ DebuggerServer.ObjectActorPreviewers = {
       if (items.length == OBJECT_PREVIEW_MAX_ITEMS) {
         break;
       }
     }
 
     return true;
   }],
 
-  WeakSet: [function(objectActor, grip) {
+  WeakSet: [function (objectActor, grip) {
     let enumEntries = enumWeakSetEntries(objectActor);
 
     grip.preview = {
       kind: "ArrayLike",
       length: enumEntries.size
     };
 
     // Avoid recursive object grips.
@@ -1208,17 +1208,17 @@ DebuggerServer.ObjectActorPreviewers = {
       if (items.length == OBJECT_PREVIEW_MAX_ITEMS) {
         break;
       }
     }
 
     return true;
   }],
 
-  Map: [function(objectActor, grip) {
+  Map: [function (objectActor, grip) {
     let size = DevToolsUtils.getProperty(objectActor.obj, "size");
     if (typeof size != "number") {
       return false;
     }
 
     grip.preview = {
       kind: "MapLike",
       size: size,
@@ -1234,17 +1234,17 @@ DebuggerServer.ObjectActorPreviewers = {
       if (entries.length == OBJECT_PREVIEW_MAX_ITEMS) {
         break;
       }
     }
 
     return true;
   }],
 
-  WeakMap: [function(objectActor, grip) {
+  WeakMap: [function (objectActor, grip) {
     let enumEntries = enumWeakMapEntries(objectActor);
 
     grip.preview = {
       kind: "MapLike",
       size: enumEntries.size
     };
 
     if (objectActor.hooks.getGripDepth() > 1) {
@@ -1257,17 +1257,17 @@ DebuggerServer.ObjectActorPreviewers = {
       if (entries.length == OBJECT_PREVIEW_MAX_ITEMS) {
         break;
       }
     }
 
     return true;
   }],
 
-  DOMStringMap: [function({obj, hooks}, grip, rawObj) {
+  DOMStringMap: [function ({obj, hooks}, grip, rawObj) {
     if (!rawObj) {
       return false;
     }
 
     let keys = obj.getOwnPropertyNames();
     grip.preview = {
       kind: "MapLike",
       size: keys.length,
@@ -1769,17 +1769,17 @@ DebuggerServer.ObjectActorPreviewers.Obj
  */
 function getPromiseState(obj) {
   if (obj.class != "Promise") {
     throw new Error(
       "Can't call `getPromiseState` on `Debugger.Object`s that don't " +
       "refer to Promise objects.");
   }
   return obj.promiseState;
-};
+}
 
 /**
  * Determine if a given value is non-primitive.
  *
  * @param Any value
  *        The value to test.
  * @return Boolean
  *         Whether the value is non-primitive.
@@ -1913,18 +1913,18 @@ var stringifiers = {
   },
   DOMException: obj => {
     const message = DevToolsUtils.getProperty(obj, "message") || "<no message>";
     const result = (+DevToolsUtils.getProperty(obj, "result")).toString(16);
     const code = DevToolsUtils.getProperty(obj, "code");
     const name = DevToolsUtils.getProperty(obj, "name") || "<unknown>";
 
     return '[Exception... "' + message + '" ' +
-           'code: "' + code +'" ' +
-           'nsresult: "0x' + result + ' (' + name + ')"]';
+           'code: "' + code + '" ' +
+           'nsresult: "0x' + result + " (" + name + ')"]';
   },
   Promise: obj => {
     const { state, value, reason } = getPromiseState(obj);
     let statePreview = state;
     if (state != "pending") {
       const settledValue = state === "fulfilled" ? value : reason;
       statePreview += ": " + (typeof settledValue === "object" && settledValue !== null
                                 ? stringify(settledValue)
@@ -1964,43 +1964,43 @@ function makeDebuggeeValueIfNeeded(obj, 
 function LongStringActor(string) {
   this.string = string;
   this.stringLength = string.length;
 }
 
 LongStringActor.prototype = {
   actorPrefix: "longString",
 
-  disconnect: function() {
+  disconnect: function () {
     // Because longStringActors is not a weak map, we won't automatically leave
     // it so we need to manually leave on disconnect so that we don't leak
     // memory.
     this._releaseActor();
   },
 
   /**
    * Returns a grip for this actor for returning in a protocol message.
    */
-  grip: function() {
+  grip: function () {
     return {
       "type": "longString",
       "initial": this.string.substring(
         0, DebuggerServer.LONG_STRING_INITIAL_LENGTH),
       "length": this.stringLength,
       "actor": this.actorID
     };
   },
 
   /**
    * Handle a request to extract part of this actor's string.
    *
    * @param request object
    *        The protocol request object.
    */
-  onSubstring: function(request) {
+  onSubstring: function (request) {
     return {
       "from": this.actorID,
       "substring": this.string.substring(request.start, request.end)
     };
   },
 
   /**
    * Handle a request to release this LongStringActor instance.
@@ -2009,17 +2009,17 @@ LongStringActor.prototype = {
     // TODO: also check if registeredPool === threadActor.threadLifetimePool
     // when the web console moves aray from manually releasing pause-scoped
     // actors.
     this._releaseActor();
     this.registeredPool.removeActor(this);
     return {};
   },
 
-  _releaseActor: function() {
+  _releaseActor: function () {
     if (this.registeredPool && this.registeredPool.longStringActors) {
       delete this.registeredPool.longStringActors[this.string];
     }
   }
 };
 
 LongStringActor.prototype.requestTypes = {
   "substring": LongStringActor.prototype.onSubstring,
@@ -2055,17 +2055,17 @@ function createValueGrip(value, pool, ma
 
     case "undefined":
       return { type: "undefined" };
 
     case "object":
       if (value === null) {
         return { type: "null" };
       }
-    else if (value.optimizedOut ||
+      else if (value.optimizedOut ||
              value.uninitialized ||
              value.missingArguments) {
         // The slot is optimized out, an uninitialized binding, or
         // arguments on a dead scope
         return {
           type: "null",
           optimizedOut: value.optimizedOut,
           uninitialized: value.uninitialized,
--- a/devtools/server/actors/performance-entries.js
+++ b/devtools/server/actors/performance-entries.js
@@ -23,61 +23,61 @@ var PerformanceEntriesActor = exports.Pe
   events: {
     "entry" : {
       type: "entry",
       detail: Arg(0, "json") // object containing performance entry name, type,
                              // origin, and epoch.
     }
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     Actor.prototype.initialize.call(this, conn);
     this.window = tabActor.window;
   },
 
   /**
    * Start tracking the user timings.
    */
-  start: method(function() {
+  start: method(function () {
     if (!this.listenerAdded) {
       this.onPerformanceEntry = this.onPerformanceEntry.bind(this);
       this.window.addEventListener("performanceentry", this.onPerformanceEntry, true);
       this.listenerAdded = true;
     }
   }),
 
   /**
    * Stop tracking the user timings.
    */
-  stop: method(function() {
+  stop: method(function () {
     if (this.listenerAdded) {
       this.window.removeEventListener("performanceentry", this.onPerformanceEntry, true);
       this.listenerAdded = false;
     }
   }),
 
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
-  destroy: function() {
+  destroy: function () {
     this.stop();
     Actor.prototype.destroy.call(this);
   },
 
   onPerformanceEntry: function (e) {
     let emitDetail = {
       type: e.entryType,
       name: e.name,
       origin: e.origin,
       epoch: e.epoch
     };
-    events.emit(this, 'entry', emitDetail);
+    events.emit(this, "entry", emitDetail);
   }
 });
 
 exports.PerformanceEntriesFront = FrontClass(PerformanceEntriesActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     Front.prototype.initialize.call(this, client);
     this.actorID = form.performanceEntriesActor;
     this.manage(this);
   },
 });
--- a/devtools/server/actors/performance-recording.js
+++ b/devtools/server/actors/performance-recording.js
@@ -22,17 +22,17 @@ loader.lazyRequireGetter(this, "Performa
  * This actor wraps the Performance module at devtools/shared/shared/performance.js
  * and provides RDP definitions.
  *
  * @see devtools/shared/shared/performance.js for documentation.
  */
 var PerformanceRecordingActor = exports.PerformanceRecordingActor = protocol.ActorClass(merge({
   typeName: "performance-recording",
 
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let form = {
       actor: this.actorID,  // actorID is set when this is added to a pool
       configuration: this._configuration,
       startingBufferStatus: this._startingBufferStatus,
@@ -103,17 +103,17 @@ var PerformanceRecordingActor = exports.
       this._ticks = [];
       this._allocations = { sites: [], timestamps: [], frames: [], sizes: [] };
 
       this._systemHost = meta.systemHost || {};
       this._systemClient = meta.systemClient || {};
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Actor.prototype.destroy.call(this);
   },
 
   /**
    * Internal utility called by the PerformanceActor and PerformanceFront on state changes
    * to update the internal state of the PerformanceRecording.
    *
    * @param {string} state
@@ -141,28 +141,28 @@ var PerformanceRecordingActor = exports.
 
         // Markers need to be sorted ascending by time, to be properly displayed
         // in a waterfall view.
         this._markers = this._markers.sort((a, b) => (a.start > b.start));
 
         this._completed = true;
         break;
       }
-    };
+    }
   },
 
 }, PerformanceRecordingCommon));
 
 /**
  * This can be used on older Profiler implementations, but the methods cannot
  * be changed -- you must introduce a new method, and detect the server.
  */
 var PerformanceRecordingFront = exports.PerformanceRecordingFront = protocol.FrontClass(PerformanceRecordingActor, merge({
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       this.actorID = form;
       return;
     }
     this.actorID = form.actor;
     this._form = form;
     this._configuration = form.configuration;
     this._startingBufferStatus = form.startingBufferStatus;
--- a/devtools/server/actors/performance.js
+++ b/devtools/server/actors/performance.js
@@ -86,17 +86,17 @@ var PerformanceActor = exports.Performan
     this.bridge = new PerformanceRecorder(conn, tabActor);
     events.on(this.bridge, "*", this._onRecorderEvent);
   },
 
   /**
    * `disconnect` method required to call destroy, since this
    * actor is not managed by a parent actor.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
   destroy: function () {
     events.off(this.bridge, "*", this._onRecorderEvent);
     this.bridge.destroy();
     protocol.Actor.prototype.destroy.call(this);
   },
@@ -104,23 +104,23 @@ var PerformanceActor = exports.Performan
   connect: method(function (config) {
     this.bridge.connect({ systemClient: config.systemClient });
     return { traits: this.traits };
   }, {
     request: { options: Arg(0, "nullable:json") },
     response: RetVal("json")
   }),
 
-  canCurrentlyRecord: method(function() {
+  canCurrentlyRecord: method(function () {
     return this.bridge.canCurrentlyRecord();
   }, {
     response: { value: RetVal("json") }
   }),
 
-  startRecording: method(Task.async(function *(options={}) {
+  startRecording: method(Task.async(function* (options = {}) {
     if (!this.bridge.canCurrentlyRecord().success) {
       return null;
     }
 
     let normalizedOptions = normalizePerformanceFeatures(options, this.traits.features);
     let recording = yield this.bridge.startRecording(normalizedOptions);
     this.manage(recording);
 
@@ -174,17 +174,17 @@ var PerformanceActor = exports.Performan
     }
 
     if (PIPE_TO_FRONT_EVENTS.has(eventName)) {
       events.emit(this, eventName, ...data);
     }
   },
 });
 
-exports.createPerformanceFront = function createPerformanceFront (target) {
+exports.createPerformanceFront = function createPerformanceFront(target) {
   // If we force legacy mode, or the server does not have a performance actor (< Fx42),
   // use our LegacyPerformanceFront which will handle
   // the communication over RDP to other underlying actors.
   if (target.TEST_PERFORMANCE_LEGACY_FRONT || !target.form.performanceActor) {
     return new LegacyPerformanceFront(target);
   }
   // If our server has a PerformanceActor implementation, set this
   // up like a normal front.
@@ -201,17 +201,17 @@ const PerformanceFront = exports.Perform
   destroy: function () {
     protocol.Front.prototype.destroy.call(this);
   },
 
   /**
    * Conenct to the server, and handle once-off tasks like storing traits
    * or system info.
    */
-  connect: custom(Task.async(function *() {
+  connect: custom(Task.async(function* () {
     let systemClient = yield getSystemInfo();
     let { traits } = yield this._connect({ systemClient });
     this._traits = traits;
 
     return this._traits;
   }), {
     impl: "_connect"
   }),
--- a/devtools/server/actors/preference.js
+++ b/devtools/server/actors/preference.js
@@ -2,50 +2,50 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 const {Cc, Ci, Cu, CC} = require("chrome");
 const protocol = require("devtools/shared/protocol");
 const {Arg, method, RetVal} = protocol;
 const Services = require("Services");
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.addGlobalActor(PreferenceActor, "preferenceActor");
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
 };
 
 var PreferenceActor = exports.PreferenceActor = protocol.ActorClass({
   typeName: "preference",
 
-  getBoolPref: method(function(name) {
+  getBoolPref: method(function (name) {
     return Services.prefs.getBoolPref(name);
   }, {
     request: { value: Arg(0) },
     response: { value: RetVal("boolean") }
   }),
 
-  getCharPref: method(function(name) {
+  getCharPref: method(function (name) {
     return Services.prefs.getCharPref(name);
   }, {
     request: { value: Arg(0) },
     response: { value: RetVal("string") }
   }),
 
-  getIntPref: method(function(name) {
+  getIntPref: method(function (name) {
     return Services.prefs.getIntPref(name);
   }, {
     request: { value: Arg(0) },
     response: { value: RetVal("number") }
   }),
 
-  getAllPrefs: method(function() {
+  getAllPrefs: method(function () {
     let prefs = {};
-    Services.prefs.getChildList("").forEach(function(name, index) {
+    Services.prefs.getChildList("").forEach(function (name, index) {
       // append all key/value pairs into a huge json object.
       try {
         let value;
         switch (Services.prefs.getPrefType(name)) {
           case Ci.nsIPrefBranch.PREF_STRING:
             value = Services.prefs.getCharPref(name);
             break;
           case Ci.nsIPrefBranch.PREF_INT:
@@ -65,60 +65,60 @@ var PreferenceActor = exports.Preference
       }
     });
     return prefs;
   }, {
     request: {},
     response: { value: RetVal("json") }
   }),
 
-  setBoolPref: method(function(name, value) {
+  setBoolPref: method(function (name, value) {
     Services.prefs.setBoolPref(name, value);
     Services.prefs.savePrefFile(null);
   }, {
     request: { name: Arg(0), value: Arg(1) },
     response: {}
   }),
 
-  setCharPref: method(function(name, value) {
+  setCharPref: method(function (name, value) {
     Services.prefs.setCharPref(name, value);
     Services.prefs.savePrefFile(null);
   }, {
     request: { name: Arg(0), value: Arg(1) },
     response: {}
   }),
 
-  setIntPref: method(function(name, value) {
+  setIntPref: method(function (name, value) {
     Services.prefs.setIntPref(name, value);
     Services.prefs.savePrefFile(null);
   }, {
     request: { name: Arg(0), value: Arg(1) },
     response: {}
   }),
 
-  clearUserPref: method(function(name) {
+  clearUserPref: method(function (name) {
     Services.prefs.clearUserPref(name);
     Services.prefs.savePrefFile(null);
   }, {
     request: { name: Arg(0) },
     response: {}
   }),
 });
 
 var PreferenceFront = protocol.FrontClass(PreferenceActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client);
     this.actorID = form.preferenceActor;
     this.manage(this);
   },
 });
 
 const _knownPreferenceFronts = new WeakMap();
 
-exports.getPreferenceFront = function(client, form) {
+exports.getPreferenceFront = function (client, form) {
   if (!form.preferenceActor) {
     return null;
   }
 
   if (_knownPreferenceFronts.has(client)) {
     return _knownPreferenceFronts.get(client);
   }
 
--- a/devtools/server/actors/pretty-print-worker.js
+++ b/devtools/server/actors/pretty-print-worker.js
@@ -39,12 +39,12 @@ workerHelper.createTask(self, "pretty-pr
       indent: " ".repeat(indent)
     });
 
     return {
       code: prettified.code,
       mappings: prettified.map._mappings
     };
   }
-  catch(e) {
+  catch (e) {
     return new Error(e.message + "\n" + e.stack);
   }
 });
--- a/devtools/server/actors/process.js
+++ b/devtools/server/actors/process.js
@@ -52,20 +52,20 @@ ProcessActorList.prototype = {
   },
 
   _checkListening: function () {
     if (this._onListChanged !== null && this._mustNotify) {
       this._knownProcesses = [];
       for (let i = 0; i < ppmm.childCount; i++) {
         this._knownProcesses.push(ppmm.getChildAt(i));
       }
-      ppmm.addMessageListener('debug:new-process', this._onMessage);
+      ppmm.addMessageListener("debug:new-process", this._onMessage);
       ppmm.loadProcessScript(this._processScript, true);
     } else {
-      ppmm.removeMessageListener('debug:new-process', this._onMessage);
+      ppmm.removeMessageListener("debug:new-process", this._onMessage);
       ppmm.removeDelayedProcessScript(this._processScript);
     }
   },
 
   _notifyListChanged: function () {
     if (this._mustNotify) {
       this._onListChanged();
       this._mustNotify = false;
--- a/devtools/server/actors/profiler.js
+++ b/devtools/server/actors/profiler.js
@@ -72,21 +72,21 @@ var ProfilerActor = exports.ProfilerActo
     this.bridge = new Profiler();
     events.on(this.bridge, "*", this._onProfilerEvent);
   },
 
   /**
    * `disconnect` method required to call destroy, since this
    * actor is not managed by a parent actor.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
-  destroy: function() {
+  destroy: function () {
     events.off(this.bridge, "*", this._onProfilerEvent);
     this.bridge.destroy();
     protocol.Actor.prototype.destroy.call(this);
   },
 
   startProfiler: actorBridge("start", {
     // Write out every property in the request, since we want all these options to be
     // on the packet's top-level for backwards compatibility, when the profiler actor
@@ -163,17 +163,17 @@ var ProfilerActor = exports.ProfilerActo
   },
 });
 
 /**
  * This can be used on older Profiler implementations, but the methods cannot
  * be changed -- you must introduce a new method, and detect the server.
  */
 exports.ProfilerFront = protocol.FrontClass(ProfilerActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this.actorID = form.profilerActor;
     this.manage(this);
 
     this._onProfilerEvent = this._onProfilerEvent.bind(this);
     events.on(this, "*", this._onProfilerEvent);
   },
 
--- a/devtools/server/actors/promises.js
+++ b/devtools/server/actors/promises.js
@@ -38,34 +38,34 @@ var PromisesActor = protocol.ActorClass(
       data: Arg(0, "array:ObjectActor")
     }
   },
 
   /**
    * @param conn DebuggerServerConnection.
    * @param parent TabActor|RootActor
    */
-  initialize: function(conn, parent) {
+  initialize: function (conn, parent) {
     protocol.Actor.prototype.initialize.call(this, conn);
 
     this.conn = conn;
     this.parent = parent;
     this.state = "detached";
     this._dbg = null;
     this._gripDepth = 0;
     this._navigationLifetimePool = null;
     this._newPromises = null;
     this._promisesSettled = null;
 
     this.objectGrip = this.objectGrip.bind(this);
     this._makePromiseEventHandler = this._makePromiseEventHandler.bind(this);
     this._onWindowReady = this._onWindowReady.bind(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Actor.prototype.destroy.call(this, this.conn);
 
     if (this.state === "attached") {
       this.detach();
     }
   },
 
   get dbg() {
@@ -73,17 +73,17 @@ var PromisesActor = protocol.ActorClass(
       this._dbg = this.parent.makeDebugger();
     }
     return this._dbg;
   },
 
   /**
    * Attach to the PromisesActor.
    */
-  attach: method(expectState("detached", function() {
+  attach: method(expectState("detached", function () {
     this.dbg.addDebuggees();
 
     this._navigationLifetimePool = this._createActorPool();
     this.conn.addActorPool(this._navigationLifetimePool);
 
     this._newPromises = [];
     this._promisesSettled = [];
 
@@ -93,59 +93,59 @@ var PromisesActor = protocol.ActorClass(
 
     this.dbg.onNewScript = s => {
       this.parent.sources.createSourceActors(s.source);
     };
 
     events.on(this.parent, "window-ready", this._onWindowReady);
 
     this.state = "attached";
-  }, `attaching to the PromisesActor`), {
+  }, "attaching to the PromisesActor"), {
     request: {},
     response: {}
   }),
 
   /**
    * Detach from the PromisesActor upon Debugger closing.
    */
-  detach: method(expectState("attached", function() {
+  detach: method(expectState("attached", function () {
     this.dbg.removeAllDebuggees();
     this.dbg.enabled = false;
     this._dbg = null;
     this._newPromises = null;
     this._promisesSettled = null;
 
     if (this._navigationLifetimePool) {
       this.conn.removeActorPool(this._navigationLifetimePool);
       this._navigationLifetimePool = null;
     }
 
     events.off(this.parent, "window-ready", this._onWindowReady);
 
     this.state = "detached";
-  }, `detaching from the PromisesActor`), {
+  }, "detaching from the PromisesActor"), {
     request: {},
     response: {}
   }),
 
-  _createActorPool: function() {
+  _createActorPool: function () {
     let pool = new ActorPool(this.conn);
     pool.objectActors = new WeakMap();
     return pool;
   },
 
   /**
    * Create an ObjectActor for the given Promise object.
    *
    * @param object promise
    *        The promise object
    * @return object
    *        An ObjectActor object that wraps the given Promise object
    */
-  _createObjectActorForPromise: function(promise) {
+  _createObjectActorForPromise: function (promise) {
     if (this._navigationLifetimePool.objectActors.has(promise)) {
       return this._navigationLifetimePool.objectActors.get(promise);
     }
 
     let actor = new ObjectActor(promise, {
       getGripDepth: () => this._gripDepth,
       incrementGripDepth: () => this._gripDepth++,
       decrementGripDepth: () => this._gripDepth--,
@@ -167,24 +167,24 @@ var PromisesActor = protocol.ActorClass(
   /**
    * Get a grip for the given Promise object.
    *
    * @param object value
    *        The Promise object
    * @return object
    *        The grip for the given Promise object
    */
-  objectGrip: function(value) {
+  objectGrip: function (value) {
     return this._createObjectActorForPromise(value).grip();
   },
 
   /**
    * Get a list of ObjectActors for all live Promise Objects.
    */
-  listPromises: method(function() {
+  listPromises: method(function () {
     let promises = this.dbg.findObjects({ class: "Promise" });
 
     this.dbg.onNewPromise = this._makePromiseEventHandler(this._newPromises,
       "new-promises");
     this.dbg.onPromiseSettled = this._makePromiseEventHandler(
       this._promisesSettled, "promises-settled");
 
     return promises.map(p => this._createObjectActorForPromise(p));
@@ -201,47 +201,47 @@ var PromisesActor = protocol.ActorClass(
    * Promise ObjectActor to the array and schedule it to be emitted as a
    * batch for the provided event.
    *
    * @param array array
    *        The list of Promise ObjectActors to emit
    * @param string eventName
    *        The event name
    */
-  _makePromiseEventHandler: function(array, eventName) {
+  _makePromiseEventHandler: function (array, eventName) {
     return promise => {
       let actor = this._createObjectActorForPromise(promise);
       let needsScheduling = array.length == 0;
 
       array.push(actor);
 
       if (needsScheduling) {
         DevToolsUtils.executeSoon(() => {
           events.emit(this, eventName, array.splice(0, array.length));
         });
       }
     };
   },
 
-  _onWindowReady: expectState("attached", function({ isTopLevel }) {
+  _onWindowReady: expectState("attached", function ({ isTopLevel }) {
     if (!isTopLevel) {
       return;
     }
 
     this._navigationLifetimePool.cleanup();
     this.dbg.removeAllDebuggees();
     this.dbg.addDebuggees();
   })
 });
 
 exports.PromisesActor = PromisesActor;
 
 exports.PromisesFront = protocol.FrontClass(PromisesActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
     this.actorID = form.promisesActor;
     this.manage(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Front.prototype.destroy.call(this);
   }
 });
--- a/devtools/server/actors/root.js
+++ b/devtools/server/actors/root.js
@@ -181,61 +181,61 @@ RootActor.prototype = {
     // Whether or not the timeline actor can emit DOMContentLoaded and Load
     // markers, currently in use by the network monitor. Fx45+
     documentLoadingMarkers: true
   },
 
   /**
    * Return a 'hello' packet as specified by the Remote Debugging Protocol.
    */
-  sayHello: function() {
+  sayHello: function () {
     return {
       from: this.actorID,
       applicationType: this.applicationType,
       /* This is not in the spec, but it's used by tests. */
       testConnectionPrefix: this.conn.prefix,
       traits: this.traits
     };
   },
 
   /**
    * Disconnects the actor from the browser window.
    */
-  disconnect: function() {
+  disconnect: function () {
     /* Tell the live lists we aren't watching any more. */
     if (this._parameters.tabList) {
       this._parameters.tabList.onListChanged = null;
     }
     if (this._parameters.addonList) {
       this._parameters.addonList.onListChanged = null;
     }
     if (this._parameters.workerList) {
       this._parameters.workerList.onListChanged = null;
     }
     if (this._parameters.serviceWorkerRegistrationList) {
       this._parameters.serviceWorkerRegistrationList.onListChanged = null;
     }
-    if (typeof this._parameters.onShutdown === 'function') {
+    if (typeof this._parameters.onShutdown === "function") {
       this._parameters.onShutdown();
     }
     this._extraActors = null;
     this.conn = null;
     this._tabActorPool = null;
     this._globalActorPool = null;
     this._parameters = null;
     this._chromeActor = null;
   },
 
   /* The 'listTabs' request and the 'tabListChanged' notification. */
 
   /**
    * Handles the listTabs request. The actors will survive until at least
    * the next listTabs request.
    */
-  onListTabs: function() {
+  onListTabs: function () {
     let tabList = this._parameters.tabList;
     if (!tabList) {
       return { from: this.actorID, error: "noTabs",
                message: "This root actor has no browser tabs." };
     }
 
     /*
      * Walk the tab list, accumulating the array of tab actors for the
@@ -304,29 +304,29 @@ RootActor.prototype = {
                message: "This root actor has no browser tabs." };
     }
     if (!this._tabActorPool) {
       this._tabActorPool = new ActorPool(this.conn);
       this.conn.addActorPool(this._tabActorPool);
     }
     return tabList.getTab(options)
                   .then(tabActor => {
-      tabActor.parentID = this.actorID;
-      this._tabActorPool.addActor(tabActor);
+                    tabActor.parentID = this.actorID;
+                    this._tabActorPool.addActor(tabActor);
 
-      return { tab: tabActor.form() };
-    }, error => {
-      if (error.error) {
+                    return { tab: tabActor.form() };
+                  }, error => {
+                    if (error.error) {
         // Pipe expected errors as-is to the client
-        return error;
-      } else {
-        return { error: "noTab",
+                      return error;
+                    } else {
+                      return { error: "noTab",
                  message: "Unexpected error while calling getTab(): " + error };
-      }
-    });
+                    }
+                  });
   },
 
   onTabListChanged: function () {
     this.conn.send({ from: this.actorID, type:"tabListChanged" });
     /* It's a one-shot notification; no need to watch any more. */
     this._parameters.tabList.onListChanged = null;
   },
 
@@ -335,17 +335,17 @@ RootActor.prototype = {
     if (!addonList) {
       return { from: this.actorID, error: "noAddons",
                message: "This root actor has no browser addons." };
     }
 
     return addonList.getList().then((addonActors) => {
       let addonActorPool = new ActorPool(this.conn);
       for (let addonActor of addonActors) {
-          addonActorPool.addActor(addonActor);
+        addonActorPool.addActor(addonActor);
       }
 
       if (this._addonActorPool) {
         this.conn.removeActorPool(this._addonActorPool);
       }
       this._addonActorPool = addonActorPool;
       this.conn.addActorPool(this._addonActorPool);
 
@@ -442,17 +442,17 @@ RootActor.prototype = {
     this._parameters.processList.onListChanged = null;
   },
 
   onGetProcess: function (aRequest) {
     if (!DebuggerServer.allowChromeProcess) {
       return { error: "forbidden",
                message: "You are not allowed to debug chrome." };
     }
-    if (("id" in aRequest) && typeof(aRequest.id) != "number") {
+    if (("id" in aRequest) && typeof (aRequest.id) != "number") {
       return { error: "wrongParameter",
                message: "getProcess requires a valid `id` attribute." };
     }
     // If the request doesn't contains id parameter or id is 0
     // (id == 0, based on onListProcesses implementation)
     if ((!("id" in aRequest)) || aRequest.id === 0) {
       if (!this._chromeActor) {
         // Create a ChromeActor for the parent process
@@ -489,32 +489,32 @@ RootActor.prototype = {
   /* Support for DebuggerServer.addGlobalActor. */
   _createExtraActors: createExtraActors,
   _appendExtraActors: appendExtraActors,
 
   /**
    * Remove the extra actor (added by DebuggerServer.addGlobalActor or
    * DebuggerServer.addTabActor) name |aName|.
    */
-  removeActorByName: function(aName) {
+  removeActorByName: function (aName) {
     if (aName in this._extraActors) {
       const actor = this._extraActors[aName];
       if (this._globalActorPool.has(actor)) {
         this._globalActorPool.removeActor(actor);
       }
       if (this._tabActorPool) {
         // Iterate over TabActor instances to also remove tab actors
         // created during listTabs for each document.
         this._tabActorPool.forEach(tab => {
           tab.removeActorByName(aName);
         });
       }
       delete this._extraActors[aName];
     }
-   }
+  }
 };
 
 RootActor.prototype.requestTypes = {
   "listTabs": RootActor.prototype.onListTabs,
   "getTab": RootActor.prototype.onGetTab,
   "listAddons": RootActor.prototype.onListAddons,
   "listWorkers": RootActor.prototype.onListWorkers,
   "listServiceWorkerRegistrations": RootActor.prototype.onListServiceWorkerRegistrations,
--- a/devtools/server/actors/script.js
+++ b/devtools/server/actors/script.js
@@ -95,21 +95,21 @@ BreakpointActorMap.prototype = {
       query.beginColumn = location.originalColumn ? location.originalColumn : 0;
       query.endColumn = location.originalColumn ? location.originalColumn + 1 : Infinity;
     } else {
       query.beginColumn = location.originalColumn ? query.originalColumn : undefined;
       query.endColumn = location.originalColumn ? query.originalColumn + 1 : undefined;
     }
 
     for (let sourceActorID of findKeys(this._actors, query.sourceActorID))
-    for (let line of findKeys(this._actors[sourceActorID], query.line))
-    for (let beginColumn of findKeys(this._actors[sourceActorID][line], query.beginColumn))
-    for (let endColumn of findKeys(this._actors[sourceActorID][line][beginColumn], query.endColumn)) {
-      yield this._actors[sourceActorID][line][beginColumn][endColumn];
-    }
+      for (let line of findKeys(this._actors[sourceActorID], query.line))
+        for (let beginColumn of findKeys(this._actors[sourceActorID][line], query.beginColumn))
+          for (let endColumn of findKeys(this._actors[sourceActorID][line][beginColumn], query.endColumn)) {
+            yield this._actors[sourceActorID][line][beginColumn][endColumn];
+          }
   },
 
   /**
    * Return the BreakpointActor at the given location in this
    * BreakpointActorMap.
    *
    * @param OriginalLocation location
    *        The location for which the BreakpointActor should be returned.
@@ -204,38 +204,38 @@ function SourceActorStore() {
   // source identifier --> actor id
   this._sourceActorIds = Object.create(null);
 }
 
 SourceActorStore.prototype = {
   /**
    * Lookup an existing actor id that represents this source, if available.
    */
-  getReusableActorId: function(aSource, aOriginalUrl) {
+  getReusableActorId: function (aSource, aOriginalUrl) {
     let url = this.getUniqueKey(aSource, aOriginalUrl);
     if (url && url in this._sourceActorIds) {
       return this._sourceActorIds[url];
     }
     return null;
   },
 
   /**
    * Update a source with an actorID.
    */
-  setReusableActorId: function(aSource, aOriginalUrl, actorID) {
+  setReusableActorId: function (aSource, aOriginalUrl, actorID) {
     let url = this.getUniqueKey(aSource, aOriginalUrl);
     if (url) {
       this._sourceActorIds[url] = actorID;
     }
   },
 
   /**
    * Make a unique URL from a source that identifies it across reloads.
    */
-  getUniqueKey: function(aSource, aOriginalUrl) {
+  getUniqueKey: function (aSource, aOriginalUrl) {
     if (aOriginalUrl) {
       // Original source from a sourcemap.
       return aOriginalUrl;
     }
     else {
       return getSourceURL(aSource);
     }
   }
@@ -274,17 +274,17 @@ EventLoopStack.prototype = {
 
   /**
    * The URL of the debuggee who pushed the event loop on top of the stack.
    */
   get lastPausedUrl() {
     let url = null;
     if (this.size > 0) {
       try {
-        url = xpcInspector.lastNestRequestor.url
+        url = xpcInspector.lastNestRequestor.url;
       } catch (e) {
         // The tab's URL getter may throw if the tab is destroyed by the time
         // this code runs, but we don't really care at this point.
         dumpn(e);
       }
     }
     return url;
   },
@@ -677,17 +677,17 @@ const ThreadActor = ActorClass({
   },
 
   onReconfigure: function (aRequest) {
     if (this.state == "exited") {
       return { error: "wrongState" };
     }
     const options = aRequest.options || {};
 
-    if ('observeAsmJS' in options) {
+    if ("observeAsmJS" in options) {
       this.dbg.allowUnobservedAsmJS = !options.observeAsmJS;
     }
 
     Object.assign(this._options, options);
 
     // Update the global source store
     this.sources.setOptions(options);
 
@@ -701,61 +701,61 @@ const ThreadActor = ActorClass({
    * @param Debugger.Frame aFrame
    *        The newest debuggee frame in the stack.
    * @param object aReason
    *        An object with a 'type' property containing the reason for the pause.
    * @param function onPacket
    *        Hook to modify the packet before it is sent. Feel free to return a
    *        promise.
    */
-  _pauseAndRespond: function (aFrame, aReason, onPacket=function (k) { return k; }) {
+  _pauseAndRespond: function (aFrame, aReason, onPacket = function (k) { return k; }) {
     try {
       let packet = this._paused(aFrame);
       if (!packet) {
         return undefined;
       }
       packet.why = aReason;
 
       let generatedLocation = this.sources.getFrameLocation(aFrame);
       this.sources.getOriginalLocation(generatedLocation)
                   .then((originalLocation) => {
-        if (!originalLocation.originalSourceActor) {
+                    if (!originalLocation.originalSourceActor) {
           // The only time the source actor will be null is if there
           // was a sourcemap and it tried to look up the original
           // location but there was no original URL. This is a strange
           // scenario so we simply don't pause.
-          DevToolsUtils.reportException(
-            'ThreadActor',
-            new Error('Attempted to pause in a script with a sourcemap but ' +
-                      'could not find original location.')
+                      DevToolsUtils.reportException(
+            "ThreadActor",
+            new Error("Attempted to pause in a script with a sourcemap but " +
+                      "could not find original location.")
           );
 
-          return undefined;
-        }
+                      return undefined;
+                    }
 
-        packet.frame.where = {
-          source: originalLocation.originalSourceActor.form(),
-          line: originalLocation.originalLine,
-          column: originalLocation.originalColumn
-        };
-        resolve(onPacket(packet))
+                    packet.frame.where = {
+                      source: originalLocation.originalSourceActor.form(),
+                      line: originalLocation.originalLine,
+                      column: originalLocation.originalColumn
+                    };
+                    resolve(onPacket(packet))
           .then(null, error => {
             reportError(error);
             return {
               error: "unknownError",
               message: error.message + "\n" + error.stack
             };
           })
           .then(packet => {
             this.conn.send(packet);
           });
-      });
+                  });
 
       this._pushThreadPause();
-    } catch(e) {
+    } catch (e) {
       reportError(e, "Got an exception during TA__pauseAndRespond: ");
     }
 
     // If the browser tab has been closed, terminate the debuggee script
     // instead of continuing. Executing JS after the content window is gone is
     // a bad idea.
     return this._tabClosed ? null : undefined;
   },
@@ -872,17 +872,17 @@ const ThreadActor = ActorClass({
    * Define the JS hook functions for stepping.
    */
   _makeSteppingHooks: function (aStartLocation, steppingType) {
     // Bind these methods and state because some of the hooks are called
     // with 'this' set to the current frame. Rather than repeating the
     // binding in each _makeOnX method, just do it once here and pass it
     // in to each function.
     const steppingHookState = {
-      pauseAndRespond: (aFrame, onPacket=k=>k) => {
+      pauseAndRespond: (aFrame, onPacket = k=>k) => {
         return this._pauseAndRespond(aFrame, { type: "resumeLimit" }, onPacket);
       },
       createValueGrip: v => createValueGrip(v, this._pausePool,
         this.objectGrip),
       thread: this,
       startFrame: this.youngestFrame,
       startLocation: aStartLocation,
       steppingType: steppingType
@@ -923,17 +923,17 @@ const ThreadActor = ActorClass({
         if (stepFrame) {
           switch (steppingType) {
             case "step":
               this.dbg.onEnterFrame = onEnterFrame;
               // Fall through.
             case "break":
             case "next":
               if (stepFrame.script) {
-                  stepFrame.onStep = onStep;
+                stepFrame.onStep = onStep;
               }
               stepFrame.onPop = onPop;
               break;
             case "finish":
               stepFrame.onPop = onPop;
           }
         }
 
@@ -1009,17 +1009,17 @@ const ThreadActor = ActorClass({
         error: "wrongOrder",
         message: "trying to resume in the wrong order.",
         lastPausedUrl: this._nestedEventLoops.lastPausedUrl
       };
     }
 
     let resumeLimitHandled;
     if (aRequest && aRequest.resumeLimit) {
-      resumeLimitHandled = this._handleResumeLimit(aRequest)
+      resumeLimitHandled = this._handleResumeLimit(aRequest);
     } else {
       this._clearSteppingHooks(this.youngestFrame);
       resumeLimitHandled = resolve(true);
     }
 
     return resumeLimitHandled.then(() => {
       if (aRequest) {
         this._options.pauseOnExceptions = aRequest.pauseOnExceptions;
@@ -1052,17 +1052,17 @@ const ThreadActor = ActorClass({
    * DON'T USE THIS UNLESS YOU ABSOLUTELY MUST! Nested event loops suck: the
    * world's state can change out from underneath your feet because JS is no
    * longer run-to-completion.
    *
    * @param aPromise
    *        The promise we want to resolve.
    * @returns The promise's resolution.
    */
-  unsafeSynchronize: function(aPromise) {
+  unsafeSynchronize: function (aPromise) {
     let needNest = true;
     let eventLoop;
     let returnVal;
 
     aPromise
       .then((aResolvedVal) => {
         needNest = false;
         returnVal = aResolvedVal;
@@ -1082,32 +1082,32 @@ const ThreadActor = ActorClass({
     }
 
     return returnVal;
   },
 
   /**
    * Set the debugging hook to pause on exceptions if configured to do so.
    */
-  maybePauseOnExceptions: function() {
+  maybePauseOnExceptions: function () {
     if (this._options.pauseOnExceptions) {
       this.dbg.onExceptionUnwind = this.onExceptionUnwind.bind(this);
     }
   },
 
   /**
    * A listener that gets called for every event fired on the page, when a list
    * of interesting events was provided with the pauseOnDOMEvents property. It
    * is used to set server-managed breakpoints on any existing event listeners
    * for those events.
    *
    * @param Event event
    *        The event that was fired.
    */
-  _allEventsListener: function(event) {
+  _allEventsListener: function (event) {
     if (this._pauseOnDOMEvents == "*" ||
         this._pauseOnDOMEvents.indexOf(event.type) != -1) {
       for (let listener of this._getAllEventListeners(event.target)) {
         if (event.type == listener.type || this._pauseOnDOMEvents == "*") {
           this._breakOnEnter(listener.script);
         }
       }
     }
@@ -1116,17 +1116,17 @@ const ThreadActor = ActorClass({
   /**
    * Return an array containing all the event listeners attached to the
    * specified event target and its ancestors in the event target chain.
    *
    * @param EventTarget eventTarget
    *        The target the event was dispatched on.
    * @returns Array
    */
-  _getAllEventListeners: function(eventTarget) {
+  _getAllEventListeners: function (eventTarget) {
     let els = Cc["@mozilla.org/eventlistenerservice;1"]
                 .getService(Ci.nsIEventListenerService);
 
     let targets = els.getEventTargetChainFor(eventTarget);
     let listeners = [];
 
     for (let target of targets) {
       let handlers = els.getListenerInfoFor(target);
@@ -1172,17 +1172,17 @@ const ThreadActor = ActorClass({
     }
     return listeners;
   },
 
   /**
    * Set a breakpoint on the first line of the given script that has an entry
    * point.
    */
-  _breakOnEnter: function(script) {
+  _breakOnEnter: function (script) {
     let offsets = script.getAllOffsets();
     for (let line = 0, n = offsets.length; line < n; line++) {
       if (offsets[line]) {
         // N.B. Hidden breakpoints do not have an original location, and are not
         // stored in the breakpoint actor map.
         let actor = new BreakpointActor(this);
         this.threadLifetimePool.addActor(actor);
         let scripts = this.scripts.getScriptsBySourceAndLine(script.source, line);
@@ -1256,17 +1256,17 @@ const ThreadActor = ActorClass({
     while (frame && (i < start)) {
       frame = frame.older;
       i++;
     }
 
     // Return request.count frames, or all remaining
     // frames if count is not defined.
     let promises = [];
-    for (; frame && (!count || i < (start + count)); i++, frame=frame.older) {
+    for (; frame && (!count || i < (start + count)); i++, frame = frame.older) {
       let form = this._createFrameActor(frame).form();
       form.depth = i;
 
       let promise = this.sources.getOriginalLocation(new GeneratedLocation(
         this.sources.createNonSourceMappedActor(frame.script.source),
         form.where.line,
         form.where.column
       )).then((originalLocation) => {
@@ -1530,17 +1530,17 @@ const ThreadActor = ActorClass({
 
     // Clear DOM event breakpoints.
     // XPCShell tests don't use actual DOM windows for globals and cause
     // removeListenerForAllEvents to throw.
     if (!isWorker && this.global && !this.global.toString().includes("Sandbox")) {
       let els = Cc["@mozilla.org/eventlistenerservice;1"]
                 .getService(Ci.nsIEventListenerService);
       els.removeListenerForAllEvents(this.global, this._allEventsListener, true);
-      for (let [,bp] of this._hiddenBreakpoints) {
+      for (let [, bp] of this._hiddenBreakpoints) {
         bp.delete();
       }
       this._hiddenBreakpoints.clear();
     }
 
     this._state = "paused";
 
     // Create the actor pool that will hold the pause actor and its
@@ -1874,17 +1874,17 @@ const ThreadActor = ActorClass({
 
       packet.why = { type: "exception",
                      exception: createValueGrip(aValue, this._pausePool,
                                                 this.objectGrip)
                    };
       this.conn.send(packet);
 
       this._pushThreadPause();
-    } catch(e) {
+    } catch (e) {
       reportError(e, "Got an exception during TA_onExceptionUnwind: ");
     }
 
     return undefined;
   },
 
   /**
    * A function that the engine calls when a new script has been loaded into the
@@ -1981,24 +1981,24 @@ const ThreadActor = ActorClass({
         // binding because for/of does not yet do that in SpiderMonkey.
         let actor = _actor;
 
         if (actor.isPending) {
           promises.push(actor.originalLocation.originalSourceActor._setBreakpoint(actor));
         } else {
           promises.push(this.sources.getAllGeneratedLocations(actor.originalLocation)
                                     .then((generatedLocations) => {
-            if (generatedLocations.length > 0 &&
+                                      if (generatedLocations.length > 0 &&
                 generatedLocations[0].generatedSourceActor.actorID === sourceActor.actorID) {
-              sourceActor._setBreakpointAtAllGeneratedLocations(
+                                        sourceActor._setBreakpointAtAllGeneratedLocations(
                 actor,
                 generatedLocations
               );
-            }
-          }));
+                                      }
+                                    }));
         }
       }
 
       if (promises.length > 0) {
         this.unsafeSynchronize(promise.all(promises));
       }
     } else {
       // Bug 1225160: If addSource is called in response to a new script
@@ -2208,17 +2208,17 @@ Object.assign(PauseScopedObjectActor.pro
 
 function hackDebugger(Debugger) {
   // TODO: Improve native code instead of hacking on top of it
 
   /**
    * Override the toString method in order to get more meaningful script output
    * for debugging the debugger.
    */
-  Debugger.Script.prototype.toString = function() {
+  Debugger.Script.prototype.toString = function () {
     let output = "";
     if (this.url) {
       output += this.url;
     }
     if (typeof this.staticLevel != "undefined") {
       output += ":L" + this.staticLevel;
     }
     if (typeof this.startLine != "undefined") {
@@ -2240,17 +2240,17 @@ function hackDebugger(Debugger) {
   };
 
   /**
    * Helper property for quickly getting to the line number a stack frame is
    * currently paused at.
    */
   Object.defineProperty(Debugger.Frame.prototype, "line", {
     configurable: true,
-    get: function() {
+    get: function () {
       if (this.script) {
         return this.script.getOffsetLocation(this.offset).lineNumber;
       } else {
         return null;
       }
     }
   });
 }
@@ -2319,22 +2319,22 @@ exports.AddonThreadActor = AddonThreadAc
  * Report the given error in the error console and to stdout.
  *
  * @param Error aError
  *        The error object you wish to report.
  * @param String aPrefix
  *        An optional prefix for the reported error message.
  */
 var oldReportError = reportError;
-reportError = function(aError, aPrefix="") {
+reportError = function (aError, aPrefix = "") {
   assert(aError instanceof Error, "Must pass Error objects to reportError");
   let msg = aPrefix + aError.message + ":\n" + aError.stack;
   oldReportError(msg);
   dumpn(msg);
-}
+};
 
 /**
  * Find the scripts which contain offsets that are an entry point to the given
  * line.
  *
  * @param Array scripts
  *        The set of Debugger.Scripts to consider.
  * @param Number line
--- a/devtools/server/actors/settings.js
+++ b/devtools/server/actors/settings.js
@@ -10,21 +10,21 @@ const promise = require("promise");
 const Services = require("Services");
 
 Cu.import("resource://gre/modules/FileUtils.jsm");
 Cu.import("resource://gre/modules/NetUtil.jsm");
 
 var defaultSettings = {};
 var settingsFile;
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.addGlobalActor(SettingsActor, "settingsActor");
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
 };
 
 function getDefaultSettings() {
   let chan = NetUtil.newChannel({
     uri: NetUtil.newURI(settingsFile),
     loadUsingSystemPrincipal: true});
   let stream = chan.open2();
   // Obtain a converter to read from a UTF-8 encoded input stream.
@@ -32,17 +32,17 @@ function getDefaultSettings() {
                   .createInstance(Ci.nsIScriptableUnicodeConverter);
   converter.charset = "UTF-8";
   let rawstr = converter.ConvertToUnicode(NetUtil.readInputStreamToString(
                                           stream,
                                           stream.available()) || "");
 
   try {
     defaultSettings = JSON.parse(rawstr);
-  } catch(e) { }
+  } catch (e) { }
   stream.close();
 }
 
 function loadSettingsFile() {
   // Loading resource://app/defaults/settings.json doesn't work because
   // settings.json is not in the omnijar.
   // So we look for the app dir instead and go from here...
   if (settingsFile) {
@@ -61,121 +61,121 @@ function loadSettingsFile() {
   if (settingsFile.exists()) {
     getDefaultSettings();
   }
 }
 
 var SettingsActor = exports.SettingsActor = protocol.ActorClass({
   typeName: "settings",
 
-  _getSettingsService: function() {
+  _getSettingsService: function () {
     let win = Services.wm.getMostRecentWindow(DebuggerServer.chromeWindowType);
     return win.navigator.mozSettings;
   },
 
-  getSetting: method(function(name) {
+  getSetting: method(function (name) {
     let deferred = promise.defer();
     let lock = this._getSettingsService().createLock();
     let req = lock.get(name);
-    req.onsuccess = function() {
+    req.onsuccess = function () {
       deferred.resolve(req.result[name]);
     };
-    req.onerror = function() {
+    req.onerror = function () {
       deferred.reject(req.error);
     };
     return deferred.promise;
   }, {
     request: { value: Arg(0) },
     response: { value: RetVal("json") }
   }),
 
-  setSetting: method(function(name, value) {
+  setSetting: method(function (name, value) {
     let deferred = promise.defer();
     let data = {};
     data[name] = value;
     let lock = this._getSettingsService().createLock();
     let req = lock.set(data);
-    req.onsuccess = function() {
+    req.onsuccess = function () {
       deferred.resolve(true);
     };
-    req.onerror = function() {
+    req.onerror = function () {
       deferred.reject(req.error);
     };
     return deferred.promise;
   }, {
     request: { name: Arg(0), value: Arg(1) },
     response: {}
   }),
 
-  _hasUserSetting: function(name, value) {
+  _hasUserSetting: function (name, value) {
     if (typeof value === "object") {
       return JSON.stringify(defaultSettings[name]) !== JSON.stringify(value);
     }
     return (defaultSettings[name] !== value);
   },
 
-  getAllSettings: method(function() {
+  getAllSettings: method(function () {
     loadSettingsFile();
     let settings = {};
     let self = this;
 
     let deferred = promise.defer();
     let lock = this._getSettingsService().createLock();
     let req = lock.get("*");
 
-    req.onsuccess = function() {
+    req.onsuccess = function () {
       for (var name in req.result) {
         settings[name] = {
           value: req.result[name],
           hasUserValue: self._hasUserSetting(name, req.result[name])
         };
       }
       deferred.resolve(settings);
     };
-    req.onfailure = function() {
+    req.onfailure = function () {
       deferred.reject(req.error);
     };
 
     return deferred.promise;
   }, {
     request: {},
     response: { value: RetVal("json") }
   }),
 
-  clearUserSetting: method(function(name) {
+  clearUserSetting: method(function (name) {
     loadSettingsFile();
     try {
       this.setSetting(name, defaultSettings[name]);
     } catch (e) {
       console.log(e);
     }
   }, {
     request: { name: Arg(0) },
     response: {}
   })
 });
 
 var SettingsFront = protocol.FrontClass(SettingsActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client);
     this.actorID = form.settingsActor;
     this.manage(this);
   },
 });
 
 const _knownSettingsFronts = new WeakMap();
 
-exports.getSettingsFront = function(client, form) {
+exports.getSettingsFront = function (client, form) {
   if (!form.settingsActor) {
     return null;
   }
   if (_knownSettingsFronts.has(client)) {
     return _knownSettingsFronts.get(client);
   }
   let front = new SettingsFront(client, form);
   _knownSettingsFronts.set(client, front);
   return front;
 };
 
 // For tests
-exports._setDefaultSettings = function(settings) {
+exports._setDefaultSettings = function (settings) {
   defaultSettings = settings || {};
 };
--- a/devtools/server/actors/source.js
+++ b/devtools/server/actors/source.js
@@ -20,50 +20,50 @@ const { defer, resolve, reject, all } = 
 loader.lazyRequireGetter(this, "SourceMapConsumer", "source-map", true);
 loader.lazyRequireGetter(this, "SourceMapGenerator", "source-map", true);
 loader.lazyRequireGetter(this, "mapURIToAddonID", "devtools/server/actors/utils/map-uri-to-addon-id");
 
 function isEvalSource(source) {
   let introType = source.introductionType;
   // These are all the sources that are essentially eval-ed (either
   // by calling eval or passing a string to one of these functions).
-  return (introType === 'eval' ||
-          introType === 'Function' ||
-          introType === 'eventHandler' ||
-          introType === 'setTimeout' ||
-          introType === 'setInterval');
+  return (introType === "eval" ||
+          introType === "Function" ||
+          introType === "eventHandler" ||
+          introType === "setTimeout" ||
+          introType === "setInterval");
 }
 
 exports.isEvalSource = isEvalSource;
 
 function getSourceURL(source, window) {
   if (isEvalSource(source)) {
     // Eval sources have no urls, but they might have a `displayURL`
     // created with the sourceURL pragma. If the introduction script
     // is a non-eval script, generate an full absolute URL relative to it.
 
     if (source.displayURL && source.introductionScript &&
        !isEvalSource(source.introductionScript.source)) {
 
-      if (source.introductionScript.source.url === 'debugger eval code') {
+      if (source.introductionScript.source.url === "debugger eval code") {
         if (window) {
           // If this is a named eval script created from the console, make it
           // relative to the current page. window is only available
           // when we care about this.
           return joinURI(window.location.href, source.displayURL);
         }
       }
       else {
         return joinURI(source.introductionScript.source.url, source.displayURL);
       }
     }
 
     return source.displayURL;
   }
-  else if (source.url === 'debugger eval code') {
+  else if (source.url === "debugger eval code") {
     // Treat code evaluated by the console as unnamed eval scripts
     return null;
   }
   return source.url;
 }
 
 exports.getSourceURL = getSourceURL;
 
@@ -225,17 +225,17 @@ let SourceActor = ActorClass({
   },
 
   disconnect: function () {
     if (this.registeredPool && this.registeredPool.sourceActors) {
       delete this.registeredPool.sourceActors[this.actorID];
     }
   },
 
-  _mapSourceToAddon: function() {
+  _mapSourceToAddon: function () {
     try {
       var nsuri = Services.io.newURI(this.url.split(" -> ").pop(), null, null);
     }
     catch (e) {
       // We can't do anything with an invalid URI
       return;
     }
 
@@ -267,25 +267,25 @@ let SourceActor = ActorClass({
       while (file && mapURIToAddonID(Services.io.newFileURI(file))) {
         path = root.leafName + "/" + path;
         root = file;
         file = file.parent;
       }
 
       if (!file) {
         const error = new Error("Could not find the root of the add-on for " + this.url);
-        DevToolsUtils.reportException("SourceActor.prototype._mapSourceToAddon", error)
+        DevToolsUtils.reportException("SourceActor.prototype._mapSourceToAddon", error);
         return;
       }
 
       this._addonPath = path;
     }
   },
 
-  _reportLoadSourceError: function (error, map=null) {
+  _reportLoadSourceError: function (error, map = null) {
     try {
       DevToolsUtils.reportException("SourceActor", error);
 
       JSON.stringify(this.form(), null, 4).split(/\n/g)
         .forEach(line => console.error("\t", line));
 
       if (!map) {
         return;
@@ -434,17 +434,17 @@ let SourceActor = ActorClass({
   }, { response: { lines: RetVal("json") } }),
 
   /**
    * Extract all executable offsets from the given script
    * @param String url - extract offsets of the script with this url
    * @param Boolean onlyLine - will return only the line number
    * @return Set - Executable offsets/lines of the script
    **/
-  getExecutableOffsets: function  (source, onlyLine) {
+  getExecutableOffsets: function (source, onlyLine) {
     let offsets = new Set();
     for (let s of this.threadActor.scripts.getScriptsBySource(source)) {
       for (let offset of s.getAllColumnOffsets()) {
         offsets.add(onlyLine ? offset.lineNumber : offset);
       }
     }
 
     return offsets;
@@ -511,17 +511,17 @@ let SourceActor = ActorClass({
    *          printed code, and `mappings` is an array of source mappings.
    */
   _sendToPrettyPrintWorker: function (aIndent) {
     return ({ content }) => {
       return this.prettyPrintWorker.performTask("pretty-print", {
         url: this.url,
         indent: aIndent,
         source: content
-      })
+      });
     };
   },
 
   /**
    * Invert a source map. So if a source map maps from a to b, return a new
    * source map from b to a. We need to do this because the source map we get
    * from _generatePrettyCodeAndMap goes the opposite way we want it to for
    * debugging.
@@ -558,17 +558,17 @@ let SourceActor = ActorClass({
   },
 
   /**
    * Save the source map back to our thread's ThreadSources object so that
    * stepping, breakpoints, debugger statements, etc can use it. If we are
    * pretty printing a source mapped source, we need to compose the existing
    * source map with our new one.
    */
-  _encodeAndSetSourceMapURL: function  ({ map: sm }) {
+  _encodeAndSetSourceMapURL: function ({ map: sm }) {
     let source = this.generatedSource || this.source;
     let sources = this.threadActor.sources;
 
     return sources.getSourceMap(source).then(prevMap => {
       if (prevMap) {
         // Compose the source maps
         this._oldSourceMapping = {
           url: source.sourceMapURL,
@@ -595,17 +595,17 @@ let SourceActor = ActorClass({
     let sm = sources.getSourceMap(source);
 
     sources.clearSourceMapCache(source.sourceMapURL, { hard: true });
 
     if (this._oldSourceMapping) {
       sources.setSourceMapHard(source,
                                this._oldSourceMapping.url,
                                this._oldSourceMapping.map);
-       this._oldSourceMapping = null;
+      this._oldSourceMapping = null;
     }
 
     this.threadActor.sources.disablePrettyPrint(this.url);
     return this.onSource();
   }, {
     response: RetVal("json")
   }),
 
@@ -870,18 +870,18 @@ let SourceActor = ActorClass({
         }
       }
     } else {
       // This is a column breakpoint, so we are interested in all column
       // offsets that correspond to the given line *and* column number.
       for (let script of scripts) {
         let columnToOffsetMap = script.getAllColumnOffsets()
                                       .filter(({ lineNumber }) => {
-          return lineNumber === generatedLine;
-        });
+                                        return lineNumber === generatedLine;
+                                      });
         for (let { columnNumber: column, offset } of columnToOffsetMap) {
           if (column >= generatedColumn && column <= generatedLastColumn) {
             entryPoints.push({ script, offsets: [offset] });
           }
         }
       }
     }
 
--- a/devtools/server/actors/storage.js
+++ b/devtools/server/actors/storage.js
@@ -82,17 +82,17 @@ var StorageActors = {};
  *   - populateStoresForHost : Given a host, populate the map of all store
  *                             objects for it
  *
  * @param {string} typeName
  *        The typeName of the actor.
  * @param {string} observationTopic
  *        The topic which this actor listens to via Notification Observers.
  */
-StorageActors.defaults = function(typeName, observationTopic) {
+StorageActors.defaults = function (typeName, observationTopic) {
   return {
     typeName: typeName,
 
     get conn() {
       return this.storageActor.conn;
     },
 
     /**
@@ -113,58 +113,58 @@ StorageActors.defaults = function(typeNa
      */
     get windows() {
       return this.storageActor.windows;
     },
 
     /**
      * Converts the window.location object into host.
      */
-    getHostName: function(location) {
+    getHostName: function (location) {
       return location.hostname || location.href;
     },
 
-    initialize: function(storageActor) {
+    initialize: function (storageActor) {
       protocol.Actor.prototype.initialize.call(this, null);
 
       this.storageActor = storageActor;
 
       this.populateStoresForHosts();
       if (observationTopic) {
         Services.obs.addObserver(this, observationTopic, false);
       }
       this.onWindowReady = this.onWindowReady.bind(this);
       this.onWindowDestroyed = this.onWindowDestroyed.bind(this);
       events.on(this.storageActor, "window-ready", this.onWindowReady);
       events.on(this.storageActor, "window-destroyed", this.onWindowDestroyed);
     },
 
-    destroy: function() {
+    destroy: function () {
       if (observationTopic) {
         Services.obs.removeObserver(this, observationTopic, false);
       }
       events.off(this.storageActor, "window-ready", this.onWindowReady);
       events.off(this.storageActor, "window-destroyed", this.onWindowDestroyed);
 
       this.hostVsStores.clear();
       this.storageActor = null;
     },
 
-    getNamesForHost: function(host) {
+    getNamesForHost: function (host) {
       return [...this.hostVsStores.get(host).keys()];
     },
 
-    getValuesForHost: function(host, name) {
+    getValuesForHost: function (host, name) {
       if (name) {
         return [this.hostVsStores.get(host).get(name)];
       }
       return [...this.hostVsStores.get(host).values()];
     },
 
-    getObjectsSize: function(host, names) {
+    getObjectsSize: function (host, names) {
       return names.length;
     },
 
     /**
      * When a new window is added to the page. This generally means that a new
      * iframe is created, or the current window is completely reloaded.
      *
      * @param {window} window
@@ -182,31 +182,31 @@ StorageActors.defaults = function(typeNa
 
     /**
      * When a window is removed from the page. This generally means that an
      * iframe was removed, or the current window reload is triggered.
      *
      * @param {window} window
      *        The window which was removed.
      */
-    onWindowDestroyed: function(window) {
+    onWindowDestroyed: function (window) {
       if (!window.location) {
         // Nothing can be done if location object is null
         return;
       }
       let host = this.getHostName(window.location);
       if (!this.hosts.has(host)) {
         this.hostVsStores.delete(host);
         let data = {};
         data[host] = [];
         this.storageActor.update("deleted", typeName, data);
       }
     },
 
-    form: function(form, detail) {
+    form: function (form, detail) {
       if (detail === "actorid") {
         return this.actorID;
       }
 
       let hosts = {};
       for (let host of this.hosts) {
         hosts[host] = [];
       }
@@ -215,17 +215,17 @@ StorageActors.defaults = function(typeNa
         actor: this.actorID,
         hosts: hosts
       };
     },
 
     /**
      * Populates a map of known hosts vs a map of stores vs value.
      */
-    populateStoresForHosts: function() {
+    populateStoresForHosts: function () {
       this.hostVsStores = new Map();
       for (let host of this.hosts) {
         this.populateStoresForHost(host);
       }
     },
 
     /**
      * Returns a list of requested store objects. Maximum values returned are
@@ -346,17 +346,17 @@ StorageActors.defaults = function(typeNa
  *                    The typeName of the actor.
  *         - observationTopic {string}
  *                            The topic which this actor listens to via
  *                            Notification Observers.
  * @param {object} overrides
  *        All the methods which you want to be different from the ones in
  *        StorageActors.defaults method plus the required ones described there.
  */
-StorageActors.createActor = function(options = {}, overrides = {}) {
+StorageActors.createActor = function (options = {}, overrides = {}) {
   let actorObject = StorageActors.defaults(
     options.typeName,
     options.observationTopic || null
   );
   for (let key in overrides) {
     actorObject[key] = overrides[key];
   }
 
@@ -366,32 +366,32 @@ StorageActors.createActor = function(opt
 };
 
 /**
  * The Cookies actor and front.
  */
 StorageActors.createActor({
   typeName: "cookies"
 }, {
-  initialize: function(storageActor) {
+  initialize: function (storageActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.storageActor = storageActor;
 
     this.maybeSetupChildProcess();
     this.populateStoresForHosts();
     this.addCookieObservers();
 
     this.onWindowReady = this.onWindowReady.bind(this);
     this.onWindowDestroyed = this.onWindowDestroyed.bind(this);
     events.on(this.storageActor, "window-ready", this.onWindowReady);
     events.on(this.storageActor, "window-destroyed", this.onWindowDestroyed);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.hostVsStores.clear();
 
     // We need to remove the cookie listeners early in E10S mode so we need to
     // use a conditional here to ensure that we only attempt to remove them in
     // single process mode.
     if (!DebuggerServer.isInChildProcess) {
       this.removeCookieObservers();
     }
@@ -401,17 +401,17 @@ StorageActors.createActor({
 
     this._pendingResponse = this.storageActor = null;
   },
 
   /**
    * Given a cookie object, figure out all the matching hosts from the page that
    * the cookie belong to.
    */
-  getMatchingHosts: function(cookies) {
+  getMatchingHosts: function (cookies) {
     if (!cookies.length) {
       cookies = [cookies];
     }
     let hosts = new Set();
     for (let host of this.hosts) {
       for (let cookie of cookies) {
         if (this.isCookieAtHost(cookie, host)) {
           hosts.add(host);
@@ -420,30 +420,30 @@ StorageActors.createActor({
     }
     return [...hosts];
   },
 
   /**
    * Given a cookie object and a host, figure out if the cookie is valid for
    * that host.
    */
-  isCookieAtHost: function(cookie, host) {
+  isCookieAtHost: function (cookie, host) {
     if (cookie.host == null) {
       return host == null;
     }
     if (cookie.host.startsWith(".")) {
       return ("." + host).endsWith(cookie.host);
     }
     if (cookie.host === "") {
       return host.startsWith("file://" + cookie.path);
     }
     return cookie.host == host;
   },
 
-  toStoreObject: function(cookie) {
+  toStoreObject: function (cookie) {
     if (!cookie) {
       return null;
     }
 
     return {
       name: cookie.name,
       path: cookie.path || "",
       host: cookie.host || "",
@@ -458,17 +458,17 @@ StorageActors.createActor({
       lastAccessed: cookie.lastAccessed / 1000,
       value: new LongStringActor(this.conn, cookie.value || ""),
       isDomain: cookie.isDomain,
       isSecure: cookie.isSecure,
       isHttpOnly: cookie.isHttpOnly
     };
   },
 
-  populateStoresForHost: function(host) {
+  populateStoresForHost: function (host) {
     this.hostVsStores.set(host, new Map());
 
     let cookies = this.getCookiesFromHost(host);
 
     for (let cookie of cookies) {
       if (this.isCookieAtHost(cookie, host)) {
         this.hostVsStores.get(host).set(cookie.name, cookie);
       }
@@ -483,17 +483,17 @@ StorageActors.createActor({
    *        cookie representation or an array. Array is only in case of
    *        a "batch-deleted" action.
    * @param {string} topic
    *        The topic of the notification.
    * @param {string} action
    *        Additional data associated with the notification. Its the type of
    *        cookie change in the "cookie-change" topic.
    */
-  onCookieChanged: function(subject, topic, action) {
+  onCookieChanged: function (subject, topic, action) {
     if (topic !== "cookie-changed" ||
         !this.storageActor ||
         !this.storageActor.windows) {
       return null;
     }
 
     let hosts = this.getMatchingHosts(subject);
     let data = {};
@@ -576,17 +576,17 @@ StorageActors.createActor({
   removeItem: Task.async(function* (host, name) {
     this.removeCookie(host, name);
   }),
 
   removeAll: Task.async(function* (host, domain) {
     this.removeAllCookies(host, domain);
   }),
 
-  maybeSetupChildProcess: function() {
+  maybeSetupChildProcess: function () {
     cookieHelpers.onCookieChanged = this.onCookieChanged.bind(this);
 
     if (!DebuggerServer.isInChildProcess) {
       this.getCookiesFromHost =
         cookieHelpers.getCookiesFromHost.bind(cookieHelpers);
       this.addCookieObservers =
         cookieHelpers.addCookieObservers.bind(cookieHelpers);
       this.removeCookieObservers =
@@ -643,17 +643,17 @@ StorageActors.createActor({
       }
 
       return result;
     }
   },
 });
 
 var cookieHelpers = {
-  getCookiesFromHost: function(host) {
+  getCookiesFromHost: function (host) {
     // Local files have no host.
     if (host.startsWith("file:///")) {
       host = "";
     }
 
     let cookies = Services.cookies.getCookiesFromHost(host);
     let store = [];
 
@@ -686,17 +686,17 @@ var cookieHelpers = {
    *            lastAccessed: "Wed, 17 Feb 2016 10:06:23 GMT",
    *            value: "%7BHelloo%7D",
    *            isDomain: "true",
    *            isSecure: "false",
    *            isHttpOnly: "false"
    *          }
    *        }
    */
-  editCookie: function(data) {
+  editCookie: function (data) {
     let {field, oldValue, newValue} = data;
     let origName = field === "name" ? oldValue : data.items.name;
     let origHost = field === "host" ? oldValue : data.items.host;
     let origPath = field === "path" ? oldValue : data.items.path;
     let cookie = null;
 
     let enumerator = Services.cookies.getCookiesFromHost(origHost);
     while (enumerator.hasMoreElements()) {
@@ -768,17 +768,17 @@ var cookieHelpers = {
       cookie.value,
       cookie.isSecure,
       cookie.isHttpOnly,
       cookie.isSession,
       cookie.isSession ? MAX_COOKIE_EXPIRY : cookie.expires
     );
   },
 
-  _removeCookies: function(host, opts = {}) {
+  _removeCookies: function (host, opts = {}) {
     function hostMatches(cookieHost, matchHost) {
       if (cookieHost == null) {
         return matchHost == null;
       }
       if (cookieHost.startsWith(".")) {
         return ("." + matchHost).endsWith(cookieHost);
       }
       return cookieHost == host;
@@ -796,37 +796,37 @@ var cookieHelpers = {
           cookie.path,
           false,
           cookie.originAttributes
         );
       }
     }
   },
 
-  removeCookie: function(host, name) {
+  removeCookie: function (host, name) {
     if (name !== undefined) {
       this._removeCookies(host, { name });
     }
   },
 
-  removeAllCookies: function(host, domain) {
+  removeAllCookies: function (host, domain) {
     this._removeCookies(host, { domain });
   },
 
-  addCookieObservers: function() {
+  addCookieObservers: function () {
     Services.obs.addObserver(cookieHelpers, "cookie-changed", false);
     return null;
   },
 
-  removeCookieObservers: function() {
+  removeCookieObservers: function () {
     Services.obs.removeObserver(cookieHelpers, "cookie-changed", false);
     return null;
   },
 
-  observe: function(subject, topic, data) {
+  observe: function (subject, topic, data) {
     if (!subject) {
       return;
     }
 
     switch (topic) {
       case "cookie-changed":
         if (data === "batch-deleted") {
           let cookiesNoInterface = subject.QueryInterface(Ci.nsIArray);
@@ -842,27 +842,27 @@ var cookieHelpers = {
         }
 
         let cookie = subject.QueryInterface(Ci.nsICookie2);
         cookieHelpers.onCookieChanged(cookie, topic, data);
         break;
     }
   },
 
-  handleParentRequest: function(msg) {
+  handleParentRequest: function (msg) {
     switch (msg.json.method) {
       case "onCookieChanged":
         let [cookie, topic, data] = msg.data.args;
         cookie = JSON.parse(cookie);
         cookieHelpers.onCookieChanged(cookie, topic, data);
         break;
     }
   },
 
-  handleChildRequest: function(msg) {
+  handleChildRequest: function (msg) {
     switch (msg.json.method) {
       case "getCookiesFromHost": {
         let host = msg.data.args[0];
         let cookies = cookieHelpers.getCookiesFromHost(host);
         return JSON.stringify(cookies);
       }
       case "addCookieObservers": {
         return cookieHelpers.addCookieObservers();
@@ -890,17 +890,17 @@ var cookieHelpers = {
     }
   },
 };
 
 /**
  * E10S parent/child setup helpers
  */
 
-exports.setupParentProcessForCookies = function({mm, prefix}) {
+exports.setupParentProcessForCookies = function ({mm, prefix}) {
   cookieHelpers.onCookieChanged =
     callChildProcess.bind(null, "onCookieChanged");
 
   // listen for director-script requests from the child process
   mm.addMessageListener("storage:storage-cookie-request-parent",
                         cookieHelpers.handleChildRequest);
 
   DebuggerServer.once("disconnected-from-child:" + prefix,
@@ -948,51 +948,51 @@ exports.setupParentProcessForCookies = f
 /**
  * Helper method to create the overriden object required in
  * StorageActors.createActor for Local Storage and Session Storage.
  * This method exists as both Local Storage and Session Storage have almost
  * identical actors.
  */
 function getObjectForLocalOrSessionStorage(type) {
   return {
-    getNamesForHost: function(host) {
+    getNamesForHost: function (host) {
       let storage = this.hostVsStores.get(host);
       return Object.keys(storage);
     },
 
-    getValuesForHost: function(host, name) {
+    getValuesForHost: function (host, name) {
       let storage = this.hostVsStores.get(host);
       if (name) {
         return [{name: name, value: storage.getItem(name)}];
       }
       return Object.keys(storage).map(key => {
         return {
           name: key,
           value: storage.getItem(key)
         };
       });
     },
 
-    getHostName: function(location) {
+    getHostName: function (location) {
       if (!location.host) {
         return location.href;
       }
       return location.protocol + "//" + location.host;
     },
 
-    populateStoresForHost: function(host, window) {
+    populateStoresForHost: function (host, window) {
       try {
         this.hostVsStores.set(host, window[type]);
       } catch (ex) {
         // Exceptions happen when local or session storage is inaccessible
       }
       return null;
     },
 
-    populateStoresForHosts: function() {
+    populateStoresForHosts: function () {
       this.hostVsStores = new Map();
       try {
         for (let window of this.windows) {
           this.hostVsStores.set(this.getHostName(window.location),
                                 window[type]);
         }
       } catch (ex) {
         // Exceptions happen when local or session storage is inaccessible
@@ -1034,17 +1034,17 @@ function getObjectForLocalOrSessionStora
       storage.removeItem(name);
     }),
 
     removeAll: Task.async(function* (host) {
       let storage = this.hostVsStores.get(host);
       storage.clear();
     }),
 
-    observe: function(subject, topic, data) {
+    observe: function (subject, topic, data) {
       if (topic != "dom-storage2-changed" || data != type) {
         return null;
       }
 
       let host = this.getSchemaAndHost(subject.url);
 
       if (!this.hostVsStores.has(host)) {
         return null;
@@ -1061,25 +1061,25 @@ function getObjectForLocalOrSessionStora
       let updateData = {};
       updateData[host] = [subject.key];
       return this.storageActor.update(action, type, updateData);
     },
 
     /**
      * Given a url, correctly determine its protocol + hostname part.
      */
-    getSchemaAndHost: function(url) {
+    getSchemaAndHost: function (url) {
       let uri = Services.io.newURI(url, null, null);
       if (!uri.host) {
         return uri.spec;
       }
       return uri.scheme + "://" + uri.hostPort;
     },
 
-    toStoreObject: function(item) {
+    toStoreObject: function (item) {
       if (!item) {
         return null;
       }
 
       return {
         name: item.name,
         value: new LongStringActor(this.conn, item.value || "")
       };
@@ -1123,33 +1123,33 @@ StorageActors.createActor({
   }),
 
   preListStores: Task.async(function* () {
     for (let host of this.hosts) {
       yield this.populateStoresForHost(host);
     }
   }),
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let hosts = {};
     for (let host of this.hosts) {
       hosts[host] = this.getNamesForHost(host);
     }
 
     return {
       actor: this.actorID,
       hosts: hosts
     };
   },
 
-  getNamesForHost: function(host) {
+  getNamesForHost: function (host) {
     // UI code expect each name to be a JSON string of an array :/
     return [...this.hostVsStores.get(host).keys()].map(a => {
       return JSON.stringify([a]);
     });
   },
 
   getValuesForHost: Task.async(function* (host, name) {
     if (!name) {
@@ -1173,17 +1173,17 @@ StorageActors.createActor({
 
   processEntry: Task.async(function* (request, response) {
     return {
       url: String(request.url),
       status: String(response.statusText),
     };
   }),
 
-  getHostName: function(location) {
+  getHostName: function (location) {
     if (!location.host) {
       return location.href;
     }
     return location.protocol + "//" + location.host;
   },
 
   populateStoresForHost: Task.async(function* (host) {
     let storeMap = new Map();
@@ -1198,29 +1198,29 @@ StorageActors.createActor({
     this.hostVsStores.set(host, storeMap);
   }),
 
   /**
    * This method is overriden and left blank as for Cache Storage, this
    * operation cannot be performed synchronously. Thus, the preListStores
    * method exists to do the same task asynchronously.
    */
-  populateStoresForHosts: function() {
+  populateStoresForHosts: function () {
     this.hostVsStores = new Map();
   },
 
   /**
    * Given a url, correctly determine its protocol + hostname part.
    */
-  getSchemaAndHost: function(url) {
+  getSchemaAndHost: function (url) {
     let uri = Services.io.newURI(url, null, null);
     return uri.scheme + "://" + uri.hostPort;
   },
 
-  toStoreObject: function(item) {
+  toStoreObject: function (item) {
     return item;
   },
 });
 
 /**
  * Code related to the Indexed DB actor and front
  */
 
@@ -1234,17 +1234,17 @@ StorageActors.createActor({
  */
 function IndexMetadata(index) {
   this._name = index.name;
   this._keyPath = index.keyPath;
   this._unique = index.unique;
   this._multiEntry = index.multiEntry;
 }
 IndexMetadata.prototype = {
-  toObject: function() {
+  toObject: function () {
     return {
       name: this._name,
       keyPath: this._keyPath,
       unique: this._unique,
       multiEntry: this._multiEntry
     };
   }
 };
@@ -1275,17 +1275,17 @@ function ObjectStoreMetadata(objectStore
         name: index.objectStore.name,
       }
     };
 
     this._indexes.push([newIndex, new IndexMetadata(index)]);
   }
 }
 ObjectStoreMetadata.prototype = {
-  toObject: function() {
+  toObject: function () {
     return {
       name: this._name,
       keyPath: this._keyPath,
       autoIncrement: this._autoIncrement,
       indexes: JSON.stringify(
         [...this._indexes.values()].map(index => index.toObject())
       )
     };
@@ -1317,46 +1317,46 @@ function DatabaseMetadata(origin, db) {
     }
   }
 }
 DatabaseMetadata.prototype = {
   get objectStores() {
     return this._objectStores;
   },
 
-  toObject: function() {
+  toObject: function () {
     return {
       name: this._name,
       origin: this._origin,
       version: this._version,
       objectStores: this._objectStores.size
     };
   }
 };
 
 StorageActors.createActor({
   typeName: "indexedDB"
 }, {
-  initialize: function(storageActor) {
+  initialize: function (storageActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.storageActor = storageActor;
 
     this.maybeSetupChildProcess();
 
     this.objectsSize = {};
     this.storageActor = storageActor;
     this.onWindowReady = this.onWindowReady.bind(this);
     this.onWindowDestroyed = this.onWindowDestroyed.bind(this);
 
     events.on(this.storageActor, "window-ready", this.onWindowReady);
     events.on(this.storageActor, "window-destroyed", this.onWindowDestroyed);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.hostVsStores.clear();
     this.objectsSize = null;
 
     events.off(this.storageActor, "window-ready", this.onWindowReady);
     events.off(this.storageActor, "window-destroyed", this.onWindowDestroyed);
   },
 
   /**
@@ -1373,31 +1373,31 @@ StorageActors.createActor({
         }
         this.storageActor.update("deleted", "indexedDB", {
           [host]: [ JSON.stringify([name]) ]
         });
       }
     }
   }),
 
-  getHostName: function(location) {
+  getHostName: function (location) {
     if (!location.host) {
       return location.href;
     }
     return location.protocol + "//" + location.host;
   },
 
   /**
    * This method is overriden and left blank as for indexedDB, this operation
    * cannot be performed synchronously. Thus, the preListStores method exists to
    * do the same task asynchronously.
    */
-  populateStoresForHosts: function() {},
+  populateStoresForHosts: function () {},
 
-  getNamesForHost: function(host) {
+  getNamesForHost: function (host) {
     let names = [];
 
     for (let [dbName, {objectStores}] of this.hostVsStores.get(host)) {
       if (objectStores.size) {
         for (let objectStore of objectStores.keys()) {
           names.push(JSON.stringify([dbName, objectStore]));
         }
       } else {
@@ -1419,17 +1419,17 @@ StorageActors.createActor({
    *        array. 0 length refers to request for the whole host. 1 length
    *        refers to request for a particular db in the host. 2 length refers
    *        to a particular object store in a db in a host. 3 length refers to
    *        particular items of an object store in a db in a host.
    * @param {object} options
    *        An options object containing following properties:
    *         - index {string} The IDBIndex for the object store in the db.
    */
-  getObjectsSize: function(host, names, options) {
+  getObjectsSize: function (host, names, options) {
     // In Indexed DB, we are interested in only the first name, as the pattern
     // should follow in all entries.
     let name = names[0];
     let parsedName = JSON.parse(name);
 
     if (parsedName.length == 3) {
       // This is the case where specific entries from an object store were
       // requested
@@ -1487,17 +1487,17 @@ StorageActors.createActor({
     }
 
     this.hostVsStores.set(host, storeMap);
   }),
 
   /**
    * Returns the over-the-wire implementation of the indexed db entity.
    */
-  toStoreObject: function(item) {
+  toStoreObject: function (item) {
     if (!item) {
       return null;
     }
 
     if ("indexes" in item) {
       // Object store meta data
       return {
         objectStore: item.name,
@@ -1517,35 +1517,35 @@ StorageActors.createActor({
     }
     // Indexed db entry
     return {
       name: item.name,
       value: new LongStringActor(this.conn, JSON.stringify(item.value))
     };
   },
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let hosts = {};
     for (let host of this.hosts) {
       hosts[host] = this.getNamesForHost(host);
     }
 
     return {
       actor: this.actorID,
       hosts: hosts
     };
   },
 
-  maybeSetupChildProcess: function() {
+  maybeSetupChildProcess: function () {
     if (!DebuggerServer.isInChildProcess) {
-      this.backToChild = function(...args) {
+      this.backToChild = function (...args) {
         return args[1];
       };
       this.getDBMetaData = indexedDBHelpers.getDBMetaData;
       this.openWithPrincipal = indexedDBHelpers.openWithPrincipal;
       this.getDBNamesForHost = indexedDBHelpers.getDBNamesForHost;
       this.getSanitizedHost = indexedDBHelpers.getSanitizedHost;
       this.getNameFromDatabaseFile = indexedDBHelpers.getNameFromDatabaseFile;
       this.getValuesForHost = indexedDBHelpers.getValuesForHost;
@@ -1596,17 +1596,17 @@ StorageActors.createActor({
       });
 
       return deferred.promise;
     }
   },
 });
 
 var indexedDBHelpers = {
-  backToChild: function(...args) {
+  backToChild: function (...args) {
     let mm = Cc["@mozilla.org/globalmessagemanager;1"]
                .getService(Ci.nsIMessageListenerManager);
 
     mm.broadcastAsyncMessage("storage:storage-indexedDB-request-child", {
       method: "backToChild",
       args: args
     });
   },
@@ -1635,17 +1635,17 @@ var indexedDBHelpers = {
     };
     return success.promise;
   }),
 
   /**
    * Opens an indexed db connection for the given `principal` and
    * database `name`.
    */
-  openWithPrincipal: function(principal, name) {
+  openWithPrincipal: function (principal, name) {
     return require("indexedDB").openForPrincipal(principal, name);
   },
 
   removeDB: Task.async(function* (host, principal, name) {
     let request = require("indexedDB").deleteForPrincipal(principal, name);
 
     let result = new promise(resolve => {
       request.onsuccess = () => {
@@ -1714,17 +1714,17 @@ var indexedDBHelpers = {
     }
     return this.backToChild("getDBNamesForHost", {names: names});
   }),
 
   /**
    * Removes any illegal characters from the host name to make it a valid file
    * name.
    */
-  getSanitizedHost: function(host) {
+  getSanitizedHost: function (host) {
     return host.replace(ILLEGAL_CHAR_REGEX, "+");
   },
 
   /**
    * Retrieves the proper indexed db database name from the provided .sqlite
    * file location.
    */
   getNameFromDatabaseFile: Task.async(function* (path) {
@@ -1818,17 +1818,17 @@ var indexedDBHelpers = {
    *        name of the IDBIndex to be iterated on while fetching entries.
    *        null or "name" if no index is to be iterated.
    * @param {number} offset
    *        ofsset of the entries to be fetched.
    * @param {number} size
    *        The intended size of the entries to be fetched.
    */
   getObjectStoreData:
-  function(host, principal, dbName, objectStore, id, index, offset, size) {
+  function (host, principal, dbName, objectStore, id, index, offset, size) {
     let request = this.openWithPrincipal(principal, dbName);
     let success = promise.defer();
     let data = [];
     let db;
 
     if (!size || size > MAX_STORE_OBJECT_COUNT) {
       size = MAX_STORE_OBJECT_COUNT;
     }
@@ -1890,17 +1890,17 @@ var indexedDBHelpers = {
     return success.promise;
   },
 
   /**
    * When indexedDB metadata is parsed to and from JSON then the object's
    * prototype is dropped and any Maps are changed to arrays of arrays. This
    * method is used to repair the prototypes and fix any broken Maps.
    */
-  patchMetadataMapsAndProtos: function(metadata) {
+  patchMetadataMapsAndProtos: function (metadata) {
     let md = Object.create(DatabaseMetadata.prototype);
     Object.assign(md, metadata);
 
     md._objectStores = new Map(metadata._objectStores);
 
     for (let [name, store] of md._objectStores) {
       let obj = Object.create(ObjectStoreMetadata.prototype);
       Object.assign(obj, store);
@@ -1917,17 +1917,17 @@ var indexedDBHelpers = {
 
         obj._indexes.set(name2, obj2);
       }
     }
 
     return md;
   },
 
-  handleChildRequest: function(msg) {
+  handleChildRequest: function (msg) {
     let args = msg.data.args;
 
     switch (msg.json.method) {
       case "getDBMetaData": {
         let [host, principal, name] = args;
         return indexedDBHelpers.getDBMetaData(host, principal, name);
       }
       case "getDBNamesForHost": {
@@ -1949,17 +1949,17 @@ var indexedDBHelpers = {
     }
   }
 };
 
 /**
  * E10S parent/child setup helpers
  */
 
-exports.setupParentProcessForIndexedDB = function({mm, prefix}) {
+exports.setupParentProcessForIndexedDB = function ({mm, prefix}) {
   // listen for director-script requests from the child process
   mm.addMessageListener("storage:storage-indexedDB-request-parent",
                         indexedDBHelpers.handleChildRequest);
 
   DebuggerServer.once("disconnected-from-child:" + prefix,
                       handleMessageManagerDisconnected);
 
   gTrackedMessageManager.set("indexedDB", mm);
@@ -1992,17 +1992,17 @@ let StorageActor = protocol.ActorClassWi
   get document() {
     return this.parentActor.window.document;
   },
 
   get windows() {
     return this.childWindowPool;
   },
 
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.conn = conn;
     this.parentActor = tabActor;
 
     this.childActorPool = new Map();
     this.childWindowPool = new Set();
 
@@ -2023,17 +2023,17 @@ let StorageActor = protocol.ActorClassWi
     let handler = tabActor.chromeEventHandler;
     handler.addEventListener("pageshow", this.onPageChange, true);
     handler.addEventListener("pagehide", this.onPageChange, true);
 
     this.destroyed = false;
     this.boundUpdate = {};
   },
 
-  destroy: function() {
+  destroy: function () {
     clearTimeout(this.batchTimer);
     this.batchTimer = null;
     // Remove observers
     Services.obs.removeObserver(this, "content-document-global-created", false);
     Services.obs.removeObserver(this, "inner-window-destroyed", false);
     this.destroyed = true;
     if (this.parentActor.browser) {
       this.parentActor.browser.removeEventListener(
@@ -2053,17 +2053,17 @@ let StorageActor = protocol.ActorClassWi
   },
 
   /**
    * Given a docshell, recursively find out all the child windows from it.
    *
    * @param {nsIDocShell} item
    *        The docshell from which all inner windows need to be extracted.
    */
-  fetchChildWindows: function(item) {
+  fetchChildWindows: function (item) {
     let docShell = item.QueryInterface(Ci.nsIDocShell)
                        .QueryInterface(Ci.nsIDocShellTreeItem);
     if (!docShell.contentViewer) {
       return null;
     }
     let window = docShell.contentViewer.DOMDocument.defaultView;
     if (window.location.href == "about:blank") {
       // Skip out about:blank windows as Gecko creates them multiple times while
@@ -2073,51 +2073,51 @@ let StorageActor = protocol.ActorClassWi
     this.childWindowPool.add(window);
     for (let i = 0; i < docShell.childCount; i++) {
       let child = docShell.getChildAt(i);
       this.fetchChildWindows(child);
     }
     return null;
   },
 
-  isIncludedInTopLevelWindow: function(window) {
+  isIncludedInTopLevelWindow: function (window) {
     return isWindowIncluded(this.window, window);
   },
 
-  getWindowFromInnerWindowID: function(innerID) {
+  getWindowFromInnerWindowID: function (innerID) {
     innerID = innerID.QueryInterface(Ci.nsISupportsPRUint64).data;
     for (let win of this.childWindowPool.values()) {
       let id = win.QueryInterface(Ci.nsIInterfaceRequestor)
                    .getInterface(Ci.nsIDOMWindowUtils)
                    .currentInnerWindowID;
       if (id == innerID) {
         return win;
       }
     }
     return null;
   },
 
-  getWindowFromHost: function(host) {
+  getWindowFromHost: function (host) {
     for (let win of this.childWindowPool.values()) {
       let origin = win.document
                       .nodePrincipal
                       .originNoSuffix;
       let url = win.document.URL;
       if (origin === host || url === host) {
         return win;
       }
     }
     return null;
   },
 
   /**
    * Event handler for any docshell update. This lets us figure out whenever
    * any new window is added, or an existing window is removed.
    */
-  observe: function(subject, topic) {
+  observe: function (subject, topic) {
     if (subject.location &&
         (!subject.location.href || subject.location.href == "about:blank")) {
       return null;
     }
 
     if (topic == "content-document-global-created" &&
         this.isIncludedInTopLevelWindow(subject)) {
       this.childWindowPool.add(subject);
@@ -2139,17 +2139,17 @@ let StorageActor = protocol.ActorClassWi
    * @param {event} The event object passed to the handler. We are using these
    *        three properties from the event:
    *         - target {document} The document corresponding to the event.
    *         - type {string} Name of the event - "pageshow" or "pagehide".
    *         - persisted {boolean} true if there was no
    *                     "content-document-global-created" notification along
    *                     this event.
    */
-  onPageChange: function({target, type, persisted}) {
+  onPageChange: function ({target, type, persisted}) {
     if (this.destroyed) {
       return;
     }
 
     let window = target.defaultView;
 
     if (type == "pagehide" && this.childWindowPool.delete(window)) {
       events.emit(this, "window-destroyed", window);
@@ -2200,17 +2200,17 @@ let StorageActor = protocol.ActorClassWi
    *             <host2>: [<store_names34>...],
    *           }
    *           Where host1, host2 are the host in which this change happened and
    *           [<store_namesX] is an array of the names of the changed store
    *           objects. Leave it empty if the host was completely removed.
    *        When the action is "reloaded" or "cleared", `data` is an array of
    *        hosts for which the stores were cleared or reloaded.
    */
-  update: function(action, storeType, data) {
+  update: function (action, storeType, data) {
     if (action == "cleared" || action == "reloaded") {
       let toSend = {};
       toSend[storeType] = data;
       events.emit(this, "stores-" + action, toSend);
       return null;
     }
 
     if (this.batchTimer) {
@@ -2283,17 +2283,17 @@ let StorageActor = protocol.ActorClassWi
    *        The update object. This object is of the following format:
    *         - {
    *             <host1>: [<store_names1>, <store_name2>...],
    *             <host2>: [<store_names34>...],
    *           }
    *           Where host1, host2 are the hosts which you want to remove and
    *           [<store_namesX] is an array of the names of the store objects.
    */
-  removeNamesFromUpdateList: function(action, storeType, data) {
+  removeNamesFromUpdateList: function (action, storeType, data) {
     for (let host in data) {
       if (this.boundUpdate[action] && this.boundUpdate[action][storeType] &&
           this.boundUpdate[action][storeType][host]) {
         for (let name in data[host]) {
           let index = this.boundUpdate[action][storeType][host].indexOf(name);
           if (index > -1) {
             this.boundUpdate[action][storeType][host].splice(index, 1);
           }
--- a/devtools/server/actors/string.js
+++ b/devtools/server/actors/string.js
@@ -11,107 +11,107 @@ var promise = require("promise");
 var {Class} = require("sdk/core/heritage");
 
 var protocol = require("devtools/shared/protocol");
 var {method, Arg, Option, RetVal} = protocol;
 
 exports.LongStringActor = protocol.ActorClass({
   typeName: "longstractor",
 
-  initialize: function(conn, str) {
+  initialize: function (conn, str) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.str = str;
     this.short = (this.str.length < DebuggerServer.LONG_STRING_LENGTH);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.str = null;
     protocol.Actor.prototype.destroy.call(this);
   },
 
-  form: function() {
+  form: function () {
     if (this.short) {
       return this.str;
     }
     return {
       type: "longString",
       actor: this.actorID,
       length: this.str.length,
       initial: this.str.substring(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH)
-    }
+    };
   },
 
-  substring: method(function(start, end) {
+  substring: method(function (start, end) {
     return promise.resolve(this.str.substring(start, end));
   }, {
     request: {
       start: Arg(0),
       end: Arg(1)
     },
     response: { substring: RetVal() },
   }),
 
-  release: method(function() { }, { release: true })
+  release: method(function () { }, { release: true })
 });
 
 /**
  * When a LongString on the server is short enough to be passed
  * as a full string, the client will get a ShortLongString instead of
  * a LongStringFront.  Its API should match.
  *
  * I'm very proud of this name.
  */
 exports.ShortLongString = Class({
-  initialize: function(str) {
+  initialize: function (str) {
     this.str = str;
   },
 
   get length() { return this.str.length; },
   get initial() { return this.str; },
-  string: function() { return promise.resolve(this.str) },
+  string: function () { return promise.resolve(this.str); },
 
-  substring: function(start, end) {
+  substring: function (start, end) {
     return promise.resolve(this.str.substring(start, end));
   },
 
-  release: function() {
+  release: function () {
     this.str = null;
     return promise.resolve(undefined);
   }
-})
+});
 
 exports.LongStringFront = protocol.FrontClass(exports.LongStringActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     protocol.Front.prototype.initialize.call(this, client);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.initial = null;
     this.length = null;
     this.strPromise = null;
     protocol.Front.prototype.destroy.call(this);
   },
 
-  form: function(form) {
+  form: function (form) {
     this.actorID = form.actor;
     this.initial = form.initial;
     this.length = form.length;
   },
 
-  string: function() {
+  string: function () {
     if (!this.strPromise) {
       let promiseRest = (thusFar) => {
         if (thusFar.length === this.length)
           return promise.resolve(thusFar);
         else {
           return this.substring(thusFar.length,
                                 thusFar.length + DebuggerServer.LONG_STRING_READ_LENGTH)
             .then((next) => promiseRest(thusFar + next));
         }
-      }
+      };
 
       this.strPromise = promiseRest(this.initial);
     }
     return this.strPromise;
   }
 });
 
 // The long string actor needs some custom marshalling, because it is sometimes
@@ -129,14 +129,14 @@ protocol.types.addType("longstring", {
     } else {
       return stringActorType.write(value, context, detail);
     }
   },
   read: (value, context, detail) => {
     if (context instanceof protocol.Actor) {
       throw Error("Passing a longstring as an argument isn't supported.");
     }
-    if (typeof(value) === "string") {
+    if (typeof (value) === "string") {
       return exports.ShortLongString(value);
     }
     return stringActorType.read(value, context, detail);
   }
 });
--- a/devtools/server/actors/styleeditor.js
+++ b/devtools/server/actors/styleeditor.js
@@ -57,43 +57,43 @@ var StyleEditorActor = exports.StyleEdit
 
   events: {
     "document-load" : {
       type: "documentLoad",
       styleSheets: Arg(0, "array:old-stylesheet")
     }
   },
 
-  form: function()
+  form: function ()
   {
     return { actor: this.actorID };
   },
 
   initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.parentActor = tabActor;
 
     // keep a map of sheets-to-actors so we don't create two actors for one sheet
     this._sheets = new Map();
   },
 
   /**
    * Destroy the current StyleEditorActor instance.
    */
-  destroy: function()
+  destroy: function ()
   {
     this._sheets.clear();
   },
 
   /**
    * Called by client when target navigates to a new document.
    * Adds load listeners to document.
    */
-  newDocument: method(function() {
+  newDocument: method(function () {
     // delete previous document's actors
     this._clearStyleSheetActors();
 
     // Note: listening for load won't be necessary once
     // https://bugzilla.mozilla.org/show_bug.cgi?id=839103 is fixed
     if (this.document.readyState == "complete") {
       this._onDocumentLoaded();
     }
@@ -102,17 +102,17 @@ var StyleEditorActor = exports.StyleEdit
     }
     return {};
   }),
 
   /**
    * Event handler for document loaded event. Add actor for each stylesheet
    * and send an event notifying of the load
    */
-  _onDocumentLoaded: function(event) {
+  _onDocumentLoaded: function (event) {
     if (event) {
       this.window.removeEventListener("load", this._onDocumentLoaded, false);
     }
 
     let documents = [this.document];
     var forms = [];
     for (let doc of documents) {
       let sheetForms = this._addStyleSheets(doc.styleSheets);
@@ -130,17 +130,17 @@ var StyleEditorActor = exports.StyleEdit
    * Add all the stylesheets to the map and create an actor for each one
    * if not already created. Send event that there are new stylesheets.
    *
    * @param {[DOMStyleSheet]} styleSheets
    *        Stylesheets to add
    * @return {[object]}
    *         Array of actors for each StyleSheetActor created
    */
-  _addStyleSheets: function(styleSheets)
+  _addStyleSheets: function (styleSheets)
   {
     let sheets = [];
     for (let i = 0; i < styleSheets.length; i++) {
       let styleSheet = styleSheets[i];
       sheets.push(styleSheet);
 
       // Get all sheets, including imported ones
       let imports = this._getImported(styleSheet);
@@ -154,17 +154,17 @@ var StyleEditorActor = exports.StyleEdit
   /**
    * Create a new actor for a style sheet, if it hasn't already been created.
    *
    * @param  {DOMStyleSheet} styleSheet
    *         The style sheet to create an actor for.
    * @return {StyleSheetActor}
    *         The actor for this style sheet
    */
-  _createStyleSheetActor: function(styleSheet)
+  _createStyleSheetActor: function (styleSheet)
   {
     if (this._sheets.has(styleSheet)) {
       return this._sheets.get(styleSheet);
     }
     let actor = new OldStyleSheetActor(styleSheet, this);
 
     this.manage(actor);
     this._sheets.set(styleSheet, actor);
@@ -175,20 +175,20 @@ var StyleEditorActor = exports.StyleEdit
   /**
    * Get all the stylesheets @imported from a stylesheet.
    *
    * @param  {DOMStyleSheet} styleSheet
    *         Style sheet to search
    * @return {array}
    *         All the imported stylesheets
    */
-  _getImported: function(styleSheet) {
-   let imported = [];
+  _getImported: function (styleSheet) {
+    let imported = [];
 
-   for (let i = 0; i < styleSheet.cssRules.length; i++) {
+    for (let i = 0; i < styleSheet.cssRules.length; i++) {
       let rule = styleSheet.cssRules[i];
       if (rule.type == Ci.nsIDOMCSSRule.IMPORT_RULE) {
         // Associated styleSheet may be null if it has already been seen due to
         // duplicate @imports for the same URL.
         if (!rule.styleSheet) {
           continue;
         }
         imported.push(rule.styleSheet);
@@ -202,33 +202,33 @@ var StyleEditorActor = exports.StyleEdit
       }
     }
     return imported;
   },
 
   /**
    * Clear all the current stylesheet actors in map.
    */
-  _clearStyleSheetActors: function() {
+  _clearStyleSheetActors: function () {
     for (let actor in this._sheets) {
       this.unmanage(this._sheets[actor]);
     }
     this._sheets.clear();
   },
 
   /**
    * Create a new style sheet in the document with the given text.
    * Return an actor for it.
    *
    * @param  {object} request
    *         Debugging protocol request object, with 'text property'
    * @return {object}
    *         Object with 'styelSheet' property for form on new actor.
    */
-  newStyleSheet: method(function(text) {
+  newStyleSheet: method(function (text) {
     let parent = this.document.documentElement;
     let style = this.document.createElementNS("http://www.w3.org/1999/xhtml", "style");
     style.setAttribute("type", "text/css");
 
     if (text) {
       style.appendChild(this.document.createTextNode(text));
     }
     parent.appendChild(style);
@@ -240,34 +240,34 @@ var StyleEditorActor = exports.StyleEdit
     response: { styleSheet: RetVal("old-stylesheet") }
   })
 });
 
 /**
  * The corresponding Front object for the StyleEditorActor.
  */
 var StyleEditorFront = protocol.FrontClass(StyleEditorActor, {
-  initialize: function(client, tabForm) {
+  initialize: function (client, tabForm) {
     protocol.Front.prototype.initialize.call(this, client);
     this.actorID = tabForm.styleEditorActor;
     this.manage(this);
   },
 
-  getStyleSheets: function() {
+  getStyleSheets: function () {
     let deferred = promise.defer();
 
     events.once(this, "document-load", (styleSheets) => {
       deferred.resolve(styleSheets);
     });
     this.newDocument();
 
     return deferred.promise;
   },
 
-  addStyleSheet: function(text) {
+  addStyleSheet: function (text) {
     return this.newStyleSheet(text);
   }
 });
 
 /**
  * A StyleSheetActor represents a stylesheet on the server.
  */
 var OldStyleSheetActor = protocol.ActorClass({
@@ -283,17 +283,17 @@ var OldStyleSheetActor = protocol.ActorC
       type: "sourceLoad",
       source: Arg(0, "string")
     },
     "style-applied" : {
       type: "styleApplied"
     }
   },
 
-  toString: function() {
+  toString: function () {
     return "[OldStyleSheetActor " + this.actorID + "]";
   },
 
   /**
    * Window of target
    */
   get window() {
     return this._window || this.parentActor.window;
@@ -326,17 +326,17 @@ var OldStyleSheetActor = protocol.ActorC
           this._styleSheetIndex = i;
           break;
         }
       }
     }
     return this._styleSheetIndex;
   },
 
-  initialize: function(aStyleSheet, aParentActor, aWindow) {
+  initialize: function (aStyleSheet, aParentActor, aWindow) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.rawSheet = aStyleSheet;
     this.parentActor = aParentActor;
     this.conn = this.parentActor.conn;
 
     this._window = aWindow;
 
@@ -360,17 +360,17 @@ var OldStyleSheetActor = protocol.ActorC
 
   /**
    * Get the current state of the actor
    *
    * @return {object}
    *         With properties of the underlying stylesheet, plus 'text',
    *        'styleSheetIndex' and 'parentActor' if it's @imported
    */
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let docHref;
     if (this.rawSheet.ownerNode) {
       if (this.rawSheet.ownerNode instanceof Ci.nsIDOMHTMLDocument) {
         docHref = this.rawSheet.ownerNode.location.href;
@@ -383,71 +383,71 @@ var OldStyleSheetActor = protocol.ActorC
     let form = {
       actor: this.actorID,  // actorID is set when this actor is added to a pool
       href: this.href,
       nodeHref: docHref,
       disabled: this.rawSheet.disabled,
       title: this.rawSheet.title,
       system: !CssLogic.isContentStylesheet(this.rawSheet),
       styleSheetIndex: this.styleSheetIndex
-    }
+    };
 
     try {
       form.ruleCount = this.rawSheet.cssRules.length;
     }
-    catch(e) {
+    catch (e) {
       // stylesheet had an @import rule that wasn't loaded yet
     }
     return form;
   },
 
   /**
    * Toggle the disabled property of the style sheet
    *
    * @return {object}
    *         'disabled' - the disabled state after toggling.
    */
-  toggleDisabled: method(function() {
+  toggleDisabled: method(function () {
     this.rawSheet.disabled = !this.rawSheet.disabled;
     this._notifyPropertyChanged("disabled");
 
     return this.rawSheet.disabled;
   }, {
     response: { disabled: RetVal("boolean")}
   }),
 
   /**
    * Send an event notifying that a property of the stylesheet
    * has changed.
    *
    * @param  {string} property
    *         Name of the changed property
    */
-  _notifyPropertyChanged: function(property) {
+  _notifyPropertyChanged: function (property) {
     events.emit(this, "property-change", property, this.form()[property]);
   },
 
    /**
     * Fetch the source of the style sheet from its URL. Send a "sourceLoad"
     * event when it's been fetched.
     */
-  fetchSource: method(function() {
+  fetchSource: method(function () {
     this._getText().then((content) => {
       events.emit(this, "source-load", this.text);
     });
   }),
 
   /**
    * Fetch the text for this stylesheet from the cache or network. Return
    * cached text if it's already been fetched.
    *
    * @return {Promise}
    *         Promise that resolves with a string text of the stylesheet.
    */
-  _getText: function() {
+  _getText: function () {
     if (this.text) {
       return promise.resolve(this.text);
     }
 
     if (!this.href) {
       // this is an inline <style> sheet
       let content = this.rawSheet.ownerNode.textContent;
       this.text = content;
@@ -468,17 +468,17 @@ var OldStyleSheetActor = protocol.ActorC
 
   /**
    * Get the charset of the stylesheet according to the character set rules
    * defined in <http://www.w3.org/TR/CSS2/syndata.html#charset>.
    *
    * @param string channelCharset
    *        Charset of the source string if set by the HTTP channel.
    */
-  _getCSSCharset: function(channelCharset)
+  _getCSSCharset: function (channelCharset)
   {
     // StyleSheet's charset can be specified from multiple sources
     if (channelCharset && channelCharset.length > 0) {
       // step 1 of syndata.html: charset given in HTTP header.
       return channelCharset;
     }
 
     let sheet = this.rawSheet;
@@ -520,17 +520,17 @@ var OldStyleSheetActor = protocol.ActorC
 
   /**
    * Update the style sheet in place with new text.
    *
    * @param  {object} request
    *         'text' - new text
    *         'transition' - whether to do CSS transition for change.
    */
-  update: method(function(text, transition) {
+  update: method(function (text, transition) {
     DOMUtils.parseStyleSheet(this.rawSheet, text);
 
     this.text = text;
 
     this._notifyPropertyChanged("ruleCount");
 
     if (transition) {
       this._insertTransistionRule();
@@ -544,17 +544,17 @@ var OldStyleSheetActor = protocol.ActorC
       transition: Arg(1, "boolean")
     }
   }),
 
   /**
    * Insert a catch-all transition rule into the document. Set a timeout
    * to remove the rule after a certain time.
    */
-  _insertTransistionRule: function() {
+  _insertTransistionRule: function () {
     // Insert the global transition rule
     // Use a ref count to make sure we do not add it multiple times.. and remove
     // it only when all pending StyleEditor-generated transitions ended.
     if (this._transitionRefCount == 0) {
       this.rawSheet.insertRule(TRANSITION_RULE, this.rawSheet.cssRules.length);
       this.document.documentElement.classList.add(TRANSITION_CLASS);
     }
 
@@ -565,70 +565,70 @@ var OldStyleSheetActor = protocol.ActorC
     this.window.setTimeout(this._onTransitionEnd.bind(this),
                            Math.floor(TRANSITION_DURATION_MS * 1.1));
   },
 
   /**
     * This cleans up class and rule added for transition effect and then
     * notifies that the style has been applied.
     */
-  _onTransitionEnd: function()
+  _onTransitionEnd: function ()
   {
     if (--this._transitionRefCount == 0) {
       this.document.documentElement.classList.remove(TRANSITION_CLASS);
       this.rawSheet.deleteRule(this.rawSheet.cssRules.length - 1);
     }
 
     events.emit(this, "style-applied");
   }
-})
+});
 
 /**
  * StyleSheetFront is the client-side counterpart to a StyleSheetActor.
  */
 var OldStyleSheetFront = protocol.FrontClass(OldStyleSheetActor, {
-  initialize: function(conn, form, ctx, detail) {
+  initialize: function (conn, form, ctx, detail) {
     protocol.Front.prototype.initialize.call(this, conn, form, ctx, detail);
 
     this._onPropertyChange = this._onPropertyChange.bind(this);
     events.on(this, "property-change", this._onPropertyChange);
   },
 
-  destroy: function() {
+  destroy: function () {
     events.off(this, "property-change", this._onPropertyChange);
 
     protocol.Front.prototype.destroy.call(this);
   },
 
-  _onPropertyChange: function(property, value) {
+  _onPropertyChange: function (property, value) {
     this._form[property] = value;
   },
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       this.actorID = form;
       return;
     }
     this.actorID = form.actor;
     this._form = form;
   },
 
-  getText: function() {
+  getText: function () {
     let deferred = promise.defer();
 
     events.once(this, "source-load", (source) => {
       let longStr = new ShortLongString(source);
       deferred.resolve(longStr);
     });
     this.fetchSource();
 
     return deferred.promise;
   },
 
-  getOriginalSources: function() {
+  getOriginalSources: function () {
     return promise.resolve([]);
   },
 
   get href() {
     return this._form.href;
   },
   get nodeHref() {
     return this._form.nodeHref;
--- a/devtools/server/actors/stylesheets.js
+++ b/devtools/server/actors/stylesheets.js
@@ -59,36 +59,36 @@ exports.UPDATE_GENERAL = UPDATE_GENERAL;
 // edited text to be collected.
 let modifiedStyleSheets = new WeakMap();
 
 /**
  * Actor representing an original source of a style sheet that was specified
  * in a source map.
  */
 var OriginalSourceActor = protocol.ActorClassWithSpec(originalSourceSpec, {
-  initialize: function(aUrl, aSourceMap, aParentActor) {
+  initialize: function (aUrl, aSourceMap, aParentActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.url = aUrl;
     this.sourceMap = aSourceMap;
     this.parentActor = aParentActor;
     this.conn = this.parentActor.conn;
 
     this.text = null;
   },
 
-  form: function() {
+  form: function () {
     return {
       actor: this.actorID, // actorID is set when it's added to a pool
       url: this.url,
       relatedStyleSheet: this.parentActor.form()
     };
   },
 
-  _getText: function() {
+  _getText: function () {
     if (this.text) {
       return promise.resolve(this.text);
     }
     let content = this.sourceMap.sourceContentFor(this.url);
     if (content) {
       this.text = content;
       return promise.resolve(content);
     }
@@ -100,22 +100,22 @@ var OriginalSourceActor = protocol.Actor
       this.text = content;
       return content;
     });
   },
 
   /**
    * Protocol method to get the text of this source.
    */
-  getText: function() {
+  getText: function () {
     return this._getText().then((text) => {
       return new LongStringActor(this.conn, text || "");
     });
   }
-})
+});
 
 /**
  * A MediaRuleActor lives on the server and provides access to properties
  * of a DOM @media rule and emits events when it changes.
  */
 var MediaRuleActor = protocol.ActorClassWithSpec(mediaRuleSpec, {
   get window() {
     return this.parentActor.window;
@@ -124,48 +124,48 @@ var MediaRuleActor = protocol.ActorClass
   get document() {
     return this.window.document;
   },
 
   get matches() {
     return this.mql ? this.mql.matches : null;
   },
 
-  initialize: function(aMediaRule, aParentActor) {
+  initialize: function (aMediaRule, aParentActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.rawRule = aMediaRule;
     this.parentActor = aParentActor;
     this.conn = this.parentActor.conn;
 
     this._matchesChange = this._matchesChange.bind(this);
 
     this.line = DOMUtils.getRuleLine(aMediaRule);
     this.column = DOMUtils.getRuleColumn(aMediaRule);
 
     try {
       this.mql = this.window.matchMedia(aMediaRule.media.mediaText);
-    } catch(e) {
+    } catch (e) {
     }
 
     if (this.mql) {
       this.mql.addListener(this._matchesChange);
     }
   },
 
-  destroy: function()
+  destroy: function ()
   {
     if (this.mql) {
       this.mql.removeListener(this._matchesChange);
     }
 
     protocol.Actor.prototype.destroy.call(this);
   },
 
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let form = {
       actor: this.actorID,  // actorID is set when this is added to a pool
       mediaText: this.rawRule.media.mediaText,
       conditionText: this.rawRule.conditionText,
@@ -173,29 +173,29 @@ var MediaRuleActor = protocol.ActorClass
       line: this.line,
       column: this.column,
       parentStyleSheet: this.parentActor.actorID
     };
 
     return form;
   },
 
-  _matchesChange: function() {
+  _matchesChange: function () {
     events.emit(this, "matches-change", this.matches);
   }
 });
 
 /**
  * A StyleSheetActor represents a stylesheet on the server.
  */
 var StyleSheetActor = protocol.ActorClassWithSpec(styleSheetSpec, {
   /* List of original sources that generated this stylesheet */
   _originalSources: null,
 
-  toString: function() {
+  toString: function () {
     return "[StyleSheetActor " + this.actorID + "]";
   },
 
   /**
    * Window of target
    */
   get window() {
     return this._window || this.parentActor.window;
@@ -248,17 +248,17 @@ var StyleSheetActor = protocol.ActorClas
           this._styleSheetIndex = i;
           break;
         }
       }
     }
     return this._styleSheetIndex;
   },
 
-  initialize: function(aStyleSheet, aParentActor, aWindow) {
+  initialize: function (aStyleSheet, aParentActor, aWindow) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.rawSheet = aStyleSheet;
     this.parentActor = aParentActor;
     this.conn = this.parentActor.conn;
 
     this._window = aWindow;
 
@@ -269,17 +269,17 @@ var StyleSheetActor = protocol.ActorClas
     this._transitionRefCount = 0;
   },
 
   /**
    * Test whether all the rules in this sheet have associated source.
    * @return {Boolean} true if all the rules have source; false if
    *         some rule was created via CSSOM.
    */
-  allRulesHaveSource: function() {
+  allRulesHaveSource: function () {
     let rules;
     try {
       rules = this.rawSheet.cssRules;
     } catch (e) {
       // sheet isn't loaded yet
       return true;
     }
 
@@ -294,17 +294,17 @@ var StyleSheetActor = protocol.ActorClas
   },
 
   /**
    * Get the raw stylesheet's cssRules once the sheet has been loaded.
    *
    * @return {Promise}
    *         Promise that resolves with a CSSRuleList
    */
-  getCSSRules: function() {
+  getCSSRules: function () {
     let rules;
     try {
       rules = this.rawSheet.cssRules;
     }
     catch (e) {
       // sheet isn't loaded yet
     }
 
@@ -338,17 +338,17 @@ var StyleSheetActor = protocol.ActorClas
 
   /**
    * Get the current state of the actor
    *
    * @return {object}
    *         With properties of the underlying stylesheet, plus 'text',
    *        'styleSheetIndex' and 'parentActor' if it's @imported
    */
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
 
     let docHref;
     if (this.ownerNode) {
       if (this.ownerNode instanceof Ci.nsIDOMHTMLDocument) {
         docHref = this.ownerNode.location.href;
@@ -361,71 +361,71 @@ var StyleSheetActor = protocol.ActorClas
     let form = {
       actor: this.actorID,  // actorID is set when this actor is added to a pool
       href: this.href,
       nodeHref: docHref,
       disabled: this.rawSheet.disabled,
       title: this.rawSheet.title,
       system: !CssLogic.isContentStylesheet(this.rawSheet),
       styleSheetIndex: this.styleSheetIndex
-    }
+    };
 
     try {
       form.ruleCount = this.rawSheet.cssRules.length;
     }
-    catch(e) {
+    catch (e) {
       // stylesheet had an @import rule that wasn't loaded yet
       this.getCSSRules().then(() => {
         this._notifyPropertyChanged("ruleCount");
       });
     }
     return form;
   },
 
   /**
    * Toggle the disabled property of the style sheet
    *
    * @return {object}
    *         'disabled' - the disabled state after toggling.
    */
-  toggleDisabled: function() {
+  toggleDisabled: function () {
     this.rawSheet.disabled = !this.rawSheet.disabled;
     this._notifyPropertyChanged("disabled");
 
     return this.rawSheet.disabled;
   },
 
   /**
    * Send an event notifying that a property of the stylesheet
    * has changed.
    *
    * @param  {string} property
    *         Name of the changed property
    */
-  _notifyPropertyChanged: function(property) {
+  _notifyPropertyChanged: function (property) {
     events.emit(this, "property-change", property, this.form()[property]);
   },
 
   /**
    * Protocol method to get the text of this stylesheet.
    */
-  getText: function() {
+  getText: function () {
     return this._getText().then((text) => {
       return new LongStringActor(this.conn, text || "");
     });
   },
 
   /**
    * Fetch the text for this stylesheet from the cache or network. Return
    * cached text if it's already been fetched.
    *
    * @return {Promise}
    *         Promise that resolves with a string text of the stylesheet.
    */
-  _getText: function() {
+  _getText: function () {
     if (typeof this.text === "string") {
       return promise.resolve(this.text);
     }
 
     let cssText = modifiedStyleSheets.get(this.rawSheet);
     if (cssText !== undefined) {
       this.text = cssText;
       return promise.resolve(cssText);
@@ -450,69 +450,69 @@ var StyleSheetActor = protocol.ActorClas
       return content;
     });
   },
 
   /**
    * Protocol method to get the original source (actors) for this
    * stylesheet if it has uses source maps.
    */
-  getOriginalSources: function() {
+  getOriginalSources: function () {
     if (this._originalSources) {
       return promise.resolve(this._originalSources);
     }
     return this._fetchOriginalSources();
   },
 
   /**
    * Fetch the original sources (actors) for this style sheet using its
    * source map. If they've already been fetched, returns cached array.
    *
    * @return {Promise}
    *         Promise that resolves with an array of OriginalSourceActors
    */
-  _fetchOriginalSources: function() {
+  _fetchOriginalSources: function () {
     this._clearOriginalSources();
     this._originalSources = [];
 
     return this.getSourceMap().then((sourceMap) => {
       if (!sourceMap) {
         return null;
       }
       for (let url of sourceMap.sources) {
         let actor = new OriginalSourceActor(url, sourceMap, this);
 
         this.manage(actor);
         this._originalSources.push(actor);
       }
       return this._originalSources;
-    })
+    });
   },
 
   /**
    * Get the SourceMapConsumer for this stylesheet's source map, if
    * it exists. Saves the consumer for later queries.
    *
    * @return {Promise}
    *         A promise that resolves with a SourceMapConsumer, or null.
    */
-  getSourceMap: function() {
+  getSourceMap: function () {
     if (this._sourceMap) {
       return this._sourceMap;
     }
     return this._fetchSourceMap();
   },
 
   /**
    * Fetch the source map for this stylesheet.
    *
    * @return {Promise}
    *         A promise that resolves with a SourceMapConsumer, or null.
    */
-  _fetchSourceMap: function() {
+  _fetchSourceMap: function () {
     let deferred = promise.defer();
 
     this._getText().then(sheetContent => {
       let url = this._extractSourceMapUrl(sheetContent);
       if (!url) {
         // no source map for this stylesheet
         deferred.resolve(null);
         return;
@@ -547,27 +547,27 @@ var StyleSheetActor = protocol.ActorClas
     }, deferred.reject);
 
     return deferred.promise;
   },
 
   /**
    * Clear and unmanage the original source actors for this stylesheet.
    */
-  _clearOriginalSources: function() {
+  _clearOriginalSources: function () {
     for (actor in this._originalSources) {
       this.unmanage(actor);
     }
     this._originalSources = null;
   },
 
   /**
    * Sets the source map's sourceRoot to be relative to the source map url.
    */
-  _setSourceMapRoot: function(aSourceMap, aAbsSourceMapURL, aScriptURL) {
+  _setSourceMapRoot: function (aSourceMap, aAbsSourceMapURL, aScriptURL) {
     if (aScriptURL.startsWith("blob:")) {
       aScriptURL = aScriptURL.replace("blob:", "");
     }
     const base = dirname(
       aAbsSourceMapURL.startsWith("data:")
         ? aScriptURL
         : aAbsSourceMapURL);
     aSourceMap.sourceRoot = aSourceMap.sourceRoot
@@ -578,57 +578,57 @@ var StyleSheetActor = protocol.ActorClas
   /**
    * Get the source map url specified in the text of a stylesheet.
    *
    * @param  {string} content
    *         The text of the style sheet.
    * @return {string}
    *         Url of source map.
    */
-  _extractSourceMapUrl: function(content) {
+  _extractSourceMapUrl: function (content) {
     var matches = /sourceMappingURL\=([^\s\*]*)/.exec(content);
     if (matches) {
       return matches[1];
     }
     return null;
   },
 
   /**
    * Protocol method that gets the location in the original source of a
    * line, column pair in this stylesheet, if its source mapped, otherwise
    * a promise of the same location.
    */
-  getOriginalLocation: function(line, column) {
+  getOriginalLocation: function (line, column) {
     return this.getSourceMap().then((sourceMap) => {
       if (sourceMap) {
         return sourceMap.originalPositionFor({ line: line, column: column });
       }
       return {
         fromSourceMap: false,
         source: this.href,
         line: line,
         column: column
       };
     });
   },
 
   /**
    * Protocol method to get the media rules for the stylesheet.
    */
-  getMediaRules: function() {
+  getMediaRules: function () {
     return this._getMediaRules();
   },
 
   /**
    * Get all the @media rules in this stylesheet.
    *
    * @return {promise}
    *         A promise that resolves with an array of MediaRuleActors.
    */
-  _getMediaRules: function() {
+  _getMediaRules: function () {
     return this.getCSSRules().then((rules) => {
       let mediaRules = [];
       for (let i = 0; i < rules.length; i++) {
         let rule = rules[i];
         if (rule.type != Ci.nsIDOMCSSRule.MEDIA_RULE) {
           continue;
         }
         let actor = new MediaRuleActor(rule, this);
@@ -642,17 +642,17 @@ var StyleSheetActor = protocol.ActorClas
 
   /**
    * Get the charset of the stylesheet according to the character set rules
    * defined in <http://www.w3.org/TR/CSS2/syndata.html#charset>.
    *
    * @param string channelCharset
    *        Charset of the source string if set by the HTTP channel.
    */
-  _getCSSCharset: function(channelCharset)
+  _getCSSCharset: function (channelCharset)
   {
     // StyleSheet's charset can be specified from multiple sources
     if (channelCharset && channelCharset.length > 0) {
       // step 1 of syndata.html: charset given in HTTP header.
       return channelCharset;
     }
 
     let sheet = this.rawSheet;
@@ -695,17 +695,17 @@ var StyleSheetActor = protocol.ActorClas
   /**
    * Update the style sheet in place with new text.
    *
    * @param  {object} request
    *         'text' - new text
    *         'transition' - whether to do CSS transition for change.
    *         'kind' - either UPDATE_PRESERVING_RULES or UPDATE_GENERAL
    */
-  update: function(text, transition, kind = UPDATE_GENERAL) {
+  update: function (text, transition, kind = UPDATE_GENERAL) {
     DOMUtils.parseStyleSheet(this.rawSheet, text);
 
     modifiedStyleSheets.set(this.rawSheet, text);
 
     this.text = text;
 
     this._notifyPropertyChanged("ruleCount");
 
@@ -720,46 +720,46 @@ var StyleSheetActor = protocol.ActorClas
       events.emit(this, "media-rules-changed", rules);
     });
   },
 
   /**
    * Insert a catch-all transition rule into the document. Set a timeout
    * to remove the rule after a certain time.
    */
-  _insertTransistionRule: function(kind) {
+  _insertTransistionRule: function (kind) {
     this.document.documentElement.classList.add(TRANSITION_CLASS);
 
     // We always add the rule since we've just reset all the rules
     this.rawSheet.insertRule(TRANSITION_RULE, this.rawSheet.cssRules.length);
 
     // Set up clean up and commit after transition duration (+buffer)
     // @see _onTransitionEnd
     this.window.clearTimeout(this._transitionTimeout);
     this._transitionTimeout = this.window.setTimeout(this._onTransitionEnd.bind(this, kind),
                               TRANSITION_DURATION_MS + TRANSITION_BUFFER_MS);
   },
 
   /**
    * This cleans up class and rule added for transition effect and then
    * notifies that the style has been applied.
    */
-  _onTransitionEnd: function(kind)
+  _onTransitionEnd: function (kind)
   {
     this.document.documentElement.classList.remove(TRANSITION_CLASS);
 
     let index = this.rawSheet.cssRules.length - 1;
     let rule = this.rawSheet.cssRules[index];
     if (rule.selectorText == TRANSITION_RULE_SELECTOR) {
       this.rawSheet.deleteRule(index);
     }
 
     events.emit(this, "style-applied", kind, this);
   }
-})
+});
 
 exports.StyleSheetActor = StyleSheetActor;
 
 /**
  * Creates a StyleSheetsActor. StyleSheetsActor provides remote access to the
  * stylesheets of a document.
  */
 var StyleSheetsActor = protocol.ActorClassWithSpec(styleSheetsSpec, {
@@ -772,17 +772,17 @@ var StyleSheetsActor = protocol.ActorCla
 
   /**
    * The current content document of the window we work with.
    */
   get document() {
     return this.window.document;
   },
 
-  form: function()
+  form: function ()
   {
     return { actor: this.actorID };
   },
 
   initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, null);
 
     this.parentActor = tabActor;
@@ -820,17 +820,17 @@ var StyleSheetsActor = protocol.ActorCla
    * @param {Document} doc
    *        Document for which we're checking
    * @param {DOMCSSStyleSheet} sheet
    *        Stylesheet we're interested in
    *
    * @return boolean
    *         Whether the stylesheet should be listed.
    */
-  _shouldListSheet: function(doc, sheet) {
+  _shouldListSheet: function (doc, sheet) {
     // Special case about:PreferenceStyleSheet, as it is generated on the
     // fly and the URI is not registered with the about: handler.
     // https://bugzilla.mozilla.org/show_bug.cgi?id=935803#c37
     if (sheet.href && sheet.href.toLowerCase() == "about:preferencestylesheet") {
       return false;
     }
 
     return true;
@@ -841,19 +841,19 @@ var StyleSheetsActor = protocol.ActorCla
    * create an actor for each one if not already created.
    *
    * @param {Window} win
    *        Window for which to add stylesheets
    *
    * @return {Promise}
    *         Promise that resolves to an array of StyleSheetActors
    */
-  _addStyleSheets: function(win)
+  _addStyleSheets: function (win)
   {
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       let doc = win.document;
       // readyState can be uninitialized if an iframe has just been created but
       // it has not started to load yet.
       if (doc.readyState === "loading" || doc.readyState === "uninitialized") {
         // Wait for the document to load first.
         yield listenOnce(win, "DOMContentLoaded", true);
 
         // Make sure we have the actual document for this window. If the
@@ -887,18 +887,18 @@ var StyleSheetsActor = protocol.ActorCla
    *
    * @param  {Document} doc
    *         The document including the stylesheet
    * @param  {DOMStyleSheet} styleSheet
    *         Style sheet to search
    * @return {Promise}
    *         A promise that resolves with an array of StyleSheetActors
    */
-  _getImported: function(doc, styleSheet) {
-    return Task.spawn(function*() {
+  _getImported: function (doc, styleSheet) {
+    return Task.spawn(function* () {
       let rules = yield styleSheet.getCSSRules();
       let imported = [];
 
       for (let i = 0; i < rules.length; i++) {
         let rule = rules[i];
         if (rule.type == Ci.nsIDOMCSSRule.IMPORT_RULE) {
           // Associated styleSheet may be null if it has already been seen due
           // to duplicate @imports for the same URL.
@@ -927,17 +927,17 @@ var StyleSheetsActor = protocol.ActorCla
    * Create a new style sheet in the document with the given text.
    * Return an actor for it.
    *
    * @param  {object} request
    *         Debugging protocol request object, with 'text property'
    * @return {object}
    *         Object with 'styelSheet' property for form on new actor.
    */
-  addStyleSheet: function(text) {
+  addStyleSheet: function (text) {
     let parent = this.document.documentElement;
     let style = this.document.createElementNS("http://www.w3.org/1999/xhtml", "style");
     style.setAttribute("type", "text/css");
 
     if (text) {
       style.appendChild(this.document.createTextNode(text));
     }
     parent.appendChild(style);
--- a/devtools/server/actors/timeline.js
+++ b/devtools/server/actors/timeline.js
@@ -109,17 +109,17 @@ var TimelineActor = exports.TimelineActo
     events.on(this.bridge, "*", this._onTimelineEvent);
   },
 
   /**
    * The timeline actor is the first (and last) in its hierarchy to use protocol.js
    * so it doesn't have a parent protocol actor that takes care of its lifetime.
    * So it needs a disconnect method to cleanup.
    */
-  disconnect: function() {
+  disconnect: function () {
     this.destroy();
   },
 
   /**
    * Destroys this actor, stopping recording first.
    */
   destroy: function () {
     events.off(this.bridge, "*", this._onTimelineEvent);
@@ -165,16 +165,16 @@ var TimelineActor = exports.TimelineActo
       // Set as possibly nullable due to the end time possibly being
       // undefined during destruction
       value: RetVal("nullable:number")
     }
   }),
 });
 
 exports.TimelineFront = protocol.FrontClass(TimelineActor, {
-  initialize: function(client, {timelineActor}) {
+  initialize: function (client, {timelineActor}) {
     protocol.Front.prototype.initialize.call(this, client, {actor: timelineActor});
     this.manage(this);
   },
-  destroy: function() {
+  destroy: function () {
     protocol.Front.prototype.destroy.call(this);
   },
 });
--- a/devtools/server/actors/utils/TabSources.js
+++ b/devtools/server/actors/utils/TabSources.js
@@ -17,26 +17,26 @@ loader.lazyRequireGetter(this, "SourceAc
 loader.lazyRequireGetter(this, "isEvalSource", "devtools/server/actors/source", true);
 loader.lazyRequireGetter(this, "SourceMapConsumer", "source-map", true);
 loader.lazyRequireGetter(this, "SourceMapGenerator", "source-map", true);
 
 /**
  * Manages the sources for a thread. Handles source maps, locations in the
  * sources, etc for ThreadActors.
  */
-function TabSources(threadActor, allowSourceFn=() => true) {
+function TabSources(threadActor, allowSourceFn = () => true) {
   EventEmitter.decorate(this);
 
   this._thread = threadActor;
   this._useSourceMaps = true;
   this._autoBlackBox = true;
   this._anonSourceMapId = 1;
   this.allowSource = source => {
     return !isHiddenSource(source) && allowSourceFn(source);
-  }
+  };
 
   this.blackBoxedSources = new Set();
   this.prettyPrintedSources = new Map();
   this.neverAutoBlackBoxSources = new Set();
 
   // generated Debugger.Source -> promise of SourceMapConsumer
   this._sourceMaps = new Map();
   // sourceMapURL -> promise of SourceMapConsumer
@@ -53,42 +53,42 @@ function TabSources(threadActor, allowSo
  * treat it as such.
  */
 const MINIFIED_SOURCE_REGEXP = /\bmin\.js$/;
 
 TabSources.prototype = {
   /**
    * Update preferences and clear out existing sources
    */
-  setOptions: function(options) {
+  setOptions: function (options) {
     let shouldReset = false;
 
-    if ('useSourceMaps' in options) {
+    if ("useSourceMaps" in options) {
       shouldReset = true;
       this._useSourceMaps = options.useSourceMaps;
     }
 
-    if ('autoBlackBox' in options) {
+    if ("autoBlackBox" in options) {
       shouldReset = true;
       this._autoBlackBox = options.autoBlackBox;
     }
 
     if (shouldReset) {
       this.reset();
     }
   },
 
   /**
    * Clear existing sources so they are recreated on the next access.
    *
    * @param Object opts
    *        Specify { sourceMaps: true } if you also want to clear
    *        the source map cache (usually done on reload).
    */
-  reset: function(opts={}) {
+  reset: function (opts = {}) {
     this._sourceActors = new Map();
     this._sourceMaps = new Map();
     this._sourceMappedSourceActors = Object.create(null);
 
     if (opts.sourceMaps) {
       this._sourceMapCache = Object.create(null);
     }
   },
@@ -104,17 +104,17 @@ TabSources.prototype = {
    *        The original source URL of a sourcemapped source
    * @param optional Debguger.Source generatedSource
    *        The generated source that introduced this source via source map,
    *        if any.
    * @param optional String contentType
    *        The content type of the source, if immediately available.
    * @returns a SourceActor representing the source or null.
    */
-  source: function  ({ source, originalUrl, generatedSource,
+  source: function ({ source, originalUrl, generatedSource,
                        isInlineSource, contentType }) {
     assert(source || (originalUrl && generatedSource),
            "TabSources.prototype.source needs an originalUrl or a source");
 
     if (source) {
       // If a source is passed, we are creating an actor for a real
       // source, which may or may not be sourcemapped.
 
@@ -191,67 +191,67 @@ TabSources.prototype = {
     else {
       this._sourceMappedSourceActors[originalUrl] = actor;
     }
 
     this._emitNewSource(actor);
     return actor;
   },
 
-  _emitNewSource: function(actor) {
+  _emitNewSource: function (actor) {
     if (!actor.source) {
       // Always notify if we don't have a source because that means
       // it's something that has been sourcemapped, or it represents
       // the HTML file that contains inline sources.
-      this.emit('newSource', actor);
+      this.emit("newSource", actor);
     }
     else {
       // If sourcemapping is enabled and a source has sourcemaps, we
       // create `SourceActor` instances for both the original and
       // generated sources. The source actors for the generated
       // sources are only for internal use, however; breakpoints are
       // managed by these internal actors. We only want to notify the
       // user of the original sources though, so if the actor has a
       // `Debugger.Source` instance and a valid source map (meaning
       // it's a generated source), don't send the notification.
       this.fetchSourceMap(actor.source).then(map => {
         if (!map) {
-          this.emit('newSource', actor);
+          this.emit("newSource", actor);
         }
       });
     }
   },
 
-  getSourceActor: function(source) {
+  getSourceActor: function (source) {
     if (source.url in this._sourceMappedSourceActors) {
       return this._sourceMappedSourceActors[source.url];
     }
 
     if (this._sourceActors.has(source)) {
       return this._sourceActors.get(source);
     }
 
-    throw new Error('getSource: could not find source actor for ' +
-                    (source.url || 'source'));
+    throw new Error("getSource: could not find source actor for " +
+                    (source.url || "source"));
   },
 
-  getSourceActorByURL: function(url) {
+  getSourceActorByURL: function (url) {
     if (url) {
       for (let [source, actor] of this._sourceActors) {
         if (source.url === url) {
           return actor;
         }
       }
 
       if (url in this._sourceMappedSourceActors) {
         return this._sourceMappedSourceActors[url];
       }
     }
 
-    throw new Error('getSourceByURL: could not find source for ' + url);
+    throw new Error("getSourceByURL: could not find source for " + url);
     return null;
   },
 
   /**
    * Returns true if the URL likely points to a minified resource, false
    * otherwise.
    *
    * @param String aURL
@@ -384,17 +384,17 @@ TabSources.prototype = {
    * of `aSource`. If sourcemapped, returns actors for all of the original
    * sources, otherwise returns a 1-element array with the actor for
    * `aSource`.
    *
    * @param Debugger.Source aSource
    *        The source instance to create actors for.
    * @param Promise of an array of source actors
    */
-  createSourceActors: function(aSource) {
+  createSourceActors: function (aSource) {
     return this._createSourceMappedActors(aSource).then(actors => {
       let actor = this.createNonSourceMappedActor(aSource);
       return (actors || [actor]).filter(isNotNull);
     });
   },
 
   /**
    * Return a promise of a SourceMapConsumer for the source map for
@@ -427,25 +427,25 @@ TabSources.prototype = {
     return result;
   },
 
   /**
    * Return a promise of a SourceMapConsumer for the source map for
    * `aSource`. The resolved result may be null if the source does not
    * have a source map or source maps are disabled.
    */
-  getSourceMap: function(aSource) {
+  getSourceMap: function (aSource) {
     return resolve(this._sourceMaps.get(aSource));
   },
 
   /**
    * Set a SourceMapConsumer for the source map for
    * |aSource|.
    */
-  setSourceMap: function(aSource, aMap) {
+  setSourceMap: function (aSource, aMap) {
     this._sourceMaps.set(aSource, resolve(aMap));
   },
 
   /**
    * Return a promise of a SourceMapConsumer for the source map located at
    * |aAbsSourceMapURL|, which must be absolute. If there is already such a
    * promise extant, return it. This will not fetch if source maps are
    * disabled.
@@ -516,17 +516,17 @@ TabSources.prototype = {
    *
    * @param aSourceMapURL string
    *        The source map URL to uncache
    * @param opts object
    *        An object with the following properties:
    *        - hard: Also remove the lower-level URL cache, which will
    *          make us completely forget about the source map.
    */
-  clearSourceMapCache: function(aSourceMapURL, opts = { hard: false }) {
+  clearSourceMapCache: function (aSourceMapURL, opts = { hard: false }) {
     let oldSm = this._sourceMapCache[aSourceMapURL];
 
     if (opts.hard) {
       delete this._sourceMapCache[aSourceMapURL];
     }
 
     if (oldSm) {
       // Clear out the current cache so all sources will get the new one
@@ -547,27 +547,27 @@ TabSources.prototype = {
    *
    * @param aSource Debugger.Source
    *        The source to change the sourceMapURL property
    * @param aUrl string
    *        The source map URL (optional)
    * @param aMap SourceMapConsumer
    *        The source map instance
    */
-  setSourceMapHard: function(aSource, aUrl, aMap) {
+  setSourceMapHard: function (aSource, aUrl, aMap) {
     let url = aUrl;
     if (!url) {
       // This is a littly hacky, but we want to forcefully set a
       // sourcemap regardless of sourcemap settings. We want to
       // literally change the sourceMapURL so that all debuggers will
       // get this and pretty-printing will Just Work (Debugger.Source
       // instances are per-debugger, so we can't key off that). To
       // avoid tons of work serializing the sourcemap into a data url,
       // just make a fake URL and stick the sourcemap there.
-      url = "internal://sourcemap" + (this._anonSourceMapId++) + '/';
+      url = "internal://sourcemap" + (this._anonSourceMapId++) + "/";
     }
     aSource.sourceMapURL = url;
 
     // Forcefully set the sourcemap cache. This will be used even if
     // sourcemaps are disabled.
     this._sourceMapCache[url] = resolve(aMap);
     this.emit("updatedSource", this.getSourceActor(aSource));
   },
@@ -812,17 +812,17 @@ TabSources.prototype = {
 };
 
 /*
  * Checks if a source should never be displayed to the user because
  * it's either internal or we don't support in the UI yet.
  */
 function isHiddenSource(aSource) {
   // Ignore the internal Function.prototype script
-  return aSource.text === '() {\n}';
+  return aSource.text === "() {\n}";
 }
 
 /**
  * Returns true if its argument is not null.
  */
 function isNotNull(aThing) {
   return aThing !== null;
 }
--- a/devtools/server/actors/utils/actor-registry-utils.js
+++ b/devtools/server/actors/utils/actor-registry-utils.js
@@ -14,17 +14,17 @@ const promise = require("promise");
 /**
  * Support for actor registration. Main used by ActorRegistryActor
  * for dynamic registration of new actors.
  *
  * @param sourceText {String} Source of the actor implementation
  * @param fileName {String} URL of the actor module (for proper stack traces)
  * @param options {Object} Configuration object
  */
-exports.registerActor = function(sourceText, fileName, options) {
+exports.registerActor = function (sourceText, fileName, options) {
   const principal = CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")();
   const sandbox = Cu.Sandbox(principal);
   const exports = sandbox.exports = {};
   sandbox.require = require;
 
   Cu.evalInSandbox(sourceText, sandbox, "1.8", fileName, 1);
 
   let { prefix, constructor, type } = options;
@@ -49,19 +49,19 @@ exports.registerActor = function(sourceT
     return DebuggerServer.setupInChild({
       module: "devtools/server/actors/utils/actor-registry-utils",
       setupChild: "registerActor",
       args: [sourceText, fileName, options],
       waitForEval: true
     });
   }
   return promise.resolve();
-}
+};
 
-exports.unregisterActor = function(options) {
+exports.unregisterActor = function (options) {
   if (options.tab) {
     DebuggerServer.removeTabActor(options);
   }
 
   if (options.global) {
     DebuggerServer.removeGlobalActor(options);
   }
 
@@ -69,9 +69,9 @@ exports.unregisterActor = function(optio
   // scope is chrome parent process.
   if (!DebuggerServer.isInChildProcess) {
     DebuggerServer.setupInChild({
       module: "devtools/server/actors/utils/actor-registry-utils",
       setupChild: "unregisterActor",
       args: [options]
     });
   }
-}
+};
--- a/devtools/server/actors/utils/make-debugger.js
+++ b/devtools/server/actors/utils/make-debugger.js
@@ -64,23 +64,23 @@ const { reportException } = require("dev
  */
 module.exports = function makeDebugger({ findDebuggees, shouldAddNewGlobalAsDebuggee }) {
   const dbg = new Debugger();
   EventEmitter.decorate(dbg);
 
   dbg.allowUnobservedAsmJS = true;
   dbg.uncaughtExceptionHook = reportDebuggerHookException;
 
-  dbg.onNewGlobalObject = function(global) {
+  dbg.onNewGlobalObject = function (global) {
     if (shouldAddNewGlobalAsDebuggee(global)) {
       safeAddDebuggee(this, global);
     }
   };
 
-  dbg.addDebuggees = function() {
+  dbg.addDebuggees = function () {
     for (let global of findDebuggees(this)) {
       safeAddDebuggee(this, global);
     }
   };
 
   return dbg;
 };
 
--- a/devtools/server/actors/utils/stack.js
+++ b/devtools/server/actors/utils/stack.js
@@ -11,69 +11,69 @@ var {Class} = require("sdk/core/heritage
  * assigned an index, and if a frame is added more than once, the same
  * index is used.  Users of the class can get an array of all frames
  * that have been added.
  */
 var StackFrameCache = Class({
   /**
    * Initialize this object.
    */
-  initialize: function() {
+  initialize: function () {
     this._framesToIndices = null;
     this._framesToForms = null;
     this._lastEventSize = 0;
   },
 
   /**
    * Prepare to accept frames.
    */
-  initFrames: function() {
+  initFrames: function () {
     if (this._framesToIndices) {
       // The maps are already initialized.
       return;
     }
 
     this._framesToIndices = new Map();
     this._framesToForms = new Map();
     this._lastEventSize = 0;
   },
 
   /**
    * Forget all stored frames and reset to the initialized state.
    */
-  clearFrames: function() {
+  clearFrames: function () {
     this._framesToIndices.clear();
     this._framesToIndices = null;
     this._framesToForms.clear();
     this._framesToForms = null;
     this._lastEventSize = 0;
   },
 
   /**
    * Add a frame to this stack frame cache, and return the index of
    * the frame.
    */
-  addFrame: function(frame) {
+  addFrame: function (frame) {
     this._assignFrameIndices(frame);
     this._createFrameForms(frame);
     return this._framesToIndices.get(frame);
   },
 
   /**
    * A helper method for the memory actor.  This populates the packet
    * object with "frames" property. Each of these
    * properties will be an array indexed by frame ID.  "frames" will
    * contain frame objects (see makeEvent).
    *
    * @param packet
    *        The packet to update.
    *
    * @returns packet
    */
-  updateFramePacket: function(packet) {
+  updateFramePacket: function (packet) {
     // Now that we are guaranteed to have a form for every frame, we know the
     // size the "frames" property's array must be. We use that information to
     // create dense arrays even though we populate them out of order.
     const size = this._framesToForms.size;
     packet.frames = Array(size).fill(null);
 
     // Populate the "frames" properties.
     for (let [stack, index] of this._framesToIndices) {
@@ -108,17 +108,17 @@ var StackFrameCache = Class({
    * }
    *
    * The intent of this approach is to make it simpler to efficiently
    * send frame information over the debugging protocol, by only
    * sending new frames.
    *
    * @returns array or null
    */
-  makeEvent: function() {
+  makeEvent: function () {
     const size = this._framesToForms.size;
     if (!size || size <= this._lastEventSize) {
       return null;
     }
 
     let packet = Array(size - this._lastEventSize).fill(null);
     for (let [stack, index] of this._framesToIndices) {
       if (index >= this._lastEventSize) {
@@ -133,17 +133,17 @@ var StackFrameCache = Class({
 
   /**
    * Assigns an index to the given frame and its parents, if an index is not
    * already assigned.
    *
    * @param SavedFrame frame
    *        A frame to assign an index to.
    */
-  _assignFrameIndices: function(frame) {
+  _assignFrameIndices: function (frame) {
     if (this._framesToIndices.has(frame)) {
       return;
     }
 
     if (frame) {
       this._assignFrameIndices(frame.parent);
       this._assignFrameIndices(frame.asyncParent);
     }
@@ -153,17 +153,17 @@ var StackFrameCache = Class({
   },
 
   /**
    * Create the form for the given frame, if one doesn't already exist.
    *
    * @param SavedFrame frame
    *        A frame to create a form for.
    */
-  _createFrameForms: function(frame) {
+  _createFrameForms: function (frame) {
     if (this._framesToForms.has(frame)) {
       return;
     }
 
     let form = null;
     if (frame) {
       form = {
         line: frame.line,
--- a/devtools/server/actors/utils/walker-search.js
+++ b/devtools/server/actors/utils/walker-search.js
@@ -30,21 +30,21 @@ function WalkerIndex(walker) {
   // Kill the index when mutations occur, the next data get will re-index.
   this.walker.on("any-mutation", this.clearIndex);
 }
 
 WalkerIndex.prototype = {
   /**
    * Destroy this instance, releasing all data and references
    */
-  destroy: function() {
+  destroy: function () {
     this.walker.off("any-mutation", this.clearIndex);
   },
 
-  clearIndex: function() {
+  clearIndex: function () {
     if (!this.currentlyIndexing) {
       this._data = null;
     }
   },
 
   get doc() {
     return this.walker.rootDoc;
   },
@@ -63,31 +63,31 @@ WalkerIndex.prototype = {
     if (!this._data) {
       this._data = new Map();
       this.index();
     }
 
     return this._data;
   },
 
-  _addToIndex: function(type, node, value) {
+  _addToIndex: function (type, node, value) {
     // Add an entry for this value if there isn't one
     let entry = this._data.get(value);
     if (!entry) {
       this._data.set(value, []);
     }
 
     // Add the type/node to the list
     this._data.get(value).push({
       type: type,
       node: node
     });
   },
 
-  index: function() {
+  index: function () {
     // Handle case where iterating nextNode() with the deepTreeWalker triggers
     // a mutation (Bug 1222558)
     this.currentlyIndexing = true;
 
     let documentWalker = this.walker.getDocumentWalker(this.doc);
     while (documentWalker.nextNode()) {
       let node = documentWalker.currentNode;
 
@@ -139,22 +139,22 @@ exports.WalkerIndex = WalkerIndex;
  * @param {Walker} the walker to be searched
  */
 function WalkerSearch(walker) {
   this.walker = walker;
   this.index = new WalkerIndex(this.walker);
 }
 
 WalkerSearch.prototype = {
-  destroy: function() {
+  destroy: function () {
     this.index.destroy();
     this.walker = null;
   },
 
-  _addResult: function(node, type, results) {
+  _addResult: function (node, type, results) {
     if (!results.has(node)) {
       results.set(node, []);
     }
 
     let matches = results.get(node);
 
     // Do not add if the exact same result is already in the list
     let isKnown = false;
@@ -165,32 +165,32 @@ WalkerSearch.prototype = {
       }
     }
 
     if (!isKnown) {
       matches.push({type});
     }
   },
 
-  _searchIndex: function(query, options, results) {
+  _searchIndex: function (query, options, results) {
     for (let [matched, res] of this.index.data) {
       if (!options.searchMethod(query, matched)) {
         continue;
       }
 
       // Add any relevant results (skipping non-requested options).
       res.filter(entry => {
         return options.types.indexOf(entry.type) !== -1;
       }).forEach(({node, type}) => {
         this._addResult(node, type, results);
       });
     }
   },
 
-  _searchSelectors: function(query, options, results) {
+  _searchSelectors: function (query, options, results) {
     // If the query is just one "word", no need to search because _searchIndex
     // will lead the same results since it has access to tagnames anyway
     let isSelector = query && query.match(/[ >~.#\[\]]/);
     if (options.types.indexOf("selector") === -1 || !isSelector) {
       return;
     }
 
     let nodes = this.walker._multiFrameQuerySelectorAll(query);
@@ -209,17 +209,17 @@ WalkerSearch.prototype = {
    * - types {Array} a list of things to search for (tag, text, attributes, etc)
    *   defaults to WalkerSearch.ALL_RESULTS_TYPES
    * @return {Array} An array is returned with each item being an object like:
    * {
    *   node: <the dom node that matched>,
    *   type: <the type of match: one of WalkerSearch.ALL_RESULTS_TYPES>
    * }
    */
-  search: function(query, options={}) {
+  search: function (query, options = {}) {
     options.searchMethod = options.searchMethod || WalkerSearch.SEARCH_METHOD_CONTAINS;
     options.types = options.types || WalkerSearch.ALL_RESULTS_TYPES;
 
     // Empty strings will return no results, as will non-string input
     if (typeof query !== "string") {
       query = "";
     }
 
@@ -246,17 +246,17 @@ WalkerSearch.prototype = {
         // yet.
         break;
       }
     }
 
     let documents = this.walker.tabActor.windows.map(win=>win.document);
 
     // Sort the resulting nodes by order of appearance in the DOM
-    resultList.sort((a,b) => {
+    resultList.sort((a, b) => {
       // Disconnected nodes won't get good results from compareDocumentPosition
       // so check the order of their document instead.
       if (a.node.ownerDocument != b.node.ownerDocument) {
         let indA = documents.indexOf(a.node.ownerDocument);
         let indB = documents.indexOf(b.node.ownerDocument);
         return indA - indB;
       }
       // If the same document, then sort on DOCUMENT_POSITION_FOLLOWING (4)
--- a/devtools/server/actors/webapps.js
+++ b/devtools/server/actors/webapps.js
@@ -30,34 +30,34 @@ exports.setFramesMock = function (mock) 
 
 DevToolsUtils.defineLazyGetter(this, "Frames", () => {
   // Offer a way for unit test to provide a mock
   if (FramesMock) {
     return FramesMock;
   }
   try {
     return Cu.import("resource://gre/modules/Frames.jsm", {}).Frames;
-  } catch(e) {}
+  } catch (e) {}
   return null;
 });
 
 function debug(aMsg) {
   /*
   Cc["@mozilla.org/consoleservice;1"]
     .getService(Ci.nsIConsoleService)
     .logStringMessage("--*-- WebappsActor : " + aMsg);
   */
 }
 
 function PackageUploadActor(file) {
   this._file = file;
   this._path = file.path;
 }
 
-PackageUploadActor.fromRequest = function(request, file) {
+PackageUploadActor.fromRequest = function (request, file) {
   if (request.bulk) {
     return new PackageUploadBulkActor(file);
   }
   return new PackageUploadJSONActor(file);
 };
 
 PackageUploadActor.prototype = {
 
@@ -85,20 +85,20 @@ PackageUploadActor.prototype = {
   remove: function () {
     this._cleanupFile();
     return {};
   },
 
   _cleanupFile: function () {
     try {
       this._closeFile();
-    } catch(e) {}
+    } catch (e) {}
     try {
       OS.File.remove(this._path);
-    } catch(e) {}
+    } catch (e) {}
   }
 
 };
 
 /**
  * Create a new JSON package upload actor.
  * @param file nsIFile temporary file to write to
  */
@@ -106,38 +106,38 @@ function PackageUploadJSONActor(file) {
   PackageUploadActor.call(this, file);
   this._size = 0;
 }
 
 PackageUploadJSONActor.prototype = Object.create(PackageUploadActor.prototype);
 
 PackageUploadJSONActor.prototype.actorPrefix = "packageUploadJSONActor";
 
-PackageUploadJSONActor.prototype._openFile = function() {
+PackageUploadJSONActor.prototype._openFile = function () {
   return OS.File.open(this._path, { write: true, truncate: true });
 };
 
-PackageUploadJSONActor.prototype._closeFile = function() {
+PackageUploadJSONActor.prototype._closeFile = function () {
   this.openedFile.then(file => file.close());
 };
 
 /**
  * This method allows you to upload a piece of file.
  * It expects a chunk argument that is the a string to write to the file.
  */
-PackageUploadJSONActor.prototype.chunk = function(aRequest) {
+PackageUploadJSONActor.prototype.chunk = function (aRequest) {
   let chunk = aRequest.chunk;
   if (!chunk || chunk.length <= 0) {
     return {error: "parameterError",
             message: "Missing or invalid chunk argument"};
   }
   // Translate the string used to transfer the chunk over JSON
   // back to a typed array
   let data = new Uint8Array(chunk.length);
-  for (let i = 0, l = chunk.length; i < l ; i++) {
+  for (let i = 0, l = chunk.length; i < l; i++) {
     data[i] = chunk.charCodeAt(i);
   }
   return this.openedFile
              .then(file => file.write(data))
              .then((written) => {
                this._size += written;
                return {
                  written: written,
@@ -147,17 +147,17 @@ PackageUploadJSONActor.prototype.chunk =
 };
 
 /**
  * This method needs to be called, when you are done uploading
  * chunks, before trying to access/use the temporary file.
  * Otherwise, the file may be partially written
  * and also be locked.
  */
-PackageUploadJSONActor.prototype.done = function() {
+PackageUploadJSONActor.prototype.done = function () {
   this._closeFile();
   return {};
 };
 
 /**
  * The request types this actor can handle.
  */
 PackageUploadJSONActor.prototype.requestTypes = {
@@ -173,25 +173,25 @@ PackageUploadJSONActor.prototype.request
 function PackageUploadBulkActor(file) {
   PackageUploadActor.call(this, file);
 }
 
 PackageUploadBulkActor.prototype = Object.create(PackageUploadActor.prototype);
 
 PackageUploadBulkActor.prototype.actorPrefix = "packageUploadBulkActor";
 
-PackageUploadBulkActor.prototype._openFile = function() {
+PackageUploadBulkActor.prototype._openFile = function () {
   return FileUtils.openSafeFileOutputStream(this._file);
 };
 
-PackageUploadBulkActor.prototype._closeFile = function() {
+PackageUploadBulkActor.prototype._closeFile = function () {
   FileUtils.closeSafeFileOutputStream(this.openedFile);
 };
 
-PackageUploadBulkActor.prototype.stream = function({copyTo}) {
+PackageUploadBulkActor.prototype.stream = function ({copyTo}) {
   return copyTo(this.openedFile).then(() => {
     this._closeFile();
     return {};
   });
 };
 
 /**
  * The request types this actor can handle.
@@ -235,17 +235,17 @@ WebappsActor.prototype = {
   // like devices, mulet/simulators, and graphene.
   // We set that attribute on the prototype in order to allow test
   // to enable this feature.
   supportsLaunch: require("devtools/shared/system").constants.MOZ_B2G,
 
   disconnect: function () {
     try {
       this.unwatchApps();
-    } catch(e) {}
+    } catch (e) {}
 
     // When we stop using this actor, we should ensure removing all files.
     for (let upload of this._uploads) {
       upload.remove();
     }
     this._uploads = null;
 
     this.conn.removeActorPool(this._actorPool);
@@ -352,17 +352,17 @@ WebappsActor.prototype = {
       type = aType == "privileged" ? Ci.nsIPrincipal.APP_STATUS_PRIVILEGED
            : aType == "certified" ? Ci.nsIPrincipal.APP_STATUS_CERTIFIED
            : Ci.nsIPrincipal.APP_STATUS_INSTALLED;
     }
 
     return type;
   },
 
-  _createTmpPackage: function() {
+  _createTmpPackage: function () {
     let tmpDir = FileUtils.getDir("TmpD", ["file-upload"], true, false);
     if (!tmpDir.exists() || !tmpDir.isDirectory()) {
       return {
         error: "fileAccessError",
         message: "Unable to create temporary folder"
       };
     }
     let tmpFile = tmpDir;
@@ -424,20 +424,20 @@ WebappsActor.prototype = {
     function readMetadata(aAppType) {
       if (aMetadata) {
         return { metadata: aMetadata, appType: aAppType };
       }
       // Read the origin and manifest url from metadata.json
       let metaFile = OS.Path.join(aDir.path, "metadata.json");
       return AppsUtils.loadJSONAsync(metaFile).then((aMetadata) => {
         if (!aMetadata) {
-          throw("Error parsing metadata.json.");
+          throw ("Error parsing metadata.json.");
         }
         if (!aMetadata.origin) {
-          throw("Missing 'origin' property in metadata.json.");
+          throw ("Missing 'origin' property in metadata.json.");
         }
         return { metadata: aMetadata, appType: aAppType };
       });
     }
     let runnable = {
       run: function run() {
         try {
           let metadata, appType;
@@ -457,22 +457,22 @@ WebappsActor.prototype = {
               };
 
               return writeManifest(app);
             }).then(function (app) {
               self._registerApp(deferred, app, aId, aDir);
             }, function (error) {
               self._sendError(deferred, error, aId);
             });
-        } catch(e) {
+        } catch (e) {
           // If anything goes wrong, just send it back.
           self._sendError(deferred, e.toString(), aId);
         }
       }
-    }
+    };
 
     Services.tm.currentThread.dispatch(runnable,
                                        Ci.nsIThread.DISPATCH_NORMAL);
     return deferred.promise;
   },
 
   installPackagedApp: function wa_actorInstallPackaged(aDir, aId, aReceipts) {
     debug("installPackagedApp");
@@ -508,17 +508,17 @@ WebappsActor.prototype = {
           let jsonString = converter.ConvertToUnicode(
             NetUtil.readInputStreamToString(istream, istream.available())
           );
           zipReader.close();
 
           let manifest;
           try {
             manifest = JSON.parse(jsonString);
-          } catch(e) {
+          } catch (e) {
             self._sendError(deferred, "Error Parsing " + manifestName + ": " + e, aId);
             return;
           }
 
           if (manifestName === "manifest.json") {
             if (!UserCustomizations.checkExtensionManifest(manifest)) {
               self._sendError(deferred, "Invalid manifest", aId);
               return;
@@ -543,17 +543,17 @@ WebappsActor.prototype = {
           // Privileged and certified packaged apps can setup a custom origin
           // via `origin` manifest property
           let id = aId;
           if (appType >= Ci.nsIPrincipal.APP_STATUS_PRIVILEGED &&
               manifest.origin !== undefined) {
             let uri;
             try {
               uri = Services.io.newURI(manifest.origin, null, null);
-            } catch(e) {
+            } catch (e) {
               self._sendError(deferred, "Invalid origin in webapp's manifest", aId);
             }
 
             if (uri.scheme != "app") {
               self._sendError(deferred, "Invalid origin in webapp's manifest", aId);
             }
             id = uri.prePath.substring(6);
           }
@@ -610,26 +610,26 @@ WebappsActor.prototype = {
               // Create a fake app object with the minimum set of properties we need.
               let app = {
                 origin: origin,
                 installOrigin: origin,
                 manifestURL: manifestURL,
                 appStatus: appType,
                 receipts: aReceipts,
                 kind: DOMApplicationRegistry.kPackaged,
-              }
+              };
 
               self._registerApp(deferred, app, id, aDir);
             });
-        } catch(e) {
+        } catch (e) {
           // If anything goes wrong, just send it back.
           self._sendError(deferred, e.toString(), aId);
         }
       }
-    }
+    };
 
     Services.tm.currentThread.dispatch(runnable,
                                        Ci.nsIThread.DISPATCH_NORMAL);
     return deferred.promise;
   },
 
   /**
     * @param appId   : The id of the app we want to install. We will look for
@@ -688,30 +688,30 @@ WebappsActor.prototype = {
 
     if (testFile.exists()) {
       return this.installPackagedApp(appDir, appId, receipts);
     }
 
     let manifest, metadata;
     let missing =
       ["manifest.webapp", "metadata.json"]
-      .some(function(aName) {
+      .some(function (aName) {
         testFile = appDir.clone();
         testFile.append(aName);
         return !testFile.exists();
       });
     if (missing) {
       if (aRequest.manifest && aRequest.metadata &&
           aRequest.metadata.origin) {
         manifest = aRequest.manifest;
         metadata = aRequest.metadata;
       } else {
         try {
           appDir.remove(true);
-        } catch(e) {}
+        } catch (e) {}
         return { error: "badParameterType",
                  message: "hosted app file and manifest/metadata fields " +
                           "are missing"
         };
       }
     }
 
     return this.installHostedApp(appDir, appId, receipts, manifest, metadata);
@@ -748,22 +748,22 @@ WebappsActor.prototype = {
     }
 
     return reg.getManifestFor(manifestURL).then(function (manifest) {
       app.manifest = manifest;
       return { app: app };
     });
   },
 
-  _isUnrestrictedAccessAllowed: function() {
+  _isUnrestrictedAccessAllowed: function () {
     let pref = "devtools.debugger.forbid-certified-apps";
     return !Services.prefs.getBoolPref(pref);
   },
 
-  _isAppAllowed: function(aApp) {
+  _isAppAllowed: function (aApp) {
     if (this._isUnrestrictedAccessAllowed()) {
       return true;
     }
     return aApp.sideloaded;
   },
 
   _filterAllowedApps: function wa__filterAllowedApps(aApps) {
     return aApps.filter(app => this._isAppAllowed(app));
@@ -831,24 +831,24 @@ WebappsActor.prototype = {
           message: "This app has no icon"
         });
         return;
       }
 
       // Download the URL as a blob
       // bug 899177: there is a bug with xhr and app:// and jar:// uris
       // that ends up forcing the content type to application/xml.
-      let req = Cc['@mozilla.org/xmlextras/xmlhttprequest;1']
+      let req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
                   .createInstance(Ci.nsIXMLHttpRequest);
       req.open("GET", iconURL, false);
       req.responseType = "blob";
 
       try {
         req.send(null);
-      } catch(e) {
+      } catch (e) {
         deferred.resolve({
           error: "noIcon",
           message: "The icon file '" + iconURL + "' doesn't exist"
         });
         return;
       }
 
       // Convert the blog to a base64 encoded data URI
@@ -920,17 +920,17 @@ WebappsActor.prototype = {
 
     return {};
   },
 
   _appFrames: function () {
     // Try to filter on b2g and mulet
     if (Frames) {
       return Frames.list().filter(frame => {
-        return frame.getAttribute('mozapp');
+        return frame.getAttribute("mozapp");
       });
     } else {
       return [];
     }
   },
 
   listRunningApps: function (aRequest) {
     debug("listRunningApps\n");
@@ -1037,17 +1037,17 @@ WebappsActor.prototype = {
     }
     Services.obs.removeObserver(this, "webapps-installed", false);
     Services.obs.removeObserver(this, "webapps-uninstall", false);
 
     return {};
   },
 
   onFrameCreated: function (frame, isFirstAppFrame) {
-    let mozapp = frame.getAttribute('mozapp');
+    let mozapp = frame.getAttribute("mozapp");
     if (!mozapp || !isFirstAppFrame) {
       return;
     }
 
     let manifestURL = frame.appManifestURL;
     // Only track app frames
     if (!manifestURL) {
       return;
@@ -1057,17 +1057,17 @@ WebappsActor.prototype = {
       this.conn.send({ from: this.actorID,
                        type: "appOpen",
                        manifestURL: manifestURL
                      });
     }
   },
 
   onFrameDestroyed: function (frame, isLastAppFrame) {
-    let mozapp = frame.getAttribute('mozapp');
+    let mozapp = frame.getAttribute("mozapp");
     if (!mozapp || !isLastAppFrame) {
       return;
     }
 
     let manifestURL = frame.appManifestURL;
     // Only track app frames
     if (!manifestURL) {
       return;
--- a/devtools/server/actors/webaudio.js
+++ b/devtools/server/actors/webaudio.js
@@ -383,17 +383,17 @@ var AudioNodeActor = exports.AudioNodeAc
    *
    * @param String paramName
    *        Name of the AudioParam.
    * @param String eventName
    *        Name of the automation event called.
    * @param Array args
    *        Arguments passed into the automation call.
    */
-  addAutomationEvent: method(function (paramName, eventName, args=[]) {
+  addAutomationEvent: method(function (paramName, eventName, args = []) {
     let node = this.node.get();
     let timeline = this.automation[paramName];
 
     if (node === null) {
       return CollectedAudioNodeError();
     }
 
     if (!timeline || !node[paramName][eventName]) {
@@ -495,33 +495,33 @@ var AudioNodeFront = protocol.FrontClass
 
 /**
  * The Web Audio Actor handles simple interaction with an AudioContext
  * high-level methods. After instantiating this actor, you'll need to set it
  * up by calling setup().
  */
 var WebAudioActor = exports.WebAudioActor = protocol.ActorClass({
   typeName: "webaudio",
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
 
     this._onContentFunctionCall = this._onContentFunctionCall.bind(this);
 
     // Store ChromeOnly ID (`nativeID` property on AudioNodeActor) mapped
     // to the associated actorID, so we don't have to expose `nativeID`
     // to the client in any way.
     this._nativeToActorID = new Map();
 
     this._onDestroyNode = this._onDestroyNode.bind(this);
     this._onGlobalDestroyed = this._onGlobalDestroyed.bind(this);
     this._onGlobalCreated = this._onGlobalCreated.bind(this);
   },
 
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
   /**
    * Returns definition of all AudioNodes, such as AudioParams, and
    * flags.
    */
@@ -533,17 +533,17 @@ var WebAudioActor = exports.WebAudioActo
 
   /**
    * Starts waiting for the current tab actor's document global to be
    * created, in order to instrument the Canvas context and become
    * aware of everything the content does with Web Audio.
    *
    * See ContentObserver and WebAudioInstrumenter for more details.
    */
-  setup: method(function({ reload }) {
+  setup: method(function ({ reload }) {
     // Used to track when something is happening with the web audio API
     // the first time, to ultimately fire `start-context` event
     this._firstNodeCreated = false;
 
     // Clear out stored nativeIDs on reload as we do not want to track
     // AudioNodes that are no longer on this document.
     this._nativeToActorID.clear();
 
@@ -572,33 +572,33 @@ var WebAudioActor = exports.WebAudioActo
     request: { reload: Option(0, "boolean") },
     oneway: true
   }),
 
   /**
    * Invoked whenever an instrumented function is called, like an AudioContext
    * method or an AudioNode method.
    */
-  _onContentFunctionCall: function(functionCall) {
+  _onContentFunctionCall: function (functionCall) {
     let { name } = functionCall.details;
 
     // All Web Audio nodes inherit from AudioNode's prototype, so
     // hook into the `connect` and `disconnect` methods
     if (WebAudioFront.NODE_ROUTING_METHODS.has(name)) {
       this._handleRoutingCall(functionCall);
     }
     else if (WebAudioFront.NODE_CREATION_METHODS.has(name)) {
       this._handleCreationCall(functionCall);
     }
     else if (ENABLE_AUTOMATION && WebAudioFront.AUTOMATION_METHODS.has(name)) {
       this._handleAutomationCall(functionCall);
     }
   },
 
-  _handleRoutingCall: function(functionCall) {
+  _handleRoutingCall: function (functionCall) {
     let { caller, args, name } = functionCall.details;
     let source = caller;
     let dest = args[0];
     let isAudioParam = dest ? getConstructorName(dest) === "AudioParam" : false;
 
     // audionode.connect(param)
     if (name === "connect" && isAudioParam) {
       this._onConnectParam(source, dest);
@@ -649,32 +649,32 @@ var WebAudioActor = exports.WebAudioActo
     });
   },
 
   /**
    * Stops listening for document global changes and puts this actor
    * to hibernation. This method is called automatically just before the
    * actor is destroyed.
    */
-  finalize: method(function() {
+  finalize: method(function () {
     if (!this._initialized) {
       return;
     }
     this._initialized = false;
     systemOff("webaudio-node-demise", this._onDestroyNode);
 
     off(this.tabActor, "window-destroyed", this._onGlobalDestroyed);
     off(this.tabActor, "window-ready", this._onGlobalCreated);
     this.tabActor = null;
     this._nativeToActorID = null;
     this._callWatcher.eraseRecording();
     this._callWatcher.finalize();
     this._callWatcher = null;
   }, {
-   oneway: true
+    oneway: true
   }),
 
   /**
    * Events emitted by this actor.
    */
   events: {
     "start-context": {
       type: "startContext"
@@ -853,17 +853,17 @@ var WebAudioActor = exports.WebAudioActo
   _onGlobalCreated: function () {
     this._callWatcher.resumeRecording();
   },
 
   /**
    * Fired when an automation event is added to an AudioNode.
    */
   _onAutomationEvent: function ({node, paramName, eventName, args}) {
-    emit(this, "automation-event",  {
+    emit(this, "automation-event", {
       node: node,
       paramName: paramName,
       eventName: eventName,
       args: args
     });
   },
 
   /**
@@ -882,17 +882,17 @@ var WebAudioActor = exports.WebAudioActo
     systemOff("webaudio-node-demise", this._onDestroyNode);
   }
 });
 
 /**
  * The corresponding Front object for the WebAudioActor.
  */
 var WebAudioFront = exports.WebAudioFront = protocol.FrontClass(WebAudioActor, {
-  initialize: function(client, { webaudioActor }) {
+  initialize: function (client, { webaudioActor }) {
     protocol.Front.prototype.initialize.call(this, client, { actor: webaudioActor });
     this.manage(this);
   },
 
   /**
    * If connecting to older geckos (<Fx43), where audio node actor's do not
    * contain `type`, `source` and `bypassable` properties, fetch
    * them manually here.
@@ -916,106 +916,106 @@ WebAudioFront.NODE_ROUTING_METHODS = new
  * Determines whether or not property is an AudioParam.
  *
  * @param AudioNode node
  *        An AudioNode.
  * @param String prop
  *        Property of `node` to evaluate to see if it's an AudioParam.
  * @return Boolean
  */
-function isAudioParam (node, prop) {
+function isAudioParam(node, prop) {
   return !!(node[prop] && /AudioParam/.test(node[prop].toString()));
 }
 
 /**
  * Takes an `Error` object and constructs a JSON-able response
  *
  * @param Error err
  *        A TypeError, RangeError, etc.
  * @return Object
  */
-function constructError (err) {
+function constructError(err) {
   return {
     message: err.message,
     type: err.constructor.name
   };
 }
 
 /**
  * Creates and returns a JSON-able response used to indicate
  * attempt to access an AudioNode that has been GC'd.
  *
  * @return Object
  */
-function CollectedAudioNodeError () {
+function CollectedAudioNodeError() {
   return {
     message: "AudioNode has been garbage collected and can no longer be reached.",
     type: "UnreachableAudioNode"
   };
 }
 
-function InvalidCommandError () {
+function InvalidCommandError() {
   return {
     message: "The command on AudioNode is invalid.",
     type: "InvalidCommand"
   };
 }
 
 /**
  * Takes an object and converts it's `toString()` form, like
  * "[object OscillatorNode]" or "[object Float32Array]",
  * or XrayWrapper objects like "[object XrayWrapper [object Array]]"
  * to a string of just the constructor name, like "OscillatorNode",
  * or "Float32Array".
  */
-function getConstructorName (obj) {
+function getConstructorName(obj) {
   return obj.toString().match(/\[object ([^\[\]]*)\]\]?$/)[1];
 }
 
 /**
  * Create a grip-like object to pass in renderable information
  * to the front-end for things like Float32Arrays, AudioBuffers,
  * without tracking them in an actor pool.
  */
-function createObjectGrip (value) {
+function createObjectGrip(value) {
   return {
     type: "object",
     preview: {
       kind: "ObjectWithText",
       text: ""
     },
     class: getConstructorName(value)
   };
 }
 
 /**
  * Converts all TypedArrays of the array that cannot
  * be passed over the wire into a normal Array equivilent.
  */
-function sanitizeAutomationArgs (args) {
+function sanitizeAutomationArgs(args) {
   return args.reduce((newArgs, el) => {
     newArgs.push(typeof el === "object" && getConstructorName(el) === "Float32Array" ? castToArray(el) : el);
     return newArgs;
   }, []);
 }
 
 /**
  * Casts TypedArray to a normal array via a
  * new scope.
  */
-function castToArray (typedArray) {
+function castToArray(typedArray) {
   // The Xray machinery for TypedArrays denies indexed access on the grounds
   // that it's slow, and advises callers to do a structured clone instead.
   let global = Cu.getGlobalForObject(this);
   let safeView = Cu.cloneInto(typedArray.subarray(), global);
   return copyInto([], safeView);
 }
 
 /**
  * Copies values of an array-like `source` into
  * a similarly array-like `dest`.
  */
-function copyInto (dest, source) {
+function copyInto(dest, source) {
   for (let i = 0; i < source.length; i++) {
     dest[i] = source[i];
   }
   return dest;
 }
--- a/devtools/server/actors/webbrowser.js
+++ b/devtools/server/actors/webbrowser.js
@@ -544,32 +544,32 @@ BrowserTabList.prototype._listenForEvent
  * @param aShouldListen boolean
  *    True if we should add message listeners; false if we should remove them.
  * @param aGuard string
  *    The name of a guard property of 'this', indicating whether we're
  *    already listening for those messages.
  * @param aMessageNames array of strings
  *    An array of message names.
  */
-BrowserTabList.prototype._listenForMessagesIf = function(aShouldListen, aGuard, aMessageNames) {
+BrowserTabList.prototype._listenForMessagesIf = function (aShouldListen, aGuard, aMessageNames) {
   if (!aShouldListen !== !this[aGuard]) {
     let op = aShouldListen ? "addMessageListener" : "removeMessageListener";
     for (let win of allAppShellDOMWindows(DebuggerServer.chromeWindowType)) {
       for (let name of aMessageNames) {
         win.messageManager[op](name, this);
       }
     }
     this[aGuard] = aShouldListen;
   }
 };
 
 /**
  * Implement nsIMessageListener.
  */
-BrowserTabList.prototype.receiveMessage = DevToolsUtils.makeInfallible(function(message) {
+BrowserTabList.prototype.receiveMessage = DevToolsUtils.makeInfallible(function (message) {
   let browser = message.target;
   switch (message.name) {
     case "DOMTitleChanged": {
       let actor = this._actorByBrowser.get(browser);
       if (actor) {
         this._notifyListChanged();
         this._checkListening();
       }
--- a/devtools/server/actors/webconsole.js
+++ b/devtools/server/actors/webconsole.js
@@ -22,17 +22,17 @@ loader.lazyRequireGetter(this, "events",
 loader.lazyRequireGetter(this, "ServerLoggingListener", "devtools/shared/webconsole/server-logger", true);
 loader.lazyRequireGetter(this, "JSPropertyProvider", "devtools/shared/webconsole/js-property-provider", true);
 loader.lazyRequireGetter(this, "Parser", "resource://devtools/shared/Parser.jsm", true);
 
 for (let name of ["WebConsoleUtils", "ConsoleServiceListener",
     "ConsoleAPIListener", "addWebConsoleCommands",
     "ConsoleReflowListener", "CONSOLE_WORKER_IDS"]) {
   Object.defineProperty(this, name, {
-    get: function(prop) {
+    get: function (prop) {
       if (prop == "WebConsoleUtils") {
         prop = "Utils";
       }
       if (isWorker) {
         return require("devtools/shared/webconsole/worker-utils")[prop];
       } else {
         return require("devtools/shared/webconsole/utils")[prop];
       }
@@ -543,33 +543,33 @@ WebConsoleActor.prototype =
    *
    * @return object
    */
   getLastConsoleInputEvaluation: function WCU_getLastConsoleInputEvaluation()
   {
     return this._lastConsoleInputEvaluation;
   },
 
-  //////////////////
+  // ////////////////
   // Request handlers for known packet types.
-  //////////////////
+  // ////////////////
 
   /**
    * Handler for the "startListeners" request.
    *
    * @param object aRequest
    *        The JSON request object received from the Web Console client.
    * @return object
    *         The response object which holds the startedListeners array.
    */
   onStartListeners: function WCA_onStartListeners(aRequest)
   {
     // XXXworkers: Not handling the Console API yet for workers (Bug 1209353).
     if (isWorker) {
-       aRequest.listeners = [];
+      aRequest.listeners = [];
     }
 
     let startedListeners = [];
     let window = !this.parentActor.isRootActor ? this.window : null;
     let appId = null;
     let messageManager = null;
 
     if (this._parentIsContentActor) {
@@ -888,19 +888,19 @@ WebConsoleActor.prototype =
         let unsafeDereference = error && (typeof error === "object") &&
                                 error.unsafeDereference();
         errorMessage = unsafeDereference && unsafeDereference.toString
           ? unsafeDereference.toString()
           : String(error);
 
           // It is possible that we won't have permission to unwrap an
           // object and retrieve its errorMessageName.
-          try {
-            errorDocURL = ErrorDocs.GetURL(error && error.errorMessageName);
-          } catch (ex) {}
+        try {
+          errorDocURL = ErrorDocs.GetURL(error && error.errorMessageName);
+        } catch (ex) {}
       }
     }
 
     // If a value is encountered that the debugger server doesn't support yet,
     // the console should remain functional.
     let resultGrip;
     try {
       resultGrip = this.createValueGrip(result);
@@ -940,17 +940,17 @@ WebConsoleActor.prototype =
     // This is the case of the paused debugger
     if (frameActorId) {
       let frameActor = this.conn.getActor(frameActorId);
       try {
         // Need to try/catch since accessing frame.environment
         // can throw "Debugger.Frame is not live"
         let frame = frameActor.frame;
         environment = frame.environment;
-      } catch(e) {
+      } catch (e) {
         DevToolsUtils.reportException("onAutocomplete",
           Error("The frame actor was not found: " + frameActorId));
       }
     }
     // This is the general case (non-paused debugger)
     else {
       hadDebuggee = this.dbg.hasDebuggee(this.evalWindow);
       dbgObject = this.dbg.addDebuggee(this.evalWindow);
@@ -1046,35 +1046,35 @@ WebConsoleActor.prototype =
         if (this.networkMonitorChild) {
           this.networkMonitorChild.saveRequestAndResponseBodies = this._prefs[key];
         }
       }
     }
     return { updated: Object.keys(aRequest.preferences) };
   },
 
-  //////////////////
+  // ////////////////
   // End of request handlers.
-  //////////////////
+  // ////////////////
 
   /**
    * Create an object with the API we expose to the Web Console during
    * JavaScript evaluation.
    * This object inherits properties and methods from the Web Console actor.
    *
    * @private
    * @param object aDebuggerGlobal
    *        A Debugger.Object that wraps a content global. This is used for the
    *        Web Console Commands.
    * @return object
    *         The same object as |this|, but with an added |sandbox| property.
    *         The sandbox holds methods and properties that can be used as
    *         bindings during JS evaluation.
    */
-  _getWebConsoleCommands: function(aDebuggerGlobal)
+  _getWebConsoleCommands: function (aDebuggerGlobal)
   {
     let helpers = {
       window: this.evalWindow,
       chromeWindow: this.chromeWindow.bind(this),
       makeDebuggeeValue: aDebuggerGlobal.makeDebuggeeValue.bind(aDebuggerGlobal),
       createValueGrip: this.createValueGrip.bind(this),
       sandbox: Object.create(null),
       helperResult: null,
@@ -1097,19 +1097,19 @@ WebConsoleActor.prototype =
       obj[name] =
         Cu.exportFunction(obj[name], evalWindow, { allowCrossOriginArguments: true });
     }
     for (let name in helpers.sandbox) {
       let desc = Object.getOwnPropertyDescriptor(helpers.sandbox, name);
 
       // Workers don't have access to Cu so won't be able to exportFunction.
       if (!isWorker) {
-        maybeExport(desc, 'get');
-        maybeExport(desc, 'set');
-        maybeExport(desc, 'value');
+        maybeExport(desc, "get");
+        maybeExport(desc, "set");
+        maybeExport(desc, "value");
       }
       if (desc.value) {
         // Make sure the helpers can be used during eval.
         desc.value = aDebuggerGlobal.makeDebuggeeValue(desc.value);
       }
       Object.defineProperty(helpers.sandbox, name, desc);
     }
     return helpers;
@@ -1300,34 +1300,34 @@ WebConsoleActor.prototype =
           ast = Parser.reflectionAPI.parse(aString);
         } catch (ex) {
           ast = {"body": []};
         }
         for (let line of ast.body) {
           // Only let and const declarations put bindings into an
           // "initializing" state.
           if (!(line.kind == "let" || line.kind == "const"))
-                continue;
+            continue;
 
           let identifiers = [];
           for (let decl of line.declarations) {
             switch (decl.id.type) {
               case "Identifier":
                 // let foo = bar;
                 identifiers.push(decl.id.name);
                 break;
               case "ArrayPattern":
                 // let [foo, bar]    = [1, 2];
                 // let [foo=99, bar] = [1, 2];
                 for (let e of decl.id.elements) {
-                    if (e.type == "Identifier") {
-                      identifiers.push(e.name);
-                    } else if (e.type == "AssignmentExpression") {
-                      identifiers.push(e.left.name);
-                    }
+                  if (e.type == "Identifier") {
+                    identifiers.push(e.name);
+                  } else if (e.type == "AssignmentExpression") {
+                    identifiers.push(e.left.name);
+                  }
                 }
                 break;
               case "ObjectPattern":
                 // let {bilbo, my}    = {bilbo: "baggins", my: "precious"};
                 // let {blah: foo}    = {blah: yabba()}
                 // let {blah: foo=99} = {blah: yabba()}
                 for (let prop of decl.id.properties) {
                   // key
@@ -1370,19 +1370,19 @@ WebConsoleActor.prototype =
       result: result,
       helperResult: helperResult,
       dbg: dbg,
       frame: frame,
       window: dbgWindow,
     };
   },
 
-  //////////////////
+  // ////////////////
   // Event handlers for various listeners.
-  //////////////////
+  // ////////////////
 
   /**
    * Handler for messages received from the ConsoleServiceListener. This method
    * sends the nsIConsoleMessage to the remote Web Console client.
    *
    * @param nsIConsoleMessage aMessage
    *        The message we need to send to the client.
    */
@@ -1628,19 +1628,19 @@ WebConsoleActor.prototype =
       from: this.actorID,
       type: "serverLogCall",
       message: msg,
     };
 
     this.conn.send(packet);
   },
 
-  //////////////////
+  // ////////////////
   // End of event handlers for various listeners.
-  //////////////////
+  // ////////////////
 
   /**
    * Prepare a message from the console API to be sent to the remote Web Console
    * instance.
    *
    * @param object aMessage
    *        The original message received from console-api-log-event.
    * @param boolean aUseObjectGlobal
@@ -1745,17 +1745,17 @@ WebConsoleActor.prototype =
     // (pass a copy of the array as it will shift from it)
     this.onStopListeners({listeners: listeners.slice()});
 
     // This method is called after this.window is changed,
     // so we register new listener on this new window
     this.onStartListeners({listeners: listeners});
 
     // Also reset the cached top level chrome window being targeted
-    this._lastChromeWindow  = null;
+    this._lastChromeWindow = null;
   },
 };
 
 WebConsoleActor.prototype.requestTypes =
 {
   startListeners: WebConsoleActor.prototype.onStartListeners,
   stopListeners: WebConsoleActor.prototype.onStopListeners,
   getCachedMessages: WebConsoleActor.prototype.onGetCachedMessages,
@@ -1871,17 +1871,17 @@ NetworkEventActor.prototype =
    */
   init: function NEA_init(aNetworkEvent)
   {
     this._startedDateTime = aNetworkEvent.startedDateTime;
     this._isXHR = aNetworkEvent.isXHR;
     this._fromCache = aNetworkEvent.fromCache;
     this._fromServiceWorker = aNetworkEvent.fromServiceWorker;
 
-    for (let prop of ['method', 'url', 'httpVersion', 'headersSize']) {
+    for (let prop of ["method", "url", "httpVersion", "headersSize"]) {
       this._request[prop] = aNetworkEvent[prop];
     }
 
     this._discardRequestBody = aNetworkEvent.discardRequestBody;
     this._discardResponseBody = aNetworkEvent.discardResponseBody;
     this._private = aNetworkEvent.private;
   },
 
@@ -1999,17 +1999,17 @@ NetworkEventActor.prototype =
   {
     return {
       from: this.actorID,
       timings: this._timings,
       totalTime: this._totalTime
     };
   },
 
-  /******************************************************************
+  /** ****************************************************************
    * Listeners for new network event data coming from NetworkMonitor.
    ******************************************************************/
 
   /**
    * Add network request headers.
    *
    * @param array aHeaders
    *        The request headers array.
--- a/devtools/server/actors/webgl.js
+++ b/devtools/server/actors/webgl.js
@@ -33,37 +33,37 @@ var ShaderActor = protocol.ActorClass({
    *        The server connection.
    * @param WebGLProgram program
    *        The WebGL program being linked.
    * @param WebGLShader shader
    *        The cooresponding vertex or fragment shader.
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context owning this shader.
    */
-  initialize: function(conn, program, shader, proxy) {
+  initialize: function (conn, program, shader, proxy) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.program = program;
     this.shader = shader;
     this.text = proxy.getShaderSource(shader);
     this.linkedProxy = proxy;
   },
 
   /**
    * Gets the source code for this shader.
    */
-  getText: method(function() {
+  getText: method(function () {
     return this.text;
   }, {
     response: { text: RetVal("string") }
   }),
 
   /**
    * Sets and compiles new source code for this shader.
    */
-  compile: method(function(text) {
+  compile: method(function (text) {
     // Get the shader and corresponding program to change via the WebGL proxy.
     let { linkedProxy: proxy, shader, program } = this;
 
     // Get the new shader source to inject.
     let oldText = this.text;
     let newText = text;
 
     // Overwrite the shader's source.
@@ -80,17 +80,17 @@ var ShaderActor = protocol.ActorClass({
     response: { error: RetVal("nullable:json") }
   })
 });
 
 /**
  * The corresponding Front object for the ShaderActor.
  */
 var ShaderFront = protocol.FrontClass(ShaderActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
   }
 });
 
 /**
  * A WebGL program is composed (at the moment, analogue to OpenGL ES 2.0)
  * of two shaders: a vertex shader and a fragment shader.
  */
@@ -106,17 +106,17 @@ var ProgramActor = protocol.ActorClass({
    *        The WebGL program being linked.
    * @param WebGLShader[] shaders
    *        The WebGL program's cooresponding vertex and fragment shaders.
    * @param WebGLCache cache
    *        The state storage for the WebGL context owning this program.
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context owning this program.
    */
-  initialize: function(conn, [program, shaders, cache, proxy]) {
+  initialize: function (conn, [program, shaders, cache, proxy]) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this._shaderActorsCache = { vertex: null, fragment: null };
     this.program = program;
     this.shaders = shaders;
     this.linkedCache = cache;
     this.linkedProxy = proxy;
   },
 
@@ -127,125 +127,125 @@ var ProgramActor = protocol.ActorClass({
   get ownerContext() {
     return this.linkedCache.ownerContext;
   },
 
   /**
    * Gets the vertex shader linked to this program. This method guarantees
    * a single actor instance per shader.
    */
-  getVertexShader: method(function() {
+  getVertexShader: method(function () {
     return this._getShaderActor("vertex");
   }, {
     response: { shader: RetVal("gl-shader") }
   }),
 
   /**
    * Gets the fragment shader linked to this program. This method guarantees
    * a single actor instance per shader.
    */
-  getFragmentShader: method(function() {
+  getFragmentShader: method(function () {
     return this._getShaderActor("fragment");
   }, {
     response: { shader: RetVal("gl-shader") }
   }),
 
   /**
    * Highlights any geometry rendered using this program.
    */
-  highlight: method(function(tint) {
+  highlight: method(function (tint) {
     this.linkedProxy.highlightTint = tint;
     this.linkedCache.setProgramTrait(this.program, PROGRAM_HIGHLIGHT_TRAIT);
   }, {
     request: { tint: Arg(0, "array:number") },
     oneway: true
   }),
 
   /**
    * Allows geometry to be rendered normally using this program.
    */
-  unhighlight: method(function() {
+  unhighlight: method(function () {
     this.linkedCache.unsetProgramTrait(this.program, PROGRAM_HIGHLIGHT_TRAIT);
   }, {
     oneway: true
   }),
 
   /**
    * Prevents any geometry from being rendered using this program.
    */
-  blackbox: method(function() {
+  blackbox: method(function () {
     this.linkedCache.setProgramTrait(this.program, PROGRAM_BLACKBOX_TRAIT);
   }, {
     oneway: true
   }),
 
   /**
    * Allows geometry to be rendered using this program.
    */
-  unblackbox: method(function() {
+  unblackbox: method(function () {
     this.linkedCache.unsetProgramTrait(this.program, PROGRAM_BLACKBOX_TRAIT);
   }, {
     oneway: true
   }),
 
   /**
    * Returns a cached ShaderActor instance based on the required shader type.
    *
    * @param string type
    *        Either "vertex" or "fragment".
    * @return ShaderActor
    *         The respective shader actor instance.
    */
-  _getShaderActor: function(type) {
+  _getShaderActor: function (type) {
     if (this._shaderActorsCache[type]) {
       return this._shaderActorsCache[type];
     }
     let proxy = this.linkedProxy;
     let shader = proxy.getShaderOfType(this.shaders, type);
     let shaderActor = new ShaderActor(this.conn, this.program, shader, proxy);
     return this._shaderActorsCache[type] = shaderActor;
   }
 });
 
 /**
  * The corresponding Front object for the ProgramActor.
  */
 var ProgramFront = protocol.FrontClass(ProgramActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
   }
 });
 
 /**
  * The WebGL Actor handles simple interaction with a WebGL context via a few
  * high-level methods. After instantiating this actor, you'll need to set it
  * up by calling setup().
  */
 var WebGLActor = exports.WebGLActor = protocol.ActorClass({
   typeName: "webgl",
-  initialize: function(conn, tabActor) {
+  initialize: function (conn, tabActor) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.tabActor = tabActor;
     this._onGlobalCreated = this._onGlobalCreated.bind(this);
     this._onGlobalDestroyed = this._onGlobalDestroyed.bind(this);
     this._onProgramLinked = this._onProgramLinked.bind(this);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     protocol.Actor.prototype.destroy.call(this, conn);
     this.finalize();
   },
 
   /**
    * Starts waiting for the current tab actor's document global to be
    * created, in order to instrument the Canvas context and become
    * aware of everything the content does WebGL-wise.
    *
    * See ContentObserver and WebGLInstrumenter for more details.
    */
-  setup: method(function({ reload }) {
+  setup: method(function ({ reload }) {
     if (this._initialized) {
       return;
     }
     this._initialized = true;
 
     this._programActorsCache = [];
     this._webglObserver = new WebGLObserver();
 
@@ -261,38 +261,38 @@ var WebGLActor = exports.WebGLActor = pr
     oneway: true
   }),
 
   /**
    * Stops listening for document global changes and puts this actor
    * to hibernation. This method is called automatically just before the
    * actor is destroyed.
    */
-  finalize: method(function() {
+  finalize: method(function () {
     if (!this._initialized) {
       return;
     }
     this._initialized = false;
 
     off(this.tabActor, "window-ready", this._onGlobalCreated);
     off(this.tabActor, "window-destroyed", this._onGlobalDestroyed);
     off(this._webglObserver, "program-linked", this._onProgramLinked);
 
     this._programActorsCache = null;
     this._contentObserver = null;
     this._webglObserver = null;
   }, {
-   oneway: true
+    oneway: true
   }),
 
   /**
    * Gets an array of cached program actors for the current tab actor's window.
    * This is useful for dealing with bfcache, when no new programs are linked.
    */
-  getPrograms: method(function() {
+  getPrograms: method(function () {
     let id = ContentObserver.GetInnerWindowID(this.tabActor.window);
     return this._programActorsCache.filter(e => e.ownerWindow == id);
   }, {
     response: { programs: RetVal("array:gl-program") }
   }),
 
   /**
    * Waits for one frame via `requestAnimationFrame` on the tab actor's window.
@@ -357,59 +357,59 @@ var WebGLActor = exports.WebGLActor = pr
       program: Arg(0, "number")
     }
   },
 
   /**
    * Gets an array of all cached program actors belonging to all windows.
    * This should only be used for tests.
    */
-  _getAllPrograms: method(function() {
+  _getAllPrograms: method(function () {
     return this._programActorsCache;
   }, {
     response: { programs: RetVal("array:gl-program") }
   }),
 
 
   /**
    * Invoked whenever the current tab actor's document global is created.
    */
-  _onGlobalCreated: function({id, window, isTopLevel}) {
+  _onGlobalCreated: function ({id, window, isTopLevel}) {
     if (isTopLevel) {
       WebGLInstrumenter.handle(window, this._webglObserver);
       events.emit(this, "global-created", id);
     }
   },
 
   /**
    * Invoked whenever the current tab actor's inner window is destroyed.
    */
-  _onGlobalDestroyed: function({id, isTopLevel, isFrozen}) {
+  _onGlobalDestroyed: function ({id, isTopLevel, isFrozen}) {
     if (isTopLevel && !isFrozen) {
       removeFromArray(this._programActorsCache, e => e.ownerWindow == id);
       this._webglObserver.unregisterContextsForWindow(id);
       events.emit(this, "global-destroyed", id);
     }
   },
 
   /**
    * Invoked whenever an observed WebGL context links a program.
    */
-  _onProgramLinked: function(...args) {
+  _onProgramLinked: function (...args) {
     let programActor = new ProgramActor(this.conn, args);
     this._programActorsCache.push(programActor);
     events.emit(this, "program-linked", programActor);
   }
 });
 
 /**
  * The corresponding Front object for the WebGLActor.
  */
 var WebGLFront = exports.WebGLFront = protocol.FrontClass(WebGLActor, {
-  initialize: function(client, { webglActor }) {
+  initialize: function (client, { webglActor }) {
     protocol.Front.prototype.initialize.call(this, client, { actor: webglActor });
     this.manage(this);
   }
 });
 
 /**
  * Instruments a HTMLCanvasElement with the appropriate inspection methods.
  */
@@ -417,30 +417,30 @@ var WebGLInstrumenter = {
   /**
    * Overrides the getContext method in the HTMLCanvasElement prototype.
    *
    * @param nsIDOMWindow window
    *        The window to perform the instrumentation in.
    * @param WebGLObserver observer
    *        The observer watching function calls in the context.
    */
-  handle: function(window, observer) {
+  handle: function (window, observer) {
     let self = this;
 
     let id = ContentObserver.GetInnerWindowID(window);
     let canvasElem = XPCNativeWrapper.unwrap(window.HTMLCanvasElement);
     let canvasPrototype = canvasElem.prototype;
     let originalGetContext = canvasPrototype.getContext;
 
     /**
      * Returns a drawing context on the canvas, or null if the context ID is
      * not supported. This override creates an observer for the targeted context
      * type and instruments specific functions in the targeted context instance.
      */
-    canvasPrototype.getContext = function(name, options) {
+    canvasPrototype.getContext = function (name, options) {
       // Make sure a context was able to be created.
       let context = originalGetContext.call(this, name, options);
       if (!context) {
         return context;
       }
       // Make sure a WebGL (not a 2D) context will be instrumented.
       if (WEBGL_CONTEXT_NAMES.indexOf(name) == -1) {
         return context;
@@ -480,23 +480,23 @@ var WebGLInstrumenter = {
    *        The two callback function names in the observer, corresponding to
    *        the "before" and "after" invocation times. If unspecified, they will
    *        default to the name of the function to override.
    * @param number timing [optional]
    *        When to issue the callback in relation to the actual context
    *        function call. Availalble values are -1 for "before" (default)
    *        1 for "after" and 0 for "before and after".
    */
-  _instrument: function(observer, context, funcName, callbackName = [], timing = -1) {
+  _instrument: function (observer, context, funcName, callbackName = [], timing = -1) {
     let { cache, proxy } = observer.for(context);
     let originalFunc = context[funcName];
     let beforeFuncName = callbackName[0] || funcName;
     let afterFuncName = callbackName[1] || callbackName[0] || funcName;
 
-    context[funcName] = function(...glArgs) {
+    context[funcName] = function (...glArgs) {
       if (timing <= 0 && !observer.suppressHandlers) {
         let glBreak = observer[beforeFuncName](glArgs, cache, proxy);
         if (glBreak) return undefined;
       }
 
       // Invoking .apply on an unxrayed content function doesn't work, because
       // the arguments array is inaccessible to it. Get Xrays back.
       let glResult = Cu.waiveXrays(Cu.unwaiveXrays(originalFunc).apply(this, glArgs));
@@ -584,17 +584,17 @@ WebGLObserver.prototype = {
   /**
    * Creates a WebGLCache and a WebGLProxy for the specified window and context.
    *
    * @param number id
    *        The id of the window containing the WebGL context.
    * @param WebGLRenderingContext context
    *        The WebGL context used in the cache and proxy instances.
    */
-  registerContextForWindow: function(id, context) {
+  registerContextForWindow: function (id, context) {
     let cache = new WebGLCache(id, context);
     let proxy = new WebGLProxy(id, context, cache, this);
     cache.refreshState(proxy);
 
     this._contexts.set(context, {
       ownerWindow: id,
       cache: cache,
       proxy: proxy
@@ -602,29 +602,29 @@ WebGLObserver.prototype = {
   },
 
   /**
    * Removes all WebGLCache and WebGLProxy instances for a particular window.
    *
    * @param number id
    *        The id of the window containing the WebGL context.
    */
-  unregisterContextsForWindow: function(id) {
+  unregisterContextsForWindow: function (id) {
     removeFromMap(this._contexts, e => e.ownerWindow == id);
   },
 
   /**
    * Gets the WebGLCache and WebGLProxy instances for a particular context.
    *
    * @param WebGLRenderingContext context
    *        The WebGL context used in the cache and proxy instances.
    * @return object
    *         An object containing the corresponding { cache, proxy } instances.
    */
-  for: function(context) {
+  for: function (context) {
     return this._contexts.get(context);
   },
 
   /**
    * Set this flag to true to stop observing any context function calls.
    */
   suppressHandlers: false,
 
@@ -635,34 +635,34 @@ WebGLObserver.prototype = {
    *        Overridable arguments with which the function is called.
    * @param void glResult
    *        The returned value of the original function call.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context initiating this call.
    */
-  linkProgram: function(glArgs, glResult, cache, proxy) {
+  linkProgram: function (glArgs, glResult, cache, proxy) {
     let program = glArgs[0];
     let shaders = proxy.getAttachedShaders(program);
     cache.addProgram(program, PROGRAM_DEFAULT_TRAITS);
     emit(this, "program-linked", program, shaders, cache, proxy);
   },
 
   /**
    * Called immediately *after* 'getAttribLocation' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param GLint glResult
    *        The returned value of the original function call.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  getAttribLocation: function(glArgs, glResult, cache) {
+  getAttribLocation: function (glArgs, glResult, cache) {
     // Make sure the attribute's value is legal before caching.
     if (glResult < 0) {
       return;
     }
     let [program, name] = glArgs;
     cache.addAttribute(program, name, glResult);
   },
 
@@ -671,17 +671,17 @@ WebGLObserver.prototype = {
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLUniformLocation glResult
    *        The returned value of the original function call.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  getUniformLocation: function(glArgs, glResult, cache) {
+  getUniformLocation: function (glArgs, glResult, cache) {
     // Make sure the uniform's value is legal before caching.
     if (!glResult) {
       return;
     }
     let [program, name] = glArgs;
     cache.addUniform(program, name, glResult);
   },
 
@@ -689,151 +689,151 @@ WebGLObserver.prototype = {
    * Called immediately *before* 'enableVertexAttribArray' or
    * 'disableVertexAttribArray'is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  toggleVertexAttribArray: function(glArgs, cache) {
+  toggleVertexAttribArray: function (glArgs, cache) {
     glArgs[0] = cache.getCurrentAttributeLocation(glArgs[0]);
     return glArgs[0] < 0; // Return true to break original function call.
   },
 
   /**
    * Called immediately *before* 'attribute_' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  attribute_: function(glArgs, cache) {
+  attribute_: function (glArgs, cache) {
     glArgs[0] = cache.getCurrentAttributeLocation(glArgs[0]);
     return glArgs[0] < 0; // Return true to break original function call.
   },
 
   /**
    * Called immediately *before* 'uniform_' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  uniform_: function(glArgs, cache) {
+  uniform_: function (glArgs, cache) {
     glArgs[0] = cache.getCurrentUniformLocation(glArgs[0]);
     return !glArgs[0]; // Return true to break original function call.
   },
 
   /**
    * Called immediately *before* 'useProgram' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  useProgram: function(glArgs, cache) {
+  useProgram: function (glArgs, cache) {
     // Manually keeping a cache and not using gl.getParameter(CURRENT_PROGRAM)
     // because gl.get* functions are slow as potatoes.
     cache.currentProgram = glArgs[0];
   },
 
   /**
    * Called immediately *before* 'enable' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  enable: function(glArgs, cache) {
+  enable: function (glArgs, cache) {
     cache.currentState[glArgs[0]] = true;
   },
 
   /**
    * Called immediately *before* 'disable' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  disable: function(glArgs, cache) {
+  disable: function (glArgs, cache) {
     cache.currentState[glArgs[0]] = false;
   },
 
   /**
    * Called immediately *before* 'blendColor' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  blendColor: function(glArgs, cache) {
+  blendColor: function (glArgs, cache) {
     let blendColor = cache.currentState.blendColor;
     blendColor[0] = glArgs[0];
     blendColor[1] = glArgs[1];
     blendColor[2] = glArgs[2];
     blendColor[3] = glArgs[3];
   },
 
   /**
    * Called immediately *before* 'blendEquation' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  blendEquation: function(glArgs, cache) {
+  blendEquation: function (glArgs, cache) {
     let state = cache.currentState;
     state.blendEquationRgb = state.blendEquationAlpha = glArgs[0];
   },
 
   /**
    * Called immediately *before* 'blendEquationSeparate' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  blendEquationSeparate: function(glArgs, cache) {
+  blendEquationSeparate: function (glArgs, cache) {
     let state = cache.currentState;
     state.blendEquationRgb = glArgs[0];
     state.blendEquationAlpha = glArgs[1];
   },
 
   /**
    * Called immediately *before* 'blendFunc' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  blendFunc: function(glArgs, cache) {
+  blendFunc: function (glArgs, cache) {
     let state = cache.currentState;
     state.blendSrcRgb = state.blendSrcAlpha = glArgs[0];
     state.blendDstRgb = state.blendDstAlpha = glArgs[1];
   },
 
   /**
    * Called immediately *before* 'blendFuncSeparate' is requested in the context.
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    */
-  blendFuncSeparate: function(glArgs, cache) {
+  blendFuncSeparate: function (glArgs, cache) {
     let state = cache.currentState;
     state.blendSrcRgb = glArgs[0];
     state.blendDstRgb = glArgs[1];
     state.blendSrcAlpha = glArgs[2];
     state.blendDstAlpha = glArgs[3];
   },
 
   /**
@@ -842,17 +842,17 @@ WebGLObserver.prototype = {
    *
    * @param array glArgs
    *        Overridable arguments with which the function is called.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context initiating this call.
    */
-  beforeDraw_: function(glArgs, cache, proxy) {
+  beforeDraw_: function (glArgs, cache, proxy) {
     let traits = cache.currentProgramTraits;
 
     // Handle program blackboxing.
     if (traits & PROGRAM_BLACKBOX_TRAIT) {
       return true; // Return true to break original function call.
     }
     // Handle program highlighting.
     if (traits & PROGRAM_HIGHLIGHT_TRAIT) {
@@ -870,17 +870,17 @@ WebGLObserver.prototype = {
    *        Overridable arguments with which the function is called.
    * @param void glResult
    *        The returned value of the original function call.
    * @param WebGLCache cache
    *        The state storage for the WebGL context initiating this call.
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context initiating this call.
    */
-  afterDraw_: function(glArgs, glResult, cache, proxy) {
+  afterDraw_: function (glArgs, glResult, cache, proxy) {
     let traits = cache.currentProgramTraits;
 
     // Handle program highlighting.
     if (traits & PROGRAM_HIGHLIGHT_TRAIT) {
       proxy.disableHighlighting();
     }
   }
 };
@@ -925,17 +925,17 @@ WebGLCache.prototype = {
   currentState: null,
 
   /**
    * Populates the current state with values retrieved from the context.
    *
    * @param WebGLProxy proxy
    *        The proxy methods for the WebGL context owning the state.
    */
-  refreshState: function(proxy) {
+  refreshState: function (proxy) {
     let gl = this._gl;
     let s = this.currentState;
 
     // Populate only with the necessary parameters. Not all default WebGL
     // state values are required.
     s[gl.BLEND] = proxy.isEnabled("BLEND");
     s.blendColor = proxy.getParameter("BLEND_COLOR");
     s.blendEquationRgb = proxy.getParameter("BLEND_EQUATION_RGB");
@@ -949,46 +949,46 @@ WebGLCache.prototype = {
   /**
    * Adds a program to the cache.
    *
    * @param WebGLProgram program
    *        The shader for which the traits are to be cached.
    * @param number traits
    *        A default properties mask set for the program.
    */
-  addProgram: function(program, traits) {
+  addProgram: function (program, traits) {
     this._programs.set(program, {
       traits: traits,
       attributes: [], // keys are GLints (numbers)
       uniforms: new Map() // keys are WebGLUniformLocations (objects)
     });
   },
 
   /**
    * Adds a specific trait to a program. The effect of such properties is
    * determined by the consumer of this cache.
    *
    * @param WebGLProgram program
    *        The program to add the trait to.
    * @param number trait
    *        The property added to the program.
    */
-  setProgramTrait: function(program, trait) {
+  setProgramTrait: function (program, trait) {
     this._programs.get(program).traits |= trait;
   },
 
   /**
    * Removes a specific trait from a program.
    *
    * @param WebGLProgram program
    *        The program to remove the trait from.
    * @param number trait
    *        The property removed from the program.
    */
-  unsetProgramTrait: function(program, trait) {
+  unsetProgramTrait: function (program, trait) {
     this._programs.get(program).traits &= ~trait;
   },
 
   /**
    * Sets the currently used program in the context.
    * @param WebGLProgram program
    */
   set currentProgram(program) {
@@ -1014,64 +1014,64 @@ WebGLCache.prototype = {
    *
    * @param WebGLProgram program
    *        The program for which the attribute is bound.
    * @param string name
    *        The attribute name.
    * @param GLint value
    *        The attribute value.
    */
-  addAttribute: function(program, name, value) {
+  addAttribute: function (program, name, value) {
     this._programs.get(program).attributes[value] = {
       name: name,
       value: value
     };
   },
 
   /**
    * Adds a uniform to the cache.
    *
    * @param WebGLProgram program
    *        The program for which the uniform is bound.
    * @param string name
    *        The uniform name.
    * @param WebGLUniformLocation value
    *        The uniform value.
    */
-  addUniform: function(program, name, value) {
+  addUniform: function (program, name, value) {
     this._programs.get(program).uniforms.set(new XPCNativeWrapper(value), {
       name: name,
       value: value
     });
   },
 
   /**
    * Updates the attribute locations for a specific program.
    * This is necessary, for example, when the shader is relinked and all the
    * attribute locations become obsolete.
    *
    * @param WebGLProgram program
    *        The program for which the attributes need updating.
    */
-  updateAttributesForProgram: function(program) {
+  updateAttributesForProgram: function (program) {
     let attributes = this._programs.get(program).attributes;
     for (let attribute of attributes) {
       attribute.value = this._gl.getAttribLocation(program, attribute.name);
     }
   },
 
   /**
    * Updates the uniform locations for a specific program.
    * This is necessary, for example, when the shader is relinked and all the
    * uniform locations become obsolete.
    *
    * @param WebGLProgram program
    *        The program for which the uniforms need updating.
    */
-  updateUniformsForProgram: function(program) {
+  updateUniformsForProgram: function (program) {
     let uniforms = this._programs.get(program).uniforms;
     for (let [, uniform] of uniforms) {
       uniform.value = this._gl.getUniformLocation(program, uniform.name);
     }
   },
 
   /**
    * Gets the actual attribute location in a specific program.
@@ -1079,34 +1079,34 @@ WebGLCache.prototype = {
    * in the cache. This method returns the (current) real attribute location.
    *
    * @param GLint initialValue
    *        The initial attribute value.
    * @return GLint
    *         The current attribute value, or the initial value if it's already
    *         up to date with its corresponding program.
    */
-  getCurrentAttributeLocation: function(initialValue) {
+  getCurrentAttributeLocation: function (initialValue) {
     let attributes = this._currentAttributesMap;
     let currentInfo = attributes ? attributes[initialValue] : null;
     return currentInfo ? currentInfo.value : initialValue;
   },
 
   /**
    * Gets the actual uniform location in a specific program.
    * When relinked, all the uniform locations become obsolete and are updated
    * in the cache. This method returns the (current) real uniform location.
    *
    * @param WebGLUniformLocation initialValue
    *        The initial uniform value.
    * @return WebGLUniformLocation
    *         The current uniform value, or the initial value if it's already
    *         up to date with its corresponding program.
    */
-  getCurrentUniformLocation: function(initialValue) {
+  getCurrentUniformLocation: function (initialValue) {
     let uniforms = this._currentUniformsMap;
     let currentInfo = uniforms ? uniforms.get(initialValue) : null;
     return currentInfo ? currentInfo.value : initialValue;
   }
 };
 
 /**
  * A mechanism for injecting or qureying state into/from a single WebGL context.
@@ -1160,42 +1160,42 @@ WebGLProxy.prototype = {
   /**
    * Test whether a WebGL capability is enabled.
    *
    * @param string name
    *        The WebGL capability name, for example "BLEND".
    * @return boolean
    *         True if enabled, false otherwise.
    */
-  _isEnabled: function(name) {
+  _isEnabled: function (name) {
     return this._gl.isEnabled(this._gl[name]);
   },
 
   /**
    * Returns the value for the specified WebGL parameter name.
    *
    * @param string name
    *        The WebGL parameter name, for example "BLEND_COLOR".
    * @return any
    *         The corresponding parameter's value.
    */
-  _getParameter: function(name) {
+  _getParameter: function (name) {
     return this._gl.getParameter(this._gl[name]);
   },
 
   /**
    * Returns the renderbuffer property value for the specified WebGL parameter.
    * If no renderbuffer binding is available, null is returned.
    *
    * @param string name
    *        The WebGL parameter name, for example "BLEND_COLOR".
    * @return any
    *         The corresponding parameter's value.
    */
-  _getRenderbufferParameter: function(name) {
+  _getRenderbufferParameter: function (name) {
     if (!this._getParameter("RENDERBUFFER_BINDING")) {
       return null;
     }
     let gl = this._gl;
     return gl.getRenderbufferParameter(gl.RENDERBUFFER, gl[name]);
   },
 
   /**
@@ -1205,59 +1205,59 @@ WebGLProxy.prototype = {
    * @param string type
    *        The framebuffer object attachment point, for example "COLOR_ATTACHMENT0".
    * @param string name
    *        The WebGL parameter name, for example "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME".
    *        If unspecified, defaults to "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE".
    * @return any
    *         The corresponding parameter's value.
    */
-  _getFramebufferAttachmentParameter: function(type, name = "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE") {
+  _getFramebufferAttachmentParameter: function (type, name = "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE") {
     if (!this._getParameter("FRAMEBUFFER_BINDING")) {
       return null;
     }
     let gl = this._gl;
     return gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl[type], gl[name]);
   },
 
   /**
    * Returns the shader objects attached to a program object.
    *
    * @param WebGLProgram program
    *        The program for which to retrieve the attached shaders.
    * @return array
    *         The attached vertex and fragment shaders.
    */
-  _getAttachedShaders: function(program) {
+  _getAttachedShaders: function (program) {
     return this._gl.getAttachedShaders(program);
   },
 
   /**
    * Returns the source code string from a shader object.
    *
    * @param WebGLShader shader
    *        The shader for which to retrieve the source code.
    * @return string
    *         The shader's source code.
    */
-  _getShaderSource: function(shader) {
+  _getShaderSource: function (shader) {
     return this._gl.getShaderSource(shader);
   },
 
   /**
    * Finds a shader of the specified type in a list.
    *
    * @param WebGLShader[] shaders
    *        The shaders for which to check the type.
    * @param string type
    *        Either "vertex" or "fragment".
    * @return WebGLShader | null
    *         The shader of the specified type, or null if nothing is found.
    */
-  _getShaderOfType: function(shaders, type) {
+  _getShaderOfType: function (shaders, type) {
     let gl = this._gl;
     let shaderTypeEnum = {
       vertex: gl.VERTEX_SHADER,
       fragment: gl.FRAGMENT_SHADER
     }[type];
 
     for (let shader of shaders) {
       if (gl.getShaderParameter(shader, gl.SHADER_TYPE) == shaderTypeEnum) {
@@ -1274,17 +1274,17 @@ WebGLProxy.prototype = {
    *        The program who's linked shader is to be modified.
    * @param WebGLShader shader
    *        The shader to be modified.
    * @param string text
    *        The new shader source code.
    * @return object
    *         An object containing the compilation and linking status.
    */
-  _compileShader: function(program, shader, text) {
+  _compileShader: function (program, shader, text) {
     let gl = this._gl;
     gl.shaderSource(shader, text);
     gl.compileShader(shader);
     gl.linkProgram(program);
 
     let error = { compile: "", link: "" };
 
     if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
@@ -1298,17 +1298,17 @@ WebGLProxy.prototype = {
     this._cache.updateUniformsForProgram(program);
 
     return error;
   },
 
   /**
    * Enables color blending based on the geometry highlight tint.
    */
-  _enableHighlighting: function() {
+  _enableHighlighting: function () {
     let gl = this._gl;
 
     // Avoid changing the blending params when "rendering to texture".
 
     // Check drawing to a custom framebuffer bound to the default renderbuffer.
     let hasFramebuffer = this._getParameter("FRAMEBUFFER_BINDING");
     let hasRenderbuffer = this._getParameter("RENDERBUFFER_BINDING");
     if (hasFramebuffer && !hasRenderbuffer) {
@@ -1331,30 +1331,30 @@ WebGLProxy.prototype = {
     gl.blendFunc(gl.CONSTANT_COLOR, gl.ONE_MINUS_SRC_ALPHA, gl.CONSTANT_COLOR, gl.ZERO);
     this.wasHighlighting = true;
   },
 
   /**
    * Disables color blending based on the geometry highlight tint, by
    * reverting the corresponding params back to their original values.
    */
-  _disableHighlighting: function() {
+  _disableHighlighting: function () {
     let gl = this._gl;
     let s = this._cache.currentState;
 
     gl[s[gl.BLEND] ? "enable" : "disable"](gl.BLEND);
     gl.blendColor.apply(gl, s.blendColor);
     gl.blendEquationSeparate(s.blendEquationRgb, s.blendEquationAlpha);
     gl.blendFuncSeparate(s.blendSrcRgb, s.blendDstRgb, s.blendSrcAlpha, s.blendDstAlpha);
   },
 
   /**
    * Returns the pixel values at the position specified on the canvas.
    */
-  _readPixels: function(x, y, w, h, format, type, buffer) {
+  _readPixels: function (x, y, w, h, format, type, buffer) {
     this._gl.readPixels(x, y, w, h, format, type, buffer);
   },
 
   /**
    * The color tint used for highlighting geometry.
    * @see _enableHighlighting and _disableHighlighting.
    */
   highlightTint: [0, 0, 0, 0],
@@ -1367,17 +1367,17 @@ WebGLProxy.prototype = {
    *
    * @param string funcName
    *        The function to call.
    * @param array args
    *        An array of arguments.
    * @return any
    *         The called function result.
    */
-  _call: function(funcName, args) {
+  _call: function (funcName, args) {
     let prevState = this._observer.suppressHandlers;
 
     this._observer.suppressHandlers = true;
     let result = this["_" + funcName].apply(this, args);
     this._observer.suppressHandlers = prevState;
 
     return result;
   }
@@ -1386,17 +1386,17 @@ WebGLProxy.prototype = {
 // Utility functions.
 
 function removeFromMap(map, predicate) {
   for (let [key, value] of map) {
     if (predicate(value)) {
       map.delete(key);
     }
   }
-};
+}
 
 function removeFromArray(array, predicate) {
   for (let i = 0; i < array.length;) {
     if (predicate(array[i])) {
       array.splice(i, 1);
     } else {
       i++;
     }
--- a/devtools/server/actors/worker.js
+++ b/devtools/server/actors/worker.js
@@ -185,17 +185,17 @@ let WorkerActor = protocol.ActorClass({
       this._threadActor = null;
     }
 
     // If the worker is already destroyed, nsIWorkerDebugger.type throws
     // (_dbg.closed appears to be false when it throws)
     let type;
     try {
       type = this._dbg.type;
-    } catch(e) {}
+    } catch (e) {}
 
     if (type == Ci.nsIWorkerDebugger.TYPE_SERVICE) {
       let worker = this._getServiceWorkerInfo();
       if (worker) {
         worker.detachDebugger();
       }
     }
 
@@ -276,22 +276,22 @@ WorkerActorList.prototype = {
       if (this._onListChanged !== null && onListChanged === null) {
         wdm.removeListener(this);
       }
     }
     this._onListChanged = onListChanged;
   },
 
   _notifyListChanged: function () {
-     this._onListChanged();
+    this._onListChanged();
 
-     if (this._onListChanged !== null) {
-       wdm.removeListener(this);
-     }
-     this._mustNotify = false;
+    if (this._onListChanged !== null) {
+      wdm.removeListener(this);
+    }
+    this._mustNotify = false;
   },
 
   onRegister: function (dbg) {
     if (matchWorkerDebugger(dbg, this._options)) {
       this._notifyListChanged();
     }
   },
 
@@ -305,53 +305,53 @@ WorkerActorList.prototype = {
 exports.WorkerActorList = WorkerActorList;
 
 // Lazily load the service-worker-child.js process script only once.
 let _serviceWorkerProcessScriptLoaded = false;
 
 let ServiceWorkerRegistrationActor = protocol.ActorClass({
   typeName: "serviceWorkerRegistration",
 
-  initialize: function(conn, registration) {
+  initialize: function (conn, registration) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this._registration = registration;
     this.manage(this);
   },
 
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
     return {
       actor: this.actorID,
       scope: this._registration.scope,
       url: this._registration.scriptSpec
     };
   },
 
-  start: method(function() {
+  start: method(function () {
     if (!_serviceWorkerProcessScriptLoaded) {
       Services.ppmm.loadProcessScript(
         "resource://devtools/server/service-worker-child.js", true);
       _serviceWorkerProcessScriptLoaded = true;
     }
     Services.ppmm.broadcastAsyncMessage("serviceWorkerRegistration:start", {
       scope: this._registration.scope
     });
     return { type: "started" };
   }, {
     request: {},
     response: RetVal("json")
   }),
 
-  unregister: method(function() {
+  unregister: method(function () {
     let { principal, scope } = this._registration;
     let unregisterCallback = {
-      unregisterSucceeded: function() {},
-      unregisterFailed: function() {
+      unregisterSucceeded: function () {},
+      unregisterFailed: function () {
         console.error("Failed to unregister the service worker for " + scope);
       },
       QueryInterface: XPCOMUtils.generateQI(
         [Ci.nsIServiceWorkerUnregisterCallback])
     };
     swm.propagateUnregister(principal, unregisterCallback, scope);
 
     return { type: "unregistered" };
@@ -363,17 +363,17 @@ let ServiceWorkerRegistrationActor = pro
 
 function ServiceWorkerRegistrationActorList(conn) {
   this._conn = conn;
   this._actors = new Map();
   this._onListChanged = null;
   this._mustNotify = false;
   this.onRegister = this.onRegister.bind(this);
   this.onUnregister = this.onUnregister.bind(this);
-};
+}
 
 ServiceWorkerRegistrationActorList.prototype = {
   getList: function () {
     // Create a set of registrations.
     let registrations = new Set();
     let array = swm.getAllRegistrations();
     for (let index = 0; index < array.length; ++index) {
       registrations.add(
--- a/devtools/server/child.js
+++ b/devtools/server/child.js
@@ -1,118 +1,118 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 try {
 
-var chromeGlobal = this;
+  var chromeGlobal = this;
 
 // Encapsulate in its own scope to allows loading this frame script
 // more than once.
-(function () {
-  let Cu = Components.utils;
-  let { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-  const DevToolsUtils = require("devtools/shared/DevToolsUtils");
-  const { dumpn } = DevToolsUtils;
-  const { DebuggerServer, ActorPool } = require("devtools/server/main");
+  (function () {
+    let Cu = Components.utils;
+    let { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
+    const DevToolsUtils = require("devtools/shared/DevToolsUtils");
+    const { dumpn } = DevToolsUtils;
+    const { DebuggerServer, ActorPool } = require("devtools/server/main");
 
   // Note that this frame script may be evaluated in non-e10s build
   // In such case, DebuggerServer is already going to be initialized.
-  if (!DebuggerServer.initialized) {
-    DebuggerServer.init();
-    DebuggerServer.isInChildProcess = true;
-  }
+    if (!DebuggerServer.initialized) {
+      DebuggerServer.init();
+      DebuggerServer.isInChildProcess = true;
+    }
 
   // In case of apps being loaded in parent process, DebuggerServer is already
   // initialized, but child specific actors are not registered.
   // Otherwise, for apps in child process, we need to load actors the first
   // time we load child.js
-  DebuggerServer.addChildActors();
+    DebuggerServer.addChildActors();
 
-  let connections = new Map();
+    let connections = new Map();
 
-  let onConnect = DevToolsUtils.makeInfallible(function (msg) {
-    removeMessageListener("debug:connect", onConnect);
+    let onConnect = DevToolsUtils.makeInfallible(function (msg) {
+      removeMessageListener("debug:connect", onConnect);
 
-    let mm = msg.target;
-    let prefix = msg.data.prefix;
+      let mm = msg.target;
+      let prefix = msg.data.prefix;
 
-    let conn = DebuggerServer.connectToParent(prefix, mm);
-    conn.parentMessageManager = mm;
-    connections.set(prefix, conn);
+      let conn = DebuggerServer.connectToParent(prefix, mm);
+      conn.parentMessageManager = mm;
+      connections.set(prefix, conn);
 
-    let actor = new DebuggerServer.ContentActor(conn, chromeGlobal, prefix);
-    let actorPool = new ActorPool(conn);
-    actorPool.addActor(actor);
-    conn.addActorPool(actorPool);
+      let actor = new DebuggerServer.ContentActor(conn, chromeGlobal, prefix);
+      let actorPool = new ActorPool(conn);
+      actorPool.addActor(actor);
+      conn.addActorPool(actorPool);
 
-    sendAsyncMessage("debug:actor", {actor: actor.form(), prefix: prefix});
-  });
+      sendAsyncMessage("debug:actor", {actor: actor.form(), prefix: prefix});
+    });
 
-  addMessageListener("debug:connect", onConnect);
+    addMessageListener("debug:connect", onConnect);
 
   // Allows executing module setup helper from the parent process.
   // See also: DebuggerServer.setupInChild()
-  let onSetupInChild = DevToolsUtils.makeInfallible(msg => {
-    let { module, setupChild, args } = msg.data;
-    let m, fn;
+    let onSetupInChild = DevToolsUtils.makeInfallible(msg => {
+      let { module, setupChild, args } = msg.data;
+      let m, fn;
+
+      try {
+        m = require(module);
 
-    try {
-      m = require(module);
+        if (!setupChild in m) {
+          dumpn("ERROR: module '" + module + "' does not export '" +
+              setupChild + "'");
+          return false;
+        }
 
-      if (!setupChild in m) {
-        dumpn("ERROR: module '" + module + "' does not export '" +
-              setupChild + "'");
+        m[setupChild].apply(m, args);
+
+      } catch (e) {
+        let error_msg = "exception during actor module setup running in the child process: ";
+        DevToolsUtils.reportException(error_msg + e);
+        dumpn("ERROR: " + error_msg + " \n\t module: '" + module +
+            "' \n\t setupChild: '" + setupChild + "'\n" +
+            DevToolsUtils.safeErrorString(e));
         return false;
       }
-
-      m[setupChild].apply(m, args);
+      if (msg.data.id) {
+      // Send a message back to know when it is processed
+        sendAsyncMessage("debug:setup-in-child-response",
+                       {id: msg.data.id});
+      }
+      return true;
+    });
 
-    } catch(e) {
-      let error_msg = "exception during actor module setup running in the child process: ";
-      DevToolsUtils.reportException(error_msg + e);
-      dumpn("ERROR: " + error_msg + " \n\t module: '" + module +
-            "' \n\t setupChild: '" + setupChild + "'\n" +
-            DevToolsUtils.safeErrorString(e));
-      return false;
-    }
-    if (msg.data.id) {
-      // Send a message back to know when it is processed
-      sendAsyncMessage("debug:setup-in-child-response",
-                       {id: msg.data.id});
-    }
-    return true;
-  });
+    addMessageListener("debug:setup-in-child", onSetupInChild);
 
-  addMessageListener("debug:setup-in-child", onSetupInChild);
-
-  let onDisconnect = DevToolsUtils.makeInfallible(function (msg) {
-    removeMessageListener("debug:disconnect", onDisconnect);
+    let onDisconnect = DevToolsUtils.makeInfallible(function (msg) {
+      removeMessageListener("debug:disconnect", onDisconnect);
 
     // Call DebuggerServerConnection.close to destroy all child actors
     // (It should end up calling DebuggerServerConnection.onClosed
     // that would actually cleanup all actor pools)
-    let prefix = msg.data.prefix;
-    let conn = connections.get(prefix);
-    if (conn) {
-      conn.close();
-      connections.delete(prefix);
-    }
-  });
-  addMessageListener("debug:disconnect", onDisconnect);
+      let prefix = msg.data.prefix;
+      let conn = connections.get(prefix);
+      if (conn) {
+        conn.close();
+        connections.delete(prefix);
+      }
+    });
+    addMessageListener("debug:disconnect", onDisconnect);
 
-  let onInspect = DevToolsUtils.makeInfallible(function(msg) {
+    let onInspect = DevToolsUtils.makeInfallible(function (msg) {
     // Store the node to be inspected in a global variable
     // (gInspectingNode). Later we'll fetch this variable again using
     // the findInspectingNode request over the remote debugging
     // protocol.
-    let inspector = require("devtools/server/actors/inspector");
-    inspector.setInspectingNode(msg.objects.node);
-  });
-  addMessageListener("debug:inspect", onInspect);
-})();
+      let inspector = require("devtools/server/actors/inspector");
+      inspector.setInspectingNode(msg.objects.node);
+    });
+    addMessageListener("debug:inspect", onInspect);
+  })();
 
-} catch(e) {
+} catch (e) {
   dump("Exception in app child process: " + e + "\n");
 }
--- a/devtools/server/content-globals.js
+++ b/devtools/server/content-globals.js
@@ -3,45 +3,45 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { Ci } = require("chrome");
 const Services = require("Services");
 
 var globalsCache = {};
 
-exports.addContentGlobal = function(options) {
-  if (!options || !options.global || !options['inner-window-id']) {
-    throw Error('Invalid arguments');
+exports.addContentGlobal = function (options) {
+  if (!options || !options.global || !options["inner-window-id"]) {
+    throw Error("Invalid arguments");
   }
-  let cache = getGlobalCache(options['inner-window-id']);
+  let cache = getGlobalCache(options["inner-window-id"]);
   cache.push(options.global);
   return undefined;
-}
+};
 
-exports.getContentGlobals = function(options) {
-  if (!options || !options['inner-window-id']) {
-    throw Error('Invalid arguments');
+exports.getContentGlobals = function (options) {
+  if (!options || !options["inner-window-id"]) {
+    throw Error("Invalid arguments");
   }
-  return Array.slice(globalsCache[options['inner-window-id']] || []);
-}
+  return Array.slice(globalsCache[options["inner-window-id"]] || []);
+};
 
-exports.removeContentGlobal = function(options) {
-  if (!options || !options.global || !options['inner-window-id']) {
-    throw Error('Invalid arguments');
+exports.removeContentGlobal = function (options) {
+  if (!options || !options.global || !options["inner-window-id"]) {
+    throw Error("Invalid arguments");
   }
-  let cache = getGlobalCache(options['inner-window-id']);
+  let cache = getGlobalCache(options["inner-window-id"]);
   let index = cache.indexOf(options.global);
   cache.splice(index, 1);
   return undefined;
-}
+};
 
 function getGlobalCache(aInnerWindowID) {
   return globalsCache[aInnerWindowID] = globalsCache[aInnerWindowID] || [];
 }
 
 // when the window is destroyed, eliminate the associated globals cache
 if (!isWorker) {
   Services.obs.addObserver(function observer(subject, topic, data) {
     let id = subject.QueryInterface(Ci.nsISupportsPRUint64).data;
     delete globalsCache[id];
-  }, 'inner-window-destroyed', false);
+  }, "inner-window-destroyed", false);
 }
--- a/devtools/server/main.js
+++ b/devtools/server/main.js
@@ -25,17 +25,17 @@ var Promise = require("promise");
 DevToolsUtils.defineLazyGetter(this, "DebuggerSocket", () => {
   let { DebuggerSocket } = require("devtools/shared/security/socket");
   return DebuggerSocket;
 });
 DevToolsUtils.defineLazyGetter(this, "Authentication", () => {
   return require("devtools/shared/security/auth");
 });
 DevToolsUtils.defineLazyGetter(this, "generateUUID", () => {
-  let { generateUUID } = Cc['@mozilla.org/uuid-generator;1'].getService(Ci.nsIUUIDGenerator);
+  let { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
   return generateUUID;
 });
 
 // On B2G, `this` != Global scope, so `Ci` won't be binded on `this`
 // (i.e. this.Ci is undefined) Then later, when using loadSubScript,
 // Ci,... won't be defined for sub scripts.
 this.Ci = Ci;
 this.Cc = Cc;
@@ -46,17 +46,17 @@ this.Services = Services;
 this.ActorPool = ActorPool;
 this.DevToolsUtils = DevToolsUtils;
 this.dumpn = dumpn;
 this.dumpv = dumpv;
 
 // Overload `Components` to prevent SDK loader exception on Components
 // object usage
 Object.defineProperty(this, "Components", {
-  get: function() {
+  get: function () {
     return require("chrome").components;
   }
 });
 
 if (isWorker) {
   dumpn.wantLogging = true;
   dumpv.wantVerbose = true;
 } else {
@@ -70,17 +70,17 @@ if (isWorker) {
 }
 
 function loadSubScript(aURL)
 {
   try {
     let loader = Cc["@mozilla.org/moz/jssubscript-loader;1"]
       .getService(Ci.mozIJSSubScriptLoader);
     loader.loadSubScript(aURL, this);
-  } catch(e) {
+  } catch (e) {
     let errorStr = "Error loading: " + aURL + ":\n" +
                    (e.fileName ? "at " + e.fileName + " : " + e.lineNumber + "\n" : "") +
                    e + " - " + e.stack + "\n";
     dump(errorStr);
     reportError(errorStr);
     throw e;
   }
 }
@@ -104,58 +104,58 @@ var gRegisteredModules = Object.create(n
  * destroyed.
  */
 function ModuleAPI() {
   let activeTabActors = new Set();
   let activeGlobalActors = new Set();
 
   return {
     // See DebuggerServer.setRootActor for a description.
-    setRootActor: function(factory) {
+    setRootActor: function (factory) {
       DebuggerServer.setRootActor(factory);
     },
 
     // See DebuggerServer.addGlobalActor for a description.
-    addGlobalActor: function(factory, name) {
+    addGlobalActor: function (factory, name) {
       DebuggerServer.addGlobalActor(factory, name);
       activeGlobalActors.add(factory);
     },
     // See DebuggerServer.removeGlobalActor for a description.
-    removeGlobalActor: function(factory) {
+    removeGlobalActor: function (factory) {
       DebuggerServer.removeGlobalActor(factory);
       activeGlobalActors.delete(factory);
     },
 
     // See DebuggerServer.addTabActor for a description.
-    addTabActor: function(factory, name) {
+    addTabActor: function (factory, name) {
       DebuggerServer.addTabActor(factory, name);
       activeTabActors.add(factory);
     },
     // See DebuggerServer.removeTabActor for a description.
-    removeTabActor: function(factory) {
+    removeTabActor: function (factory) {
       DebuggerServer.removeTabActor(factory);
       activeTabActors.delete(factory);
     },
 
     // Destroy the module API object, unregistering any
     // factories registered by the module.
-    destroy: function() {
+    destroy: function () {
       for (let factory of activeTabActors) {
         DebuggerServer.removeTabActor(factory);
       }
       activeTabActors = null;
       for (let factory of activeGlobalActors) {
         DebuggerServer.removeGlobalActor(factory);
       }
       activeGlobalActors = null;
     }
   };
-};
+}
 
-/***
+/** *
  * Public API
  */
 var DebuggerServer = {
   _listeners: [],
   _initialized: false,
   // Map of global actor names to actor constructors provided by extensions.
   globalActorFactories: {},
   // Map of tab actor names to actor constructors provided by extensions.
@@ -283,28 +283,28 @@ var DebuggerServer = {
    *        - type (a dictionary of booleans with following attribute names):
    *          - "global"
    *            registers a global actor instance, if true.
    *            A global actor has the root actor as its parent.
    *          - "tab"
    *            registers a tab actor instance, if true.
    *            A new actor will be created for each tab and each app.
    */
-  registerModule: function(id, options) {
+  registerModule: function (id, options) {
     if (id in gRegisteredModules) {
       throw new Error("Tried to register a module twice: " + id + "\n");
     }
 
     if (options) {
       // Lazy loaded actors
       let {prefix, constructor, type} = options;
-      if (typeof(prefix) !== "string") {
+      if (typeof (prefix) !== "string") {
         throw new Error("Lazy actor definition for '" + id + "' requires a string 'prefix' option.");
       }
-      if (typeof(constructor) !== "string") {
+      if (typeof (constructor) !== "string") {
         throw new Error("Lazy actor definition for '" + id + "' requires a string 'constructor' option.");
       }
       if (!("global" in type) && !("tab" in type)) {
         throw new Error("Lazy actor definition for '" + id + "' requires a dictionary 'type' option whose attributes can be 'global' or 'tab'.");
       }
       let name = prefix + "Actor";
       let mod = {
         id: id,
@@ -331,24 +331,24 @@ var DebuggerServer = {
         api: moduleAPI
       };
     }
   },
 
   /**
    * Returns true if a module id has been registered.
    */
-  isModuleRegistered: function(id) {
+  isModuleRegistered: function (id) {
     return (id in gRegisteredModules);
   },
 
   /**
    * Unregister a previously-loaded CommonJS module from the debugger server.
    */
-  unregisterModule: function(id) {
+  unregisterModule: function (id) {
     let mod = gRegisteredModules[id];
     if (!mod) {
       throw new Error("Tried to unregister a module that was not previously registered.");
     }
 
     // Lazy actors
     if (mod.tabActor) {
       this.removeTabActor(mod);
@@ -371,17 +371,17 @@ var DebuggerServer = {
    *
    * /!\ Be careful when adding a new actor, especially global actors.
    * Any new global actor will be exposed and returned by the root actor.
    *
    * That's the reason why tab actors aren't loaded on demand via
    * restrictPrivileges=true, to prevent exposing them on b2g parent process's
    * root actor.
    */
-  addBrowserActors: function(aWindowType = "navigator:browser", restrictPrivileges = false) {
+  addBrowserActors: function (aWindowType = "navigator:browser", restrictPrivileges = false) {
     this.chromeWindowType = aWindowType;
     this.registerModule("devtools/server/actors/webbrowser");
 
     if (!restrictPrivileges) {
       this.addTabActors();
       this.registerModule("devtools/server/actors/preference", {
         prefix: "preference",
         constructor: "PreferenceActor",
@@ -439,17 +439,17 @@ var DebuggerServer = {
     if (!("ContentActor" in this)) {
       this.addActors("resource://devtools/server/actors/childtab.js");
     }
   },
 
   /**
    * Install tab actors.
    */
-  addTabActors: function() {
+  addTabActors: function () {
     this.registerModule("devtools/server/actors/webconsole", {
       prefix: "console",
       constructor: "WebConsoleActor",
       type: { tab: true }
     });
     this.registerModule("devtools/server/actors/inspector", {
       prefix: "inspector",
       constructor: "InspectorActor",
@@ -607,47 +607,47 @@ var DebuggerServer = {
    * options.
    *
    * @return SocketListener
    *         A SocketListener instance that is waiting to be configured and
    *         opened is returned.  This single listener can be closed at any
    *         later time by calling |close| on the SocketListener.  If remote
    *         connections are disabled, an error is thrown.
    */
-  createListener: function() {
+  createListener: function () {
     if (!Services.prefs.getBoolPref("devtools.debugger.remote-enabled")) {
       throw new Error("Can't create listener, remote debugging disabled");
     }
     this._checkInit();
     return DebuggerSocket.createListener();
   },
 
   /**
    * Add a SocketListener instance to the server's set of active
    * SocketListeners.  This is called by a SocketListener after it is opened.
    */
-  _addListener: function(listener) {
+  _addListener: function (listener) {
     this._listeners.push(listener);
   },
 
   /**
    * Remove a SocketListener instance from the server's set of active
    * SocketListeners.  This is called by a SocketListener after it is closed.
    */
-  _removeListener: function(listener) {
+  _removeListener: function (listener) {
     this._listeners = this._listeners.filter(l => l !== listener);
   },
 
   /**
    * Closes and forgets all previously opened listeners.
    *
    * @return boolean
    *         Whether any listeners were actually closed.
    */
-  closeAllListeners: function() {
+  closeAllListeners: function () {
     if (!this.listeningSockets) {
       return false;
     }
 
     for (let listener of this._listeners) {
       listener.close();
     }
 
@@ -698,17 +698,17 @@ var DebuggerServer = {
    * nsIMessageSender messages with our parent process.
    *
    * @param aPrefix
    *    The prefix we should use in our nsIMessageSender message names and
    *    actor names. This connection will use messages named
    *    "debug:<prefix>:packet", and all its actors will have names
    *    beginning with "<prefix>/".
    */
-  connectToParent: function(aPrefix, aScopeOrManager) {
+  connectToParent: function (aPrefix, aScopeOrManager) {
     this._checkInit();
 
     let transport = isWorker ?
                     new WorkerDebuggerTransport(aScopeOrManager, aPrefix) :
                     new ChildDebuggerTransport(aScopeOrManager, aPrefix);
 
     return this._onConnection(transport, aPrefix, true);
   },
@@ -753,17 +753,17 @@ var DebuggerServer = {
         // been created. We need to stop using this message manager.
         childTransport.close();
         childTransport = null;
         aConnection.cancelForwarding(prefix);
 
         // ... and notify the child process to clean the tab actors.
         try {
           aMm.sendAsyncMessage("debug:content-process-destroy");
-        } catch(e) {}
+        } catch (e) {}
       }
     }
 
     let onMessageManagerClose = DevToolsUtils.makeInfallible(function (subject, topic, data) {
       if (subject == aMm) {
         onClose();
         aConnection.send({ from: actor.actor, type: "tabDetached" });
       }
@@ -909,25 +909,25 @@ var DebuggerServer = {
    *        The module to be required
    * @param setupChild
    *        The name of the setup helper exported by the above module
    *        (setup helper signature: function ({mm}) { ... })
    * @param waitForEval (optional)
    *        If true, the returned promise only resolves once code in child
    *        is evaluated
    */
-  setupInChild: function({ module, setupChild, args, waitForEval }) {
+  setupInChild: function ({ module, setupChild, args, waitForEval }) {
     if (this.isInChildProcess || this._childMessageManagers.size == 0) {
       return Promise.resolve();
     }
     let deferred = Promise.defer();
 
     // If waitForEval is set, pass a unique id and expect child.js to send
     // a message back once the code in child is evaluated.
-    if (typeof(waitForEval) != "boolean") {
+    if (typeof (waitForEval) != "boolean") {
       waitForEval = false;
     }
     let count = this._childMessageManagers.size;
     let id = waitForEval ? generateUUID().toString() : null;
 
     this._childMessageManagers.forEach(mm => {
       if (waitForEval) {
         // Listen for the end of each child execution
@@ -972,17 +972,17 @@ var DebuggerServer = {
    * @param function [aOnDestroy]
    *        Optional function to invoke when the child process closes
    *        or the connection shuts down. (Need to forget about the
    *        related TabActor)
    * @return object
    *         A promise object that is resolved once the connection is
    *         established.
    */
-  connectToChild: function(aConnection, aFrame, aOnDestroy) {
+  connectToChild: function (aConnection, aFrame, aOnDestroy) {
     let deferred = defer();
 
     let mm = aFrame.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader
              .messageManager;
     mm.loadFrameScript("resource://devtools/server/child.js", false);
     this._childMessageManagers.add(mm);
 
     let actor, childTransport;
@@ -1008,17 +1008,17 @@ var DebuggerServer = {
         if (!setupParent in m) {
           dumpn("ERROR: module '" + module + "' does not export '" + setupParent + "'");
           return false;
         }
 
         m[setupParent]({ mm: mm, prefix: prefix });
 
         return true;
-      } catch(e) {
+      } catch (e) {
         let error_msg = "exception during actor module setup running in the parent process: ";
         DevToolsUtils.reportException(error_msg + e);
         dumpn("ERROR: " + error_msg + " \n\t module: '" + module + "' \n\t setupParent: '" + setupParent + "'\n" +
               DevToolsUtils.safeErrorString(e));
         return false;
       }
     };
     mm.addMessageListener("debug:setup-in-parent", onSetupInParent);
@@ -1064,17 +1064,17 @@ var DebuggerServer = {
         childTransport = null;
         aConnection.cancelForwarding(prefix);
 
         // ... and notify the child process to clean the tab actors.
         try {
           // Bug 1169643: Ignore any exception as the child process
           // may already be destroyed by now.
           mm.sendAsyncMessage("debug:disconnect", { prefix: prefix });
-        } catch(e) {}
+        } catch (e) {}
       } else {
         // Otherwise, the app has been closed before the actor
         // had a chance to be created, so we are not able to create
         // the actor.
         deferred.resolve(null);
       }
       if (actor) {
         // The ContentActor within the child process doesn't necessary
@@ -1136,17 +1136,17 @@ var DebuggerServer = {
     let connID;
     if (aForwardingPrefix) {
       connID = aForwardingPrefix + "/";
     } else {
       // Multiple servers can be started at the same time, and when that's the
       // case, they are loaded in separate devtools loaders.
       // So, use the current loader ID to prefix the connection ID and make it
       // unique.
-      connID = "server" + loader.id + ".conn" + this._nextConnID++ + '.';
+      connID = "server" + loader.id + ".conn" + this._nextConnID++ + ".";
     }
 
     let conn = new DebuggerServerConnection(connID, aTransport);
     this._connections[connID] = conn;
 
     // Create a root actor for the connection and send the hello packet.
     if (!aNoRootActor) {
       conn.rootActor = this.createRootActor(conn);
@@ -1366,46 +1366,46 @@ function DebuggerServerConnection(aPrefi
    * to transports: it maps a prefix P to a transport T if T conveys
    * packets to the server whose actors' names all begin with P + "/".
    */
   this._forwardingPrefixes = new Map;
 }
 
 DebuggerServerConnection.prototype = {
   _prefix: null,
-  get prefix() { return this._prefix },
+  get prefix() { return this._prefix; },
 
   _transport: null,
-  get transport() { return this._transport },
+  get transport() { return this._transport; },
 
   /**
    * Message manager used to communicate with the parent process,
    * set by child.js. Is only defined for connections instantiated
    * within a child process.
    */
   parentMessageManager: null,
 
-  close: function() {
+  close: function () {
     this._transport.close();
   },
 
   send: function DSC_send(aPacket) {
     this.transport.send(aPacket);
   },
 
   /**
    * Used when sending a bulk reply from an actor.
    * @see DebuggerTransport.prototype.startBulkSend
    */
-  startBulkSend: function(header) {
+  startBulkSend: function (header) {
     return this.transport.startBulkSend(header);
   },
 
   allocID: function DSC_allocID(aPrefix) {
-    return this.prefix + (aPrefix || '') + this._nextID++;
+    return this.prefix + (aPrefix || "") + this._nextID++;
   },
 
   /**
    * Add a map of actor IDs to the connection.
    */
   addActorPool: function DSC_addActorPool(aActorPool) {
     this._extraPools.push(aActorPool);
   },
@@ -1419,17 +1419,17 @@ DebuggerServerConnection.prototype = {
    *        True if you don't want to disconnect each actor from the pool, false
    *        otherwise.
    */
   removeActorPool: function DSC_removeActorPool(aActorPool, aNoCleanup) {
     let index = this._extraPools.lastIndexOf(aActorPool);
     if (index > -1) {
       let pool = this._extraPools.splice(index, 1);
       if (!aNoCleanup) {
-        pool.map(function(p) { p.destroy(); });
+        pool.map(function (p) { p.destroy(); });
       }
     }
   },
 
   /**
    * Add an actor to the default actor pool for this connection.
    */
   addActor: function DSC_addActor(aActor) {
@@ -1441,17 +1441,17 @@ DebuggerServerConnection.prototype = {
    */
   removeActor: function DSC_removeActor(aActor) {
     this._actorPool.removeActor(aActor);
   },
 
   /**
    * Match the api expected by the protocol library.
    */
-  unmanage: function(aActor) {
+  unmanage: function (aActor) {
     return this.removeActor(aActor);
   },
 
   /**
    * Look up an actor implementation for an actorID.  Will search
    * all the actor pools registered with the connection.
    *
    * @param aActorID string
@@ -1465,35 +1465,35 @@ DebuggerServerConnection.prototype = {
 
     if (aActorID === "root") {
       return this.rootActor;
     }
 
     return null;
   },
 
-  _getOrCreateActor: function(actorID) {
+  _getOrCreateActor: function (actorID) {
     let actor = this.getActor(actorID);
     if (!actor) {
       this.transport.send({ from: actorID ? actorID : "root",
                             error: "noSuchActor",
                             message: "No such actor for ID: " + actorID });
       return;
     }
 
     // Dynamically-loaded actors have to be created lazily.
     if (actor instanceof ObservedActorFactory) {
       try {
-        actor= actor.createActor();
+        actor = actor.createActor();
       } catch (e) {
         this.transport.send(this._unknownError(
           "Error occurred while creating actor '" + actor.name,
           e));
       }
-    } else if (typeof(actor) !== "object") {
+    } else if (typeof (actor) !== "object") {
       // ActorPools should now contain only actor instances (i.e. objects)
       // or ObservedActorFactory instances.
       throw new Error("Unexpected actor constructor/function in ActorPool " +
                       "for actorID=" + actorID + ".");
     }
 
     return actor;
   },
@@ -1512,17 +1512,17 @@ DebuggerServerConnection.prototype = {
     reportError(errorString);
     dumpn(errorString);
     return {
       error: "unknownError",
       message: errorString
     };
   },
 
-  _queueResponse: function(from, type, response) {
+  _queueResponse: function (from, type, response) {
     let pendingResponse = this._actorResponses.get(from) || resolve(null);
     let responsePromise = pendingResponse.then(() => {
       return response;
     }).then(aResponse => {
       if (!aResponse.from) {
         aResponse.from = from;
       }
       this.transport.send(aResponse);
@@ -1574,25 +1574,25 @@ DebuggerServerConnection.prototype = {
    * This overrides any prior forwarding for |aPrefix|.
    *
    * @param aPrefix string
    *    The actor name prefix, not including the '/'.
    * @param aTransport object
    *    A packet transport to which we should forward packets to actors
    *    whose names begin with |(aPrefix + '/').|
    */
-  setForwarding: function(aPrefix, aTransport) {
+  setForwarding: function (aPrefix, aTransport) {
     this._forwardingPrefixes.set(aPrefix, aTransport);
   },
 
   /*
    * Stop forwarding messages to actors whose names begin with
    * |aPrefix+'/'|. Such messages will now elicit 'noSuchActor' errors.
    */
-  cancelForwarding: function(aPrefix) {
+  cancelForwarding: function (aPrefix) {
     this._forwardingPrefixes.delete(aPrefix);
   },
 
   sendActorEvent: function (actorID, eventName, event = {}) {
     event.from = actorID;
     event.type = eventName;
     this.send(event);
   },
@@ -1609,25 +1609,25 @@ DebuggerServerConnection.prototype = {
     // If the actor's name begins with a prefix we've been asked to
     // forward, do so.
     //
     // Note that the presence of a prefix alone doesn't indicate that
     // forwarding is needed: in DebuggerServerConnection instances in child
     // processes, every actor has a prefixed name.
     if (this._forwardingPrefixes.size > 0) {
       let to = aPacket.to;
-      let separator = to.lastIndexOf('/');
+      let separator = to.lastIndexOf("/");
       while (separator >= 0) {
         to = to.substring(0, separator);
         let forwardTo = this._forwardingPrefixes.get(aPacket.to.substring(0, separator));
         if (forwardTo) {
           forwardTo.send(aPacket);
           return;
         }
-        separator = to.lastIndexOf('/');
+        separator = to.lastIndexOf("/");
       }
     }
 
     let actor = this._getOrCreateActor(aPacket.to);
     if (!actor) {
       return;
     }
 
@@ -1636,17 +1636,17 @@ DebuggerServerConnection.prototype = {
     // handle "requestTypes" RDP request.
     if (aPacket.type == "requestTypes") {
       ret = { from: actor.actorID, requestTypes: Object.keys(actor.requestTypes) };
     } else if (actor.requestTypes && actor.requestTypes[aPacket.type]) {
       // Dispatch the request to the actor.
       try {
         this.currentPacket = aPacket;
         ret = actor.requestTypes[aPacket.type].bind(actor)(aPacket, this);
-      } catch(e) {
+      } catch (e) {
         this.transport.send(this._unknownError(
           "error occurred while processing '" + aPacket.type,
           e));
       } finally {
         this.currentPacket = undefined;
       }
     } else {
       ret = { error: "unrecognizedPacketType",
@@ -1686,30 +1686,30 @@ DebuggerServerConnection.prototype = {
    *          @param  output nsIAsyncOutputStream
    *                  The stream to copy to.
    *          @return Promise
    *                  The promise is resolved when copying completes or rejected
    *                  if any (unexpected) errors occur.
    *                  This object also emits "progress" events for each chunk
    *                  that is copied.  See stream-utils.js.
    */
-  onBulkPacket: function(packet) {
+  onBulkPacket: function (packet) {
     let { actor: actorKey, type, length } = packet;
 
     let actor = this._getOrCreateActor(actorKey);
     if (!actor) {
       return;
     }
 
     // Dispatch the request to the actor.
     let ret;
     if (actor.requestTypes && actor.requestTypes[type]) {
       try {
         ret = actor.requestTypes[type].call(actor, packet);
-      } catch(e) {
+      } catch (e) {
         this.transport.send(this._unknownError(
           "error occurred while processing bulk packet '" + type, e));
         packet.done.reject(e);
       }
     } else {
       let message = "Actor " + actorKey +
                     " does not recognize the bulk packet type " + type;
       ret = { error: "unrecognizedPacketType",
@@ -1735,17 +1735,17 @@ DebuggerServerConnection.prototype = {
     if (!this._actorPool) {
       // Ignore this call if the connection is already closed.
       return;
     }
     this._actorPool = null;
 
     events.emit(this, "closed", aStatus);
 
-    this._extraPools.map(function(p) { p.destroy(); });
+    this._extraPools.map(function (p) { p.destroy(); });
     this._extraPools = null;
 
     this.rootActor = null;
     this._transport = null;
     DebuggerServer._connectionClosed(this);
   },
 
   /*
@@ -1781,17 +1781,17 @@ DebuggerServerConnection.prototype = {
    * @param module
    *        The module to be required
    * @param setupParent
    *        The name of the setup helper exported by the above module
    *        (setup helper signature: function ({mm}) { ... })
    * @return boolean
    *         true if the setup helper returned successfully
    */
-  setupInParent: function({ module, setupParent }) {
+  setupInParent: function ({ module, setupParent }) {
     if (!this.parentMessageManager) {
       return false;
     }
 
     let { sendSyncMessage } = this.parentMessageManager;
 
     return sendSyncMessage("debug:setup-in-parent", {
       prefix: this.prefix,
--- a/devtools/server/performance/framerate.js
+++ b/devtools/server/performance/framerate.js
@@ -14,17 +14,17 @@ const { Class } = require("sdk/core/heri
 var Framerate = exports.Framerate = Class({
   initialize: function (tabActor) {
     this.tabActor = tabActor;
     this._contentWin = tabActor.window;
     this._onRefreshDriverTick = this._onRefreshDriverTick.bind(this);
     this._onGlobalCreated = this._onGlobalCreated.bind(this);
     on(this.tabActor, "window-ready", this._onGlobalCreated);
   },
-  destroy: function(conn) {
+  destroy: function (conn) {
     off(this.tabActor, "window-ready", this._onGlobalCreated);
     this.stopRecording();
   },
 
   /**
    * Starts monitoring framerate, storing the frames per second.
    */
   startRecording: function () {
--- a/devtools/server/performance/memory.js
+++ b/devtools/server/performance/memory.js
@@ -48,17 +48,17 @@ var Memory = exports.Memory = Class({
 
     this._onGarbageCollection = this._onGarbageCollection.bind(this);
     this._emitAllocations = this._emitAllocations.bind(this);
     this._onWindowReady = this._onWindowReady.bind(this);
 
     events.on(this.parent, "window-ready", this._onWindowReady);
   },
 
-  destroy: function() {
+  destroy: function () {
     events.off(this.parent, "window-ready", this._onWindowReady);
 
     this._mgr = null;
     if (this.state === "attached") {
       this.detach();
     }
   },
 
@@ -71,59 +71,59 @@ var Memory = exports.Memory = Class({
 
   /**
    * Attach to this MemoryBridge.
    *
    * This attaches the MemoryBridge's Debugger instance so that you can start
    * recording allocations or take a census of the heap. In addition, the
    * MemoryBridge will start emitting GC events.
    */
-  attach: expectState("detached", function() {
+  attach: expectState("detached", function () {
     this.dbg.addDebuggees();
     this.dbg.memory.onGarbageCollection = this._onGarbageCollection.bind(this);
     this.state = "attached";
-  }, `attaching to the debugger`),
+  }, "attaching to the debugger"),
 
   /**
    * Detach from this MemoryBridge.
    */
-  detach: expectState("attached", function() {
+  detach: expectState("attached", function () {
     this._clearDebuggees();
     this.dbg.enabled = false;
     this._dbg = null;
     this.state = "detached";
-  }, `detaching from the debugger`),
+  }, "detaching from the debugger"),
 
   /**
    * Gets the current MemoryBridge attach/detach state.
    */
   getState: function () {
     return this.state;
   },
 
-  _clearDebuggees: function() {
+  _clearDebuggees: function () {
     if (this._dbg) {
       if (this.isRecordingAllocations()) {
         this.dbg.memory.drainAllocationsLog();
       }
       this._clearFrames();
       this.dbg.removeAllDebuggees();
     }
   },
 
-  _clearFrames: function() {
+  _clearFrames: function () {
     if (this.isRecordingAllocations()) {
       this._frameCache.clearFrames();
     }
   },
 
   /**
    * Handler for the parent actor's "window-ready" event.
    */
-  _onWindowReady: function({ isTopLevel }) {
+  _onWindowReady: function ({ isTopLevel }) {
     if (this.state == "attached") {
       if (isTopLevel && this.isRecordingAllocations()) {
         this._clearDebuggees();
         this._frameCache.initFrames();
       }
       this.dbg.addDebuggees();
     }
   },
@@ -151,36 +151,36 @@ var Memory = exports.Memory = Class({
     const path = ThreadSafeChromeUtils.saveHeapSnapshot(opts);
     return HeapSnapshotFileUtils.getSnapshotIdFromPath(path);
   }, "saveHeapSnapshot"),
 
   /**
    * Take a census of the heap. See js/src/doc/Debugger/Debugger.Memory.md for
    * more information.
    */
-  takeCensus: expectState("attached", function() {
+  takeCensus: expectState("attached", function () {
     return this.dbg.memory.takeCensus();
-  }, `taking census`),
+  }, "taking census"),
 
   /**
    * Start recording allocation sites.
    *
    * @param {number} options.probability
    *                 The probability we sample any given allocation when recording allocations.
    *                 Must be between 0 and 1 -- defaults to 1.
    * @param {number} options.maxLogLength
    *                 The maximum number of allocation events to keep in the
    *                 log. If new allocs occur while at capacity, oldest
    *                 allocations are lost. Must fit in a 32 bit signed integer.
    * @param {number} options.drainAllocationsTimeout
    *                 A number in milliseconds of how often, at least, an `allocation` event
    *                 gets emitted (and drained), and also emits and drains on every GC event,
    *                 resetting the timer.
    */
-  startRecordingAllocations: expectState("attached", function(options = {}) {
+  startRecordingAllocations: expectState("attached", function (options = {}) {
     if (this.isRecordingAllocations()) {
       return this._getCurrentTime();
     }
 
     this._frameCache.initFrames();
 
     this.dbg.memory.allocationSamplingProbability = options.probability != null
       ? options.probability
@@ -197,46 +197,46 @@ var Memory = exports.Memory = Class({
     }
 
     if (options.maxLogLength != null) {
       this.dbg.memory.maxAllocationsLogLength = options.maxLogLength;
     }
     this.dbg.memory.trackingAllocationSites = true;
 
     return this._getCurrentTime();
-  }, `starting recording allocations`),
+  }, "starting recording allocations"),
 
   /**
    * Stop recording allocation sites.
    */
-  stopRecordingAllocations: expectState("attached", function() {
+  stopRecordingAllocations: expectState("attached", function () {
     if (!this.isRecordingAllocations()) {
       return this._getCurrentTime();
     }
     this.dbg.memory.trackingAllocationSites = false;
     this._clearFrames();
 
     if (this._poller) {
       this._poller.disarm();
       this._poller = null;
     }
 
     return this._getCurrentTime();
-  }, `stopping recording allocations`),
+  }, "stopping recording allocations"),
 
   /**
    * Return settings used in `startRecordingAllocations` for `probability`
    * and `maxLogLength`. Currently only uses in tests.
    */
-  getAllocationsSettings: expectState("attached", function() {
+  getAllocationsSettings: expectState("attached", function () {
     return {
       maxLogLength: this.dbg.memory.maxAllocationsLogLength,
       probability: this.dbg.memory.allocationSamplingProbability
     };
-  }, `getting allocations settings`),
+  }, "getting allocations settings"),
 
   /**
    * Get a list of the most recent allocations since the last time we got
    * allocations, as well as a summary of all allocations since we've been
    * recording.
    *
    * @returns Object
    *          An object of the form:
@@ -283,27 +283,27 @@ var Memory = exports.Memory = Class({
    *
    *          In the future, we might want to split out a frame's "source" and
    *          "functionDisplayName" properties out the same way we have split
    *          frames out with the "frames" array. While this would further
    *          compress the size of the response packet, it would increase CPU
    *          usage to build the packet, and it should, of course, be guided by
    *          profiling and done only when necessary.
    */
-  getAllocations: expectState("attached", function() {
+  getAllocations: expectState("attached", function () {
     if (this.dbg.memory.allocationsLogOverflowed) {
       // Since the last time we drained the allocations log, there have been
       // more allocations than the log's capacity, and we lost some data. There
       // isn't anything actionable we can do about this, but put a message in
       // the browser console so we at least know that it occurred.
       reportException("MemoryBridge.prototype.getAllocations",
                       "Warning: allocations log overflowed and lost some data.");
     }
 
-    const allocations = this.dbg.memory.drainAllocationsLog()
+    const allocations = this.dbg.memory.drainAllocationsLog();
     const packet = {
       allocations: [],
       allocationsTimestamps: [],
       allocationSizes: [],
     };
     for (let { frame: stack, timestamp, size } of allocations) {
       if (stack && Cu.isDeadWrapper(stack)) {
         continue;
@@ -319,17 +319,17 @@ var Memory = exports.Memory = Class({
       let index = this._frameCache.addFrame(waived);
 
       packet.allocations.push(index);
       packet.allocationsTimestamps.push(timestamp);
       packet.allocationSizes.push(size);
     }
 
     return this._frameCache.updateFramePacket(packet);
-  }, `getting allocations`),
+  }, "getting allocations"),
 
   /*
    * Force a browser-wide GC.
    */
   forceGarbageCollection: function () {
     for (let i = 0; i < 3; i++) {
       Cu.forceGC();
     }
--- a/devtools/server/performance/profiler.js
+++ b/devtools/server/performance/profiler.js
@@ -203,55 +203,55 @@ const ProfilerManager = (function () {
 
     /**
      * Returns an object with the values of the current status of the
      * circular buffer in the profiler, returning `position`, `totalSize`,
      * and the current `generation` of the buffer.
      *
      * @return {object}
      */
-    getBufferInfo: function() {
+    getBufferInfo: function () {
       let position = {}, totalSize = {}, generation = {};
       nsIProfilerModule.GetBufferInfo(position, totalSize, generation);
       return {
         position: position.value,
         totalSize: totalSize.value,
         generation: generation.value
-      }
+      };
     },
 
     /**
      * Returns the configuration used that was originally passed in to start up the
      * profiler. Used for tests, and does not account for others using nsIProfiler.
      *
      * @param {object}
      */
-    getStartOptions: function() {
+    getStartOptions: function () {
       return this._profilerStartOptions || {};
     },
 
     /**
      * Verifies whether or not the nsIProfiler module has started.
      * If already active, the current time is also returned.
      *
      * @return {object}
      */
-    isActive: function() {
+    isActive: function () {
       let isActive = nsIProfilerModule.IsActive();
       let elapsedTime = isActive ? nsIProfilerModule.getElapsedTime() : undefined;
       let { position, totalSize, generation } = this.getBufferInfo();
       return { isActive: isActive, currentTime: elapsedTime, position, totalSize, generation };
     },
 
     /**
      * Returns a stringified JSON object that describes the shared libraries
      * which are currently loaded into our process. Can be called while the
      * profiler is stopped.
      */
-    getSharedLibraryInformation: function() {
+    getSharedLibraryInformation: function () {
       return { sharedLibraryInformation: nsIProfilerModule.getSharedLibraryInformation() };
     },
 
     /**
      * Number of profiler instances.
      *
      * @return {number}
      */
@@ -400,17 +400,17 @@ const ProfilerManager = (function () {
 var Profiler = exports.Profiler = Class({
   extends: EventTarget,
 
   initialize: function () {
     this.subscribedEvents = new Set();
     ProfilerManager.addInstance(this);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.unregisterEventNotifications({ events: Array.from(this.subscribedEvents) });
     this.subscribedEvents = null;
     ProfilerManager.removeInstance(this);
   },
 
   /**
    * @see ProfilerManager.start
    */
@@ -419,60 +419,60 @@ var Profiler = exports.Profiler = Class(
   /**
    * @see ProfilerManager.stop
    */
   stop: function () { return ProfilerManager.stop(); },
 
   /**
    * @see ProfilerManager.getProfile
    */
-  getProfile: function (request={}) { return ProfilerManager.getProfile(request); },
+  getProfile: function (request = {}) { return ProfilerManager.getProfile(request); },
 
   /**
    * @see ProfilerManager.getFeatures
    */
-  getFeatures: function() { return ProfilerManager.getFeatures(); },
+  getFeatures: function () { return ProfilerManager.getFeatures(); },
 
   /**
    * @see ProfilerManager.getBufferInfo
    */
-  getBufferInfo: function() { return ProfilerManager.getBufferInfo(); },
+  getBufferInfo: function () { return ProfilerManager.getBufferInfo(); },
 
   /**
    * @see ProfilerManager.getStartOptions
    */
-  getStartOptions: function() { return ProfilerManager.getStartOptions(); },
+  getStartOptions: function () { return ProfilerManager.getStartOptions(); },
 
   /**
    * @see ProfilerManager.isActive
    */
-  isActive: function() { return ProfilerManager.isActive(); },
+  isActive: function () { return ProfilerManager.isActive(); },
 
   /**
    * @see ProfilerManager.isActive
    */
-  getSharedLibraryInformation: function() { return ProfilerManager.getSharedLibraryInformation(); },
+  getSharedLibraryInformation: function () { return ProfilerManager.getSharedLibraryInformation(); },
 
   /**
    * @see ProfilerManager.setProfilerStatusInterval
    */
-  setProfilerStatusInterval: function(interval) { return ProfilerManager.setProfilerStatusInterval(interval); },
+  setProfilerStatusInterval: function (interval) { return ProfilerManager.setProfilerStatusInterval(interval); },
 
   /**
    * Subscribes this instance to one of several events defined in
    * an events array.
    * - "console-api-profiler",
    * - "profiler-started",
    * - "profiler-stopped"
    * - "profiler-status"
    *
    * @param {Array<string>} data.event
    * @return {object}
    */
-  registerEventNotifications: function(data={}) {
+  registerEventNotifications: function (data = {}) {
     let response = [];
     (data.events || []).forEach(e => {
       if (!this.subscribedEvents.has(e)) {
         if (e === "profiler-status") {
           ProfilerManager.subscribeToProfilerStatusEvents();
         }
         this.subscribedEvents.add(e);
         response.push(e);
@@ -483,17 +483,17 @@ var Profiler = exports.Profiler = Class(
 
   /**
    * Unsubscribes this instance to one of several events defined in
    * an events array.
    *
    * @param {Array<string>} data.event
    * @return {object}
    */
-  unregisterEventNotifications: function(data={}) {
+  unregisterEventNotifications: function (data = {}) {
     let response = [];
     (data.events || []).forEach(e => {
       if (this.subscribedEvents.has(e)) {
         if (e === "profiler-status") {
           ProfilerManager.unsubscribeToProfilerStatusEvents();
         }
         this.subscribedEvents.delete(e);
         response.push(e);
@@ -502,17 +502,17 @@ var Profiler = exports.Profiler = Class(
     return { registered: response };
   },
 });
 
 /**
  * Checks whether or not the profiler module can currently run.
  * @return boolean
  */
-Profiler.canProfile = function() {
+Profiler.canProfile = function () {
   return nsIProfilerModule.CanProfile();
 };
 
 /**
  * JSON.stringify callback used in Profiler.prototype.observe.
  */
 function cycleBreaker(key, value) {
   if (key == "wrappedJSObject") {
@@ -528,17 +528,17 @@ function cycleBreaker(key, value) {
  * known to introduce cycles, and then JSON.parsing the result.
  * This spends some CPU cycles, but it's simple.
  *
  * @TODO Also wraps it in a `makeInfallible` -- is this still necessary?
  *
  * @param {function} handler
  * @return {function}
  */
-function sanitizeHandler (handler, identifier) {
+function sanitizeHandler(handler, identifier) {
   return DevToolsUtils.makeInfallible(function (subject, topic, data) {
     subject = (subject && !Cu.isXrayWrapper(subject) && subject.wrappedJSObject) || subject;
     subject = JSON.parse(JSON.stringify(subject, cycleBreaker));
     data = (data && !Cu.isXrayWrapper(data) && data.wrappedJSObject) || data;
     data = JSON.parse(JSON.stringify(data, cycleBreaker));
 
     // Pass in clean data to the underlying handler
     return handler.call(this, subject, topic, data);
--- a/devtools/server/performance/recorder.js
+++ b/devtools/server/performance/recorder.js
@@ -166,17 +166,17 @@ const PerformanceRecorder = exports.Perf
    * Invoked whenever `console.profile` is called.
    *
    * @param string profileLabel
    *        The provided string argument if available; undefined otherwise.
    * @param number currentTime
    *        The time (in milliseconds) when the call was made, relative to when
    *        the nsIProfiler module was started.
    */
-  _onConsoleProfileStart: Task.async(function *({ profileLabel, currentTime: startTime }) {
+  _onConsoleProfileStart: Task.async(function* ({ profileLabel, currentTime: startTime }) {
     let recordings = this._recordings;
 
     // Abort if a profile with this label already exists.
     if (recordings.find(e => e.getLabel() === profileLabel)) {
       return;
     }
 
     // Immediately emit this so the client can start setting things up,
@@ -193,17 +193,17 @@ const PerformanceRecorder = exports.Perf
    * Invoked whenever `console.profileEnd` is called.
    *
    * @param string profileLabel
    *        The provided string argument if available; undefined otherwise.
    * @param number currentTime
    *        The time (in milliseconds) when the call was made, relative to when
    *        the nsIProfiler module was started.
    */
-  _onConsoleProfileEnd: Task.async(function *(data) {
+  _onConsoleProfileEnd: Task.async(function* (data) {
     // If no data, abort; can occur if profiler isn't running and we get a surprise
     // call to console.profileEnd()
     if (!data) {
       return;
     }
     let { profileLabel, currentTime: endTime } = data;
 
     let pending = this._recordings.filter(r => r.isConsole() && r.isRecording());
@@ -281,17 +281,17 @@ const PerformanceRecorder = exports.Perf
       events.emit(this, "timeline-data", eventName, eventData, activeRecordings);
     }
   },
 
   /**
    * Checks whether or not recording is currently supported. At the moment,
    * this is only influenced by private browsing mode and the profiler.
    */
-  canCurrentlyRecord: function() {
+  canCurrentlyRecord: function () {
     let success = true;
     let reasons = [];
 
     if (!Profiler.canProfile()) {
       success = false,
       reasons.push("profiler-unavailable");
     }
 
@@ -313,20 +313,20 @@ const PerformanceRecorder = exports.Perf
    * @param boolean options.bufferSize
    * @param boolean options.sampleFrequency
    * @param boolean options.console
    * @param string options.label
    * @param boolean options.realtimeMarkers
    * @return object
    *         A promise that is resolved once recording has started.
    */
-  startRecording: Task.async(function*(options) {
+  startRecording: Task.async(function* (options) {
     let profilerStart, timelineStart, memoryStart;
 
-    profilerStart = Task.spawn(function *() {
+    profilerStart = Task.spawn(function* () {
       let data = yield this._profiler.isActive();
       if (data.isActive) {
         return data;
       }
       let startData = yield this._profiler.start(mapRecordingOptions("profiler", options));
 
       // If no current time is exposed from starting, set it to 0 -- this is an
       // older Gecko that does not return its starting time, and uses an epoch based
@@ -378,17 +378,17 @@ const PerformanceRecorder = exports.Perf
   /**
    * Manually ends the recording session for the corresponding PerformanceRecording.
    *
    * @param PerformanceRecording model
    *        The corresponding PerformanceRecording that belongs to the recording session wished to stop.
    * @return PerformanceRecording
    *         Returns the same model, populated with the profiling data.
    */
-  stopRecording: Task.async(function *(model) {
+  stopRecording: Task.async(function* (model) {
     // If model isn't in the Recorder's internal store,
     // then do nothing, like if this was a console.profileEnd
     // from a different target.
     if (this._recordings.indexOf(model) === -1) {
       return model;
     }
 
     // Flag the recording as no longer recording, so that `model.isRecording()`
@@ -477,17 +477,17 @@ const PerformanceRecorder = exports.Perf
   },
 
   toString: () => "[object PerformanceRecorder]"
 });
 
 /**
  * Creates an object of configurations based off of preferences for a PerformanceRecording.
  */
-function getPerformanceRecordingPrefs () {
+function getPerformanceRecordingPrefs() {
   return {
     withMarkers: true,
     withMemory: Services.prefs.getBoolPref("devtools.performance.ui.enable-memory"),
     withTicks: Services.prefs.getBoolPref("devtools.performance.ui.enable-framerate"),
     withAllocations: Services.prefs.getBoolPref("devtools.performance.ui.enable-allocations"),
     allocationsSampleProbability: +Services.prefs.getCharPref("devtools.performance.memory.sample-probability"),
     allocationsMaxLogLength: Services.prefs.getIntPref("devtools.performance.memory.max-log-length")
   };
--- a/devtools/server/performance/timeline.js
+++ b/devtools/server/performance/timeline.js
@@ -57,17 +57,17 @@ var Timeline = exports.Timeline = Class(
     this._onWindowReady = this._onWindowReady.bind(this);
     this._onGarbageCollection = this._onGarbageCollection.bind(this);
     events.on(this.tabActor, "window-ready", this._onWindowReady);
   },
 
   /**
    * Destroys this actor, stopping recording first.
    */
-  destroy: function() {
+  destroy: function () {
     this.stop();
 
     events.off(this.tabActor, "window-ready", this._onWindowReady);
     this.tabActor = null;
   },
 
   /**
    * Get the list of docShells in the currently attached tabActor. Note that we
@@ -104,17 +104,17 @@ var Timeline = exports.Timeline = Class(
 
     return docShells;
   },
 
   /**
    * At regular intervals, pop the markers from the docshell, and forward
    * markers, memory, tick and frames events, if any.
    */
-  _pullTimelineData: function() {
+  _pullTimelineData: function () {
     let docShells = this.docShells;
     if (!this._isRecording || !docShells.length) {
       return;
     }
 
     let endTime = docShells[0].now();
     let markers = [];
 
@@ -202,17 +202,17 @@ var Timeline = exports.Timeline = Class(
    *         from timeline markers.
    * @option {boolean} withGCEvents
    *         Boolean indicating whether or not GC markers should be emitted.
    *         TODO: Remove these fake GC markers altogether in bug 1198127.
    * @option {boolean} withDocLoadingEvents
    *         Boolean indicating whether or not DOMContentLoaded and Load
    *         marker events are emitted.
    */
-  start: Task.async(function *({
+  start: Task.async(function* ({
     withMarkers,
     withTicks,
     withMemory,
     withFrames,
     withGCEvents,
     withDocLoadingEvents,
   }) {
     let docShells = this.docShells;
@@ -259,17 +259,17 @@ var Timeline = exports.Timeline = Class(
 
     this._pullTimelineData();
     return startTime;
   }),
 
   /**
    * Stop recording profile markers.
    */
-  stop: Task.async(function *() {
+  stop: Task.async(function* () {
     let docShells = this.docShells;
     if (!docShells.length) {
       return -1;
     }
     let endTime = this._startTime = docShells[0].now();
     if (!this._isRecording) {
       return endTime;
     }
@@ -311,17 +311,17 @@ var Timeline = exports.Timeline = Class(
 
     return endTime;
   }),
 
   /**
    * When a new window becomes available in the tabActor, start recording its
    * markers if we were recording.
    */
-  _onWindowReady: function({ window }) {
+  _onWindowReady: function ({ window }) {
     if (this._isRecording) {
       let docShell = window.QueryInterface(Ci.nsIInterfaceRequestor)
                            .getInterface(Ci.nsIWebNavigation)
                            .QueryInterface(Ci.nsIDocShell);
       docShell.recordProfileTimelineMarkers = true;
     }
   },
 
--- a/devtools/server/primitive.js
+++ b/devtools/server/primitive.js
@@ -19,39 +19,39 @@ const WebGLPrimitivesType = {
 /**
  * A utility for monitoring WebGL primitive draws. Takes a `tabActor`
  * and monitors primitive draws over time.
  */
 const WebGLDrawArrays = "drawArrays";
 const WebGLDrawElements = "drawElements";
 
 var WebGLPrimitiveCounter = exports.WebGLPrimitiveCounter = Class({
-  initialize: function(tabActor) {
+  initialize: function (tabActor) {
     this.tabActor = tabActor;
   },
 
-  destroy: function() {
-     this.stopRecording();
+  destroy: function () {
+    this.stopRecording();
   },
 
   /**
    * Starts monitoring primitive draws, storing the primitives count per tick.
    */
-  resetCounts: function() {
+  resetCounts: function () {
     this._tris = 0;
     this._vertices = 0;
     this._points = 0;
     this._lines = 0;
     this._startTime = this.tabActor.docShell.now();
   },
 
   /**
    * Stops monitoring primitive draws, returning the recorded values.
    */
-  getCounts: function() {
+  getCounts: function () {
     var result = {
       tris: this._tris,
       vertices: this._vertices,
       points: this._points,
       lines: this._lines
     };
 
     this._tris = 0;
@@ -59,34 +59,34 @@ var WebGLPrimitiveCounter = exports.WebG
     this._points = 0;
     this._lines = 0;
     return result;
   },
 
   /**
    * Handles WebGL draw primitive functions to catch primitive info.
    */
-  handleDrawPrimitive: function(functionCall) {
+  handleDrawPrimitive: function (functionCall) {
     let { name, args } = functionCall.details;
 
     if (name === WebGLDrawArrays) {
       this._processDrawArrays(args);
     } else if (name === WebGLDrawElements) {
       this._processDrawElements(args);
     }
   },
 
   /**
    * Processes WebGL drawArrays method to count primitve numbers
    */
-  _processDrawArrays: function(args) {
+  _processDrawArrays: function (args) {
     let mode = args[0];
     let count = args[2];
 
-    switch ( mode ) {
+    switch (mode) {
       case WebGLPrimitivesType.POINTS:
         this._vertices += count;
         this._points += count;
         break;
       case WebGLPrimitivesType.LINES:
         this._vertices += count;
         this._lines += (count / 2);
         break;
@@ -114,21 +114,21 @@ var WebGLPrimitiveCounter = exports.WebG
         console.error("_processDrawArrays doesn't define this type.");
         break;
     }
   },
 
   /**
    * Processes WebGL drawElements method to count primitve numbers
    */
-  _processDrawElements: function(args) {
+  _processDrawElements: function (args) {
     let mode = args[0];
     let count = args[1];
 
-    switch ( mode ) {
+    switch (mode) {
       case WebGLPrimitivesType.POINTS:
         this._vertices += count;
         this._points += count;
         break;
       case WebGLPrimitivesType.LINES:
         this._vertices += count;
         this._lines += (count / 2);
         break;
@@ -157,9 +157,9 @@ var WebGLPrimitiveCounter = exports.WebG
       case WebGLPrimitivesType.TRIANGLE_FAN:
         this._tris += (count - 2);
         this._vertices += count;
       default:
         console.error("_processDrawElements doesn't define this type.");
         break;
     }
   }
-});
\ No newline at end of file
+});
--- a/devtools/server/tests/browser/browser_animation_emitMutations.js
+++ b/devtools/server/tests/browser/browser_animation_emitMutations.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that the AnimationsActor emits events about changed animations on a
 // node after getAnimationPlayersForNode was called on that node.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Retrieve a non-animated node");
   let node = yield walker.querySelector(walker.rootNode, ".not-animated");
 
   info("Retrieve the animation player for the node");
   let players = yield animations.getAnimationPlayersForNode(node);
--- a/devtools/server/tests/browser/browser_animation_getFrames.js
+++ b/devtools/server/tests/browser/browser_animation_getFrames.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Check that the AnimationPlayerActor exposes a getFrames method that returns
 // the list of keyframes in the animation.
 
 const URL = MAIN_DOMAIN + "animation.html";
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Get the test node and its animation front");
   let node = yield walker.querySelector(walker.rootNode, ".simple-animation");
   let [player] = yield animations.getAnimationPlayersForNode(node);
 
   ok(player.getFrames, "The front has the getFrames method");
--- a/devtools/server/tests/browser/browser_animation_getMultipleStates.js
+++ b/devtools/server/tests/browser/browser_animation_getMultipleStates.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check that the duration, iterationCount and delay are retrieved correctly for
 // multiple animations.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   yield playerHasAnInitialState(walker, animations);
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
 });
--- a/devtools/server/tests/browser/browser_animation_getPlayers.js
+++ b/devtools/server/tests/browser/browser_animation_getPlayers.js
@@ -1,17 +1,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check the output of getAnimationPlayersForNode
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   yield theRightNumberOfPlayersIsReturned(walker, animations);
   yield playersCanBePausedAndResumed(walker, animations);
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
--- a/devtools/server/tests/browser/browser_animation_getProperties.js
+++ b/devtools/server/tests/browser/browser_animation_getProperties.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Check that the AnimationPlayerActor exposes a getProperties method that
 // returns the list of animated properties in the animation.
 
 const URL = MAIN_DOMAIN + "animation.html";
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} = yield initAnimationsFrontForUrl(URL);
 
   info("Get the test node and its animation front");
   let node = yield walker.querySelector(walker.rootNode, ".simple-animation");
   let [player] = yield animations.getAnimationPlayersForNode(node);
 
   ok(player.getProperties, "The front has the getProperties method");
 
--- a/devtools/server/tests/browser/browser_animation_getStateAfterFinished.js
+++ b/devtools/server/tests/browser/browser_animation_getStateAfterFinished.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Check that the right duration/iterationCount/delay are retrieved even when
 // the node has multiple animations and one of them already ended before getting
 // the player objects.
 // See devtools/server/actors/animation.js |getPlayerIndex| for more
 // information.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Retrieve a non animated node");
   let node = yield walker.querySelector(walker.rootNode, ".not-animated");
 
   info("Apply the multiple-animations-2 class to start the animations");
   yield node.modifyAttributes([
--- a/devtools/server/tests/browser/browser_animation_getSubTreeAnimations.js
+++ b/devtools/server/tests/browser/browser_animation_getSubTreeAnimations.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Check that the AnimationsActor can retrieve all animations inside a node's
 // subtree (but not going into iframes).
 
 const URL = MAIN_DOMAIN + "animation.html";
 
-add_task(function*() {
+add_task(function* () {
   info("Creating a test document with 2 iframes containing animated nodes");
 
   let {client, walker, animations} = yield initAnimationsFrontForUrl(
     "data:text/html;charset=utf-8," +
     "<iframe id='iframe' src='" + URL + "'></iframe>");
 
   info("Try retrieving all animations from the root doc's <body> node");
   let rootBody = yield walker.querySelector(walker.rootNode, "body");
--- a/devtools/server/tests/browser/browser_animation_keepFinished.js
+++ b/devtools/server/tests/browser/browser_animation_keepFinished.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Test that the AnimationsActor doesn't report finished animations as removed.
 // Indeed, animations that only have the "finished" playState can be modified
 // still, so we want the AnimationsActor to preserve the corresponding
 // AnimationPlayerActor.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Retrieve a non-animated node");
   let node = yield walker.querySelector(walker.rootNode, ".not-animated");
 
   info("Retrieve the animation player for the node");
   let players = yield animations.getAnimationPlayersForNode(node);
--- a/devtools/server/tests/browser/browser_animation_playPauseIframe.js
+++ b/devtools/server/tests/browser/browser_animation_playPauseIframe.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Check that the AnimationsActor can pause/play all animations even those
 // within iframes.
 
 const URL = MAIN_DOMAIN + "animation.html";
 
-add_task(function*() {
+add_task(function* () {
   info("Creating a test document with 2 iframes containing animated nodes");
 
   let {client, walker, animations} = yield initAnimationsFrontForUrl(
     "data:text/html;charset=utf-8," +
     "<iframe id='i1' src='" + URL + "'></iframe>" +
     "<iframe id='i2' src='" + URL + "'></iframe>");
 
   info("Getting the 2 iframe container nodes and animated nodes in them");
--- a/devtools/server/tests/browser/browser_animation_playPauseSeveral.js
+++ b/devtools/server/tests/browser/browser_animation_playPauseSeveral.js
@@ -10,17 +10,17 @@
 // List of selectors that match "all" animated nodes in the test page.
 // This list misses a bunch of animated nodes on purpose. Only the ones that
 // have infinite animations are listed. This is done to avoid intermittents
 // caused when finite animations are already done playing by the time the test
 // runs.
 const ALL_ANIMATED_NODES = [".simple-animation", ".multiple-animations",
                             ".delayed-animation"];
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Pause all animations in the test document");
   yield animations.pauseAll();
   yield checkStates(walker, animations, ALL_ANIMATED_NODES, "paused");
 
   info("Play all animations in the test document");
--- a/devtools/server/tests/browser/browser_animation_playerState.js
+++ b/devtools/server/tests/browser/browser_animation_playerState.js
@@ -1,17 +1,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check the animation player's initial state
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   yield playerHasAnInitialState(walker, animations);
   yield playerStateIsCorrect(walker, animations);
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
--- a/devtools/server/tests/browser/browser_animation_refreshTransitions.js
+++ b/devtools/server/tests/browser/browser_animation_refreshTransitions.js
@@ -3,17 +3,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // When a transition finishes, no "removed" event is sent because it may still
 // be used, but when it restarts again (transitions back), then a new
 // AnimationPlayerFront should be sent, and the old one should be removed.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Retrieve the test node");
   let node = yield walker.querySelector(walker.rootNode, ".all-transitions");
 
   info("Retrieve the animation players for the node");
   let players = yield animations.getAnimationPlayersForNode(node);
--- a/devtools/server/tests/browser/browser_animation_setCurrentTime.js
+++ b/devtools/server/tests/browser/browser_animation_setCurrentTime.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check that a player's currentTime can be changed and that the AnimationsActor
 // allows changing many players' currentTimes at once.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   yield testSetCurrentTime(walker, animations);
   yield testSetCurrentTimes(walker, animations);
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
--- a/devtools/server/tests/browser/browser_animation_setPlaybackRate.js
+++ b/devtools/server/tests/browser/browser_animation_setPlaybackRate.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check that a player's playbackRate can be changed, and that multiple players
 // can have their rates changed at the same time.
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   info("Retrieve an animated node");
   let node = yield walker.querySelector(walker.rootNode, ".simple-animation");
 
   info("Retrieve the animation player for the node");
   let [player] = yield animations.getAnimationPlayersForNode(node);
--- a/devtools/server/tests/browser/browser_animation_simple.js
+++ b/devtools/server/tests/browser/browser_animation_simple.js
@@ -1,17 +1,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Simple checks for the AnimationsActor
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} = yield initAnimationsFrontForUrl(
     "data:text/html;charset=utf-8,<title>test</title><div></div>");
 
   ok(animations, "The AnimationsFront was created");
   ok(animations.getAnimationPlayersForNode,
      "The getAnimationPlayersForNode method exists");
   ok(animations.toggleAll, "The toggleAll method exists");
   ok(animations.playAll, "The playAll method exists");
--- a/devtools/server/tests/browser/browser_animation_updatedState.js
+++ b/devtools/server/tests/browser/browser_animation_updatedState.js
@@ -1,17 +1,17 @@
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Check the animation player's updated state
 
-add_task(function*() {
+add_task(function* () {
   let {client, walker, animations} =
     yield initAnimationsFrontForUrl(MAIN_DOMAIN + "animation.html");
 
   yield playStateIsUpdatedDynamically(walker, animations);
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
 });
--- a/devtools/server/tests/browser/browser_canvasframe_helper_01.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_01.js
@@ -12,17 +12,17 @@ require("devtools/server/actors/inspecto
 const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
 const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(TEST_URL);
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
     let child = doc.createElement("div");
     child.style = "width:200px;height:200px;background:red;";
     child.id = "child-element";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_02.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_02.js
@@ -12,17 +12,17 @@
 require("devtools/server/actors/inspector");
 
 const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab("about:preferences");
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
     let child = doc.createElement("div");
     child.style = "width:200px;height:200px;background:red;";
     child.id = "child-element";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_03.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_03.js
@@ -13,17 +13,17 @@ require("devtools/server/actors/inspecto
 const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
 const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(TEST_URL);
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
     let child = doc.createElement("div");
     child.style = "pointer-events:auto;width:200px;height:200px;background:red;";
     child.id = "child-element";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_04.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_04.js
@@ -16,27 +16,27 @@ const {HighlighterEnvironment} = require
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
 const TEST_URL_1 = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test 1";
 const TEST_URL_2 = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test 2";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(TEST_URL_2);
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
     let child = doc.createElement("div");
     child.style = "pointer-events:auto;width:200px;height:200px;background:red;";
     child.id = "child-element";
     child.className = "child-element";
-    child.textContent= "test content";
+    child.textContent = "test content";
     root.appendChild(child);
     return root;
   };
 
   info("Building the helper");
   let env = new HighlighterEnvironment();
   env.initFromWindow(doc.defaultView);
   let helper = new CanvasFrameAnonymousContentHelper(env, nodeBuilder);
@@ -49,17 +49,17 @@ add_task(function*() {
     "The attribute is correct before navigation");
   is(el.getTextContent(), "test content",
     "The text content is correct before navigation");
 
   info("Add an event listener on the element");
   let mouseDownHandled = 0;
   function onMouseDown(e, id) {
     is(id, "child-element", "The mousedown event was triggered on the element");
-    mouseDownHandled ++;
+    mouseDownHandled++;
   }
   el.addEventListener("mousedown", onMouseDown);
 
   info("Synthesizing an event on the element");
   let onDocMouseDown = once(doc, "mousedown");
   synthesizeMouseDown(100, 100, doc.defaultView);
   yield onDocMouseDown;
   is(mouseDownHandled, 1, "The mousedown event was handled once before navigation");
--- a/devtools/server/tests/browser/browser_canvasframe_helper_05.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_05.js
@@ -14,17 +14,17 @@ require("devtools/server/actors/inspecto
 const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
 const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(TEST_URL);
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
 
     let parent = doc.createElement("div");
     parent.style = "pointer-events:auto;width:300px;height:300px;background:yellow;";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_06.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_06.js
@@ -14,17 +14,17 @@ require("devtools/server/actors/inspecto
 const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
 
 const {
   CanvasFrameAnonymousContentHelper
 } = require("devtools/server/actors/highlighters/utils/markup");
 
 const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(TEST_URL);
   let doc = browser.contentDocument;
 
   let nodeBuilder = () => {
     let root = doc.createElement("div");
 
     let parent = doc.createElement("div");
     parent.style = "pointer-events:auto;width:300px;height:300px;background:yellow;";
--- a/devtools/server/tests/browser/browser_directorscript_actors.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
 const {DirectorRegistry} = require("devtools/server/actors/director-registry");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
 
   DirectorRegistry.clear();
@@ -26,37 +26,37 @@ add_task(function*() {
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
   DirectorRegistry.clear();
 });
 
 function* testDirectorScriptAttachEventAttributes(directorManager) {
   let attachEvent = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_attachEventAttributes",
-    scriptCode: "(" + (function() {
-      exports.attach = function() {};
+    scriptCode: "(" + (function () {
+      exports.attach = function () {};
     }).toString() + ")();",
     scriptOptions: {
       attachMethod: "attach"
     }
   });
 
   let { directorScriptId, url } = attachEvent;
 
   is(directorScriptId, "testDirectorScript_attachEventAttributes",
      "attach event should contains directorScriptId");
   is(url, MAIN_DOMAIN + "director-script-target.html");
 }
 
 function* testDirectorScriptMessagePort(directorManager) {
   let { port } = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_MessagePort",
-    scriptCode: "(" + (function() {
-      exports.attach = function({port}) {
-        port.onmessage = function(evt) {
+    scriptCode: "(" + (function () {
+      exports.attach = function ({port}) {
+        port.onmessage = function (evt) {
           // echo messages
           evt.source.postMessage(evt.data);
         };
       };
     }).toString() + ")();",
     scriptOptions: {
       attachMethod: "attach"
     }
@@ -75,19 +75,19 @@ function* testDirectorScriptMessagePort(
   var reply = yield waitForMessagePortEvent;
 
   is(JSON.stringify(reply.data), JSON.stringify(msg), "echo reply received on the MessagePortClient");
 }
 
 function* testDirectorScriptWindowEval(directorManager) {
   let { port } = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_WindowEval",
-    scriptCode: "(" + (function() {
-      exports.attach = function({window, port}) {
-        var onpageloaded = function() {
+    scriptCode: "(" + (function () {
+      exports.attach = function ({window, port}) {
+        var onpageloaded = function () {
           var globalVarValue = window.eval("globalAccessibleVar;");
           port.postMessage(globalVarValue);
         };
 
         if (window.document && window.document.readyState === "complete") {
           onpageloaded();
         } else {
           window.addEventListener("load", onpageloaded, false);
@@ -110,19 +110,19 @@ function* testDirectorScriptWindowEval(d
 
   ok(portEvent.data !== "unsecure-eval", "window.eval should be wrapped and safe");
   is(portEvent.data, "global-value", "globalAccessibleVar should be accessible through window.eval");
 }
 
 function* testDirectorScriptUnloadOnDetach(directorManager) {
   let { port } = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_unloadOnDetach",
-    scriptCode: "(" + (function() {
-      exports.attach = function({port, onUnload}) {
-        onUnload(function() {
+    scriptCode: "(" + (function () {
+      exports.attach = function ({port, onUnload}) {
+        onUnload(function () {
           port.postMessage("ONUNLOAD");
         });
       };
     }).toString() + ")();",
     scriptOptions: {
       attachMethod: "attach"
     }
   });
--- a/devtools/server/tests/browser/browser_directorscript_actors_error_events.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors_error_events.js
@@ -2,17 +2,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
 const {DirectorRegistry} = require("devtools/server/actors/director-registry");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
 
   DirectorRegistry.clear();
@@ -27,17 +27,17 @@ add_task(function*() {
   gBrowser.removeCurrentTab();
   DirectorRegistry.clear();
 });
 
 function* testErrorOnRequire(directorManager) {
   // director script require method should raise a "not implemented" exception
   let errorOnRequire = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_errorOnRequire",
-    scriptCode: "(" + (function() {
+    scriptCode: "(" + (function () {
       // this director script should generate an error event
       // because require raise a "not implemented" exception
       require("fake_module");
     }).toString() + ")();",
     scriptOptions: {}
   });
 
   assertIsDirectorScriptError(errorOnRequire);
@@ -46,52 +46,52 @@ function* testErrorOnRequire(directorMan
   is(message, "Error: NOT IMPLEMENTED", "error.message contains the expected error message");
 }
 
 function* testErrorOnEvaluate(directorManager) {
   // director scripts should send an error events if the director script raise an exception on
   // evaluation
   let errorOnEvaluate = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_errorOnEvaluate",
-    scriptCode: "(" + (function() {
+    scriptCode: "(" + (function () {
       // this will raise an exception evaluating
       // the director script
       raise.an_error.during.content_script.load();
     }).toString() + ")();",
     scriptOptions: {}
   });
   assertIsDirectorScriptError(errorOnEvaluate);
 }
 
 function* testErrorOnAttach(directorManager) {
   // director scripts should send an error events if the director script raise an exception on
   // evaluation
   let errorOnAttach = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_errorOnAttach",
-    scriptCode: "(" + (function() {
+    scriptCode: "(" + (function () {
       // this will raise an exception on evaluating
       // the director script
-      module.exports = function() {
+      module.exports = function () {
         raise.an_error.during.content_script.load();
       };
     }).toString() + ")();",
     scriptOptions: {}
   });
   assertIsDirectorScriptError(errorOnAttach);
 }
 
 function* testErrorOnDetach(directorManager) {
   // director scripts should send an error events if the director script raise an exception on
   // evaluation
   let attach = yield installAndEnableDirectorScript(directorManager, {
     scriptId: "testDirectorScript_errorOnDetach",
-    scriptCode: "(" + (function() {
+    scriptCode: "(" + (function () {
       module.exports = function ({onUnload}) {
         // this will raise an exception on unload the director script
-        onUnload(function() {
+        onUnload(function () {
           raise_an_error_onunload();
         });
       };
     }).toString() + ")();",
     scriptOptions: {}
   });
 
   let waitForDetach = once(directorManager, "director-script-detach");
--- a/devtools/server/tests/browser/browser_directorscript_actors_exports.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors_exports.js
@@ -4,53 +4,53 @@
 
 "use strict";
 
 const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
 const {DirectorRegistry} = require("devtools/server/actors/director-registry");
 
 DirectorRegistry.clear();
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
 
   DirectorRegistry.clear();
   let directorManager = DirectorManagerFront(client, form);
 
   // director scripts attach method defaults to module.exports
   let attachModuleExports = yield testDirectorScriptExports(directorManager, {
     scriptId: "testDirectorScript_moduleExports",
-    scriptCode: "(" + (function() {
-      module.exports = function() {};
+    scriptCode: "(" + (function () {
+      module.exports = function () {};
     }).toString() + ")();",
     scriptOptions: {}
   });
   ok(attachModuleExports.port, "testDirectorScript_moduleExports attach event received");
 
   // director scripts attach method can be configured using the attachMethod scriptOptions
   let attachExportsAttach = yield testDirectorScriptExports(directorManager, {
     scriptId: "testDirectorScript_exportsAttach",
-    scriptCode: "(" + (function() {
-      exports.attach = function() {};
+    scriptCode: "(" + (function () {
+      exports.attach = function () {};
     }).toString() + ")();",
     scriptOptions: {
       attachMethod: "attach"
     }
   });
   ok(attachExportsAttach.port, "testDirectorScript_exportsAttach attach event received");
 
   // director scripts without an attach method generates an error event
   let errorUndefinedAttachMethod = yield testDirectorScriptExports(directorManager, {
     scriptId: "testDirectorScript_undefinedAttachMethod",
-    scriptCode: "(" + (function() {
+    scriptCode: "(" + (function () {
       // this director script should raise an error
       // because it doesn't export any attach method
     }).toString() + ")();",
     scriptOptions: {
       attachMethod: "attach"
     }
   });
   let { message } = errorUndefinedAttachMethod;
--- a/devtools/server/tests/browser/browser_markers-cycle-collection.js
+++ b/devtools/server/tests/browser/browser_markers-cycle-collection.js
@@ -3,31 +3,31 @@
 
 /**
  * Test that we get "nsCycleCollector::Collect" and
  * "nsCycleCollector::ForgetSkippable" markers when we force cycle collection.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   // This test runs very slowly on linux32 debug EC2 instances.
   requestLongerTimeout(2);
 
   let browser = yield addTab(MAIN_DOMAIN + "doc_force_cc.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
   let rec = yield front.startRecording({ withMarkers: true });
 
-  let markers = yield waitForMarkerType(front, ["nsCycleCollector::Collect", "nsCycleCollector::ForgetSkippable"])
+  let markers = yield waitForMarkerType(front, ["nsCycleCollector::Collect", "nsCycleCollector::ForgetSkippable"]);
   yield front.stopRecording(rec);
 
   ok(markers.some(m => m.name === "nsCycleCollector::Collect"), "got some nsCycleCollector::Collect markers");
   ok(markers.some(m => m.name === "nsCycleCollector::ForgetSkippable"), "got some nsCycleCollector::Collect markers");
 
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
 });
--- a/devtools/server/tests/browser/browser_markers-docloading-01.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-01.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get DOMContentLoaded and Load markers
  */
 
 const { TimelineFront } = require("devtools/server/actors/timeline");
 const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
   let rec = yield front.start({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_markers-docloading-02.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-02.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get DOMContentLoaded and Load markers
  */
 
 const { TimelineFront } = require("devtools/server/actors/timeline");
 const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
   let rec = yield front.start({ withMarkers: true, withDocLoadingEvents: true });
--- a/devtools/server/tests/browser/browser_markers-docloading-03.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-03.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get DOMContentLoaded and Load markers
  */
 
 const { TimelineFront } = require("devtools/server/actors/timeline");
 const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
   let rec = yield front.start({ withDocLoadingEvents: true });
--- a/devtools/server/tests/browser/browser_markers-gc.js
+++ b/devtools/server/tests/browser/browser_markers-gc.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get "GarbageCollection" markers.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const MARKER_NAME = "GarbageCollection";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_force_gc.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_markers-minor-gc.js
+++ b/devtools/server/tests/browser/browser_markers-minor-gc.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get "MinorGC" markers when we continue to steadily allocate
  * objects.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   // This test runs very slowly on linux32 debug EC2 instances.
   requestLongerTimeout(2);
 
   let doc = yield addTab(MAIN_DOMAIN + "doc_allocations.html");
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
--- a/devtools/server/tests/browser/browser_markers-parse-html.js
+++ b/devtools/server/tests/browser/browser_markers-parse-html.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get "Parse HTML" markers.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const MARKER_NAME = "Parse HTML";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_markers-styles.js
+++ b/devtools/server/tests/browser/browser_markers-styles.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we get "Styles" markers with correct meta.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const MARKER_NAME = "Styles";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_markers-timestamp.js
+++ b/devtools/server/tests/browser/browser_markers-timestamp.js
@@ -4,17 +4,17 @@
 /**
  * Test that we get a "TimeStamp" marker.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const { PMM_consoleMethod, PMM_loadFrameScripts, PMM_clearFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 const MARKER_NAME = "TimeStamp";
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_navigateEvents.js
+++ b/devtools/server/tests/browser/browser_navigateEvents.js
@@ -11,17 +11,17 @@ var events = require("sdk/event/core");
 var client;
 
 SpecialPowers.pushPrefEnv({"set": [["dom.require_user_interaction_for_beforeunload", false]]});
 
 // State machine to check events order
 var i = 0;
 function assertEvent(event, data) {
   let x = 0;
-  switch(i++) {
+  switch (i++) {
     case x++:
       is(event, "request", "Get first page load");
       is(data, URL1);
       break;
     case x++:
       is(event, "load-new-document", "Ask to load the second page");
       break;
     case x++:
@@ -97,32 +97,32 @@ function getServerTabActor(callback) {
   // Ensure having a minimal server
   initDebuggerServer();
 
   // Connect to this tab
   let transport = DebuggerServer.connectPipe();
   client = new DebuggerClient(transport);
   connectDebuggerClient(client).then(form => {
     let actorID = form.actor;
-    client.attachTab(actorID, function(aResponse, aTabClient) {
+    client.attachTab(actorID, function (aResponse, aTabClient) {
       // !Hack! Retrieve a server side object, the BrowserTabActor instance
       let conn = transport._serverConnection;
       let tabActor = conn.getActor(actorID);
       callback(tabActor);
     });
   });
 
   client.addListener("tabNavigated", function (aEvent, aPacket) {
     assertEvent("tabNavigated", aPacket);
   });
 }
 
 function test() {
   // Open a test tab
-  addTab(URL1).then(function(browser) {
+  addTab(URL1).then(function (browser) {
     let doc = browser.contentDocument;
     getServerTabActor(function (tabActor) {
       // In order to listen to internal will-navigate/navigate events
       events.on(tabActor, "will-navigate", function (data) {
         assertEvent("will-navigate", data);
       });
       events.on(tabActor, "navigate", function (data) {
         assertEvent("navigate", data);
--- a/devtools/server/tests/browser/browser_perf-allocation-data.js
+++ b/devtools/server/tests/browser/browser_perf-allocation-data.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that we have allocation data coming from the front.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_allocations.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_perf-profiler-01.js
+++ b/devtools/server/tests/browser/browser_perf-profiler-01.js
@@ -5,17 +5,17 @@
  * Tests if the profiler connection front does not activate the built-in
  * profiler module if not necessary, and doesn't deactivate it when
  * a recording is stopped.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const { PMM_isProfilerActive, PMM_stopProfiler, PMM_loadFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_perf-profiler-02.js
+++ b/devtools/server/tests/browser/browser_perf-profiler-02.js
@@ -4,17 +4,17 @@
 /**
  * Tests if the built-in profiler module doesn't deactivate when the toolbox
  * is destroyed if there are other consumers using it.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const { PMM_isProfilerActive, PMM_stopProfiler, PMM_loadFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(MAIN_DOMAIN + "doc_perf.html");
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let firstFront = PerformanceFront(client, form);
   yield firstFront.connect();
 
   PMM_loadFrameScripts(gBrowser);
--- a/devtools/server/tests/browser/browser_perf-profiler-03.js
+++ b/devtools/server/tests/browser/browser_perf-profiler-03.js
@@ -6,17 +6,17 @@
  * consumer was using it over the remote debugger protocol, and ensures
  * that the actor will work properly even in such cases (e.g. the Gecko Profiler
  * addon was installed and automatically activated the profiler module).
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 const { PMM_isProfilerActive, PMM_startProfiler, PMM_stopProfiler, PMM_loadFrameScripts, PMM_clearFrameScripts } = require("devtools/client/performance/test/helpers/profiler-mm-utils");
 
-add_task(function*() {
+add_task(function* () {
   // Ensure the profiler is already running when the test starts.
   PMM_loadFrameScripts(gBrowser);
   let entries = 1000000;
   let interval = 1;
   let features = ["js"];
   yield PMM_startProfiler({ entries, interval, features });
 
   ok((yield PMM_isProfilerActive()),
--- a/devtools/server/tests/browser/browser_perf-realtime-markers.js
+++ b/devtools/server/tests/browser/browser_perf-realtime-markers.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test functionality of real time markers.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
@@ -42,17 +42,17 @@ add_task(function*() {
   is(counters.markers.length, 1, "one marker event fired.");
   is(counters.memory.length, 3, "three memory events fired.");
   is(counters.ticks.length, 3, "three ticks events fired.");
 
   yield front.destroy();
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
 
-  function handler (name, data) {
+  function handler(name, data) {
     if (name === "markers") {
       if (counters.markers.length >= 1) { return; }
       ok(data.markers[0].start, "received atleast one marker with `start`");
       ok(data.markers[0].end, "received atleast one marker with `end`");
       ok(data.markers[0].name, "received atleast one marker with `name`");
 
       counters.markers.push(data.markers);
     }
@@ -84,10 +84,10 @@ add_task(function*() {
       ok(false, `Received unknown event: ${name}`);
     }
 
     if (name === "markers" && counters[name].length === 1 ||
         name === "memory" && counters[name].length === 3 ||
         name === "ticks" && counters[name].length === 3) {
       deferreds[name].resolve();
     }
-  };
+  }
 });
--- a/devtools/server/tests/browser/browser_perf-recording-actor-01.js
+++ b/devtools/server/tests/browser/browser_perf-recording-actor-01.js
@@ -3,17 +3,17 @@
 
 /**
  * Tests the state of a recording rec from start to finish for recording,
  * completed, and rec data.
  */
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
@@ -67,14 +67,14 @@ add_task(function*() {
   checkSystemInfo(importedModel, "Host");
   checkSystemInfo(importedModel, "Client");
 
   yield front.destroy();
   yield closeDebuggerClient(client);
   gBrowser.removeCurrentTab();
 });
 
-function checkSystemInfo (recording, type) {
+function checkSystemInfo(recording, type) {
   let data = recording[`get${type}SystemInfo`]();
   for (let field of ["appid", "apptype", "vendor", "name", "version"]) {
     ok(data[field], `get${type}SystemInfo() has ${field} property`);
   }
 }
--- a/devtools/server/tests/browser/browser_perf-recording-actor-02.js
+++ b/devtools/server/tests/browser/browser_perf-recording-actor-02.js
@@ -5,34 +5,34 @@
  * Test that buffer status is correctly updated in recording models.
  */
 
 var BUFFER_SIZE = 20000;
 var config = { bufferSize: BUFFER_SIZE };
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
 
   yield front.setProfilerStatusInterval(10);
   let model = yield front.startRecording(config);
   let stats = yield once(front, "profiler-status");
   is(stats.totalSize, BUFFER_SIZE, `profiler-status event has totalSize: ${stats.totalSize}`);
   ok(stats.position < BUFFER_SIZE, `profiler-status event has position: ${stats.position}`);
   ok(stats.generation >= 0, `profiler-status event has generation: ${stats.generation}`);
-  ok(stats.isActive, `profiler-status event is isActive`);
-  is(typeof stats.currentTime, "number", `profiler-status event has currentTime`);
+  ok(stats.isActive, "profiler-status event is isActive");
+  is(typeof stats.currentTime, "number", "profiler-status event has currentTime");
 
   // Halt once more for a buffer status to ensure we're beyond 0
   yield once(front, "profiler-status");
 
   let lastBufferStatus = 0;
   let checkCount = 0;
   while (lastBufferStatus < 1) {
     let currentBufferStatus = front.getBufferUsageForRecording(model);
--- a/devtools/server/tests/browser/browser_perf-samples-01.js
+++ b/devtools/server/tests/browser/browser_perf-samples-01.js
@@ -5,17 +5,17 @@
  * Tests if the retrieved profiler data samples are correctly filtered and
  * normalized before passed to consumers.
  */
 
 const WAIT_TIME = 1000; // ms
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_perf-samples-02.js
+++ b/devtools/server/tests/browser/browser_perf-samples-02.js
@@ -6,17 +6,17 @@
  * If this ever changes, the |ThreadNode.prototype.insert| function in
  * devtools/client/performance/modules/logic/tree-model.js will have to be changed.
  */
 
 const WAIT_TIME = 1000; // ms
 
 const { PerformanceFront } = require("devtools/server/actors/performance");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = PerformanceFront(client, form);
   yield front.connect();
--- a/devtools/server/tests/browser/browser_register_actor.js
+++ b/devtools/server/tests/browser/browser_register_actor.js
@@ -28,29 +28,29 @@ function test() {
           ok(!!tab.helloActor, "Hello actor must exist");
 
           // Make sure actor's state is maintained across listTabs requests.
           checkActorState(tab.helloActor, () => {
 
             // Clean up
             actorFront.unregister().then(() => {
               gClient.close(() => {
-                 DebuggerServer.destroy();
-                 gClient = null;
-                 finish();
+                DebuggerServer.destroy();
+                gClient = null;
+                finish();
               });
             });
           });
         });
       });
     });
 }
 
 function checkActorState(helloActor, callback) {
-getCount(helloActor, response => {
+  getCount(helloActor, response => {
     ok(!response.error, "No error");
     is(response.count, 1, "The counter must be valid");
 
     getCount(helloActor, response => {
       ok(!response.error, "No error");
       is(response.count, 2, "The counter must be valid");
 
       gClient.listTabs(response => {
--- a/devtools/server/tests/browser/browser_storage_dynamic_windows.js
+++ b/devtools/server/tests/browser/browser_storage_dynamic_windows.js
@@ -268,17 +268,17 @@ function testRemoveIframe(front) {
       if (iframe.src.startsWith("http:")) {
         iframe.remove();
         break;
       }
     }
   });
 }
 
-add_task(function*() {
+add_task(function* () {
   yield openTabAndSetupStorage(MAIN_DOMAIN + "storage-dynamic-windows.html");
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = StorageFront(client, form);
   let data = yield front.listStores();
   yield testStores(data, front);
--- a/devtools/server/tests/browser/browser_storage_listings.js
+++ b/devtools/server/tests/browser/browser_storage_listings.js
@@ -311,23 +311,23 @@ const IDBValues = {
             id2: 13,
             name2: "foo",
             email: "foo@bar.com",
           }
         }
       ]
     }
   }
-}
+};
 
 function finishTests(client) {
 
   let closeConnection = () => {
 
-  }
+  };
 }
 
 function* testStores(data) {
   ok(data.cookies, "Cookies storage actor is present");
   ok(data.localStorage, "Local Storage storage actor is present");
   ok(data.sessionStorage, "Session Storage storage actor is present");
   ok(data.indexedDB, "Indexed DB storage actor is present");
   yield testCookies(data.cookies);
@@ -336,17 +336,17 @@ function* testStores(data) {
   yield testIndexedDB(data.indexedDB);
 }
 
 function testCookies(cookiesActor) {
   is(Object.keys(cookiesActor.hosts).length, 2, "Correct number of host entries for cookies");
   return testCookiesObjects(0, cookiesActor.hosts, cookiesActor);
 }
 
-var testCookiesObjects = Task.async(function*(index, hosts, cookiesActor) {
+var testCookiesObjects = Task.async(function* (index, hosts, cookiesActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = data => {
     is(data.total, storeMap.cookies[host].length,
        "Number of cookies in host " + host + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of storeMap.cookies[host]) {
         if (item.name == toMatch.name) {
@@ -374,17 +374,17 @@ var testCookiesObjects = Task.async(func
 });
 
 function testLocalStorage(localStorageActor) {
   is(Object.keys(localStorageActor.hosts).length, 3,
      "Correct number of host entries for local storage");
   return testLocalStorageObjects(0, localStorageActor.hosts, localStorageActor);
 }
 
-var testLocalStorageObjects = Task.async(function*(index, hosts, localStorageActor) {
+var testLocalStorageObjects = Task.async(function* (index, hosts, localStorageActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = data => {
     is(data.total, storeMap.localStorage[host].length,
        "Number of local storage items in host " + host + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of storeMap.localStorage[host]) {
         if (item.name == toMatch.name) {
@@ -408,17 +408,17 @@ var testLocalStorageObjects = Task.async
 
 function testSessionStorage(sessionStorageActor) {
   is(Object.keys(sessionStorageActor.hosts).length, 3,
      "Correct number of host entries for session storage");
   return testSessionStorageObjects(0, sessionStorageActor.hosts,
                                    sessionStorageActor);
 }
 
-var testSessionStorageObjects = Task.async(function*(index, hosts, sessionStorageActor) {
+var testSessionStorageObjects = Task.async(function* (index, hosts, sessionStorageActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = data => {
     is(data.total, storeMap.sessionStorage[host].length,
        "Number of session storage items in host " + host + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of storeMap.sessionStorage[host]) {
         if (item.name == toMatch.name) {
@@ -435,17 +435,17 @@ var testSessionStorageObjects = Task.asy
   ok(!!storeMap.sessionStorage[host], "Host is present in the list : " + host);
   matchItems(yield sessionStorageActor.getStoreObjects(host));
   if (index == Object.keys(hosts).length - 1) {
     return;
   }
   yield testSessionStorageObjects(++index, hosts, sessionStorageActor);
 });
 
-var testIndexedDB = Task.async(function*(indexedDBActor) {
+var testIndexedDB = Task.async(function* (indexedDBActor) {
   is(Object.keys(indexedDBActor.hosts).length, 3,
      "Correct number of host entries for indexed db");
 
   for (let host in indexedDBActor.hosts) {
     for (let item of indexedDBActor.hosts[host]) {
       let parsedItem = JSON.parse(item);
       let found = false;
       for (let toMatch of IDBValues.listStoresResponse[host]) {
@@ -454,21 +454,21 @@ var testIndexedDB = Task.async(function*
           break;
         }
       }
       ok(found, item + " should exist in list stores response");
     }
   }
 
   yield testIndexedDBs(0, indexedDBActor.hosts, indexedDBActor);
-  yield  testObjectStores(0, indexedDBActor.hosts, indexedDBActor);
-  yield  testIDBEntries(0, indexedDBActor.hosts, indexedDBActor);
+  yield testObjectStores(0, indexedDBActor.hosts, indexedDBActor);
+  yield testIDBEntries(0, indexedDBActor.hosts, indexedDBActor);
 });
 
-var testIndexedDBs = Task.async(function*(index, hosts, indexedDBActor) {
+var testIndexedDBs = Task.async(function* (index, hosts, indexedDBActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = data => {
     is(data.total, IDBValues.dbDetails[host].length,
        "Number of indexed db in host " + host + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of IDBValues.dbDetails[host]) {
         if (item.db == toMatch.db) {
@@ -488,17 +488,17 @@ var testIndexedDBs = Task.async(function
   ok(!!IDBValues.dbDetails[host], "Host is present in the list : " + host);
   matchItems(yield indexedDBActor.getStoreObjects(host));
   if (index == Object.keys(hosts).length - 1) {
     return;
   }
   yield testIndexedDBs(++index, hosts, indexedDBActor);
 });
 
-var testObjectStores = Task.async(function*(index, hosts, indexedDBActor) {
+var testObjectStores = Task.async(function* (index, hosts, indexedDBActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = (data, db) => {
     is(data.total, IDBValues.objectStoreDetails[host][db].length,
        "Number of object stores in host " + host + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of IDBValues.objectStoreDetails[host][db]) {
         if (item.objectStore == toMatch.objectStore) {
@@ -539,17 +539,17 @@ var testObjectStores = Task.async(functi
     ), objName[0]);
   }
   if (index == Object.keys(hosts).length - 1) {
     return;
   }
   yield testObjectStores(++index, hosts, indexedDBActor);
 });
 
-var testIDBEntries = Task.async(function*(index, hosts, indexedDBActor) {
+var testIDBEntries = Task.async(function* (index, hosts, indexedDBActor) {
   let host = Object.keys(hosts)[index];
   let matchItems = (data, obj) => {
     is(data.total, IDBValues.entries[host][obj].length,
        "Number of items in object store " + obj + " matches");
     for (let item of data.data) {
       let found = false;
       for (let toMatch of IDBValues.entries[host][obj]) {
         if (item.name == toMatch.name) {
@@ -577,17 +577,17 @@ var testIDBEntries = Task.async(function
     ), parsed[0] + "#" + parsed[1]);
   }
   if (index == Object.keys(hosts).length - 1) {
     return;
   }
   yield testObjectStores(++index, hosts, indexedDBActor);
 });
 
-add_task(function*() {
+add_task(function* () {
   yield openTabAndSetupStorage(MAIN_DOMAIN + "storage-listings.html");
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = StorageFront(client, form);
   let data = yield front.listStores();
   yield testStores(data);
--- a/devtools/server/tests/browser/browser_storage_updates.js
+++ b/devtools/server/tests/browser/browser_storage_updates.js
@@ -9,17 +9,17 @@ const beforeReload = {
   cookies: ["test1.example.org", "sectest1.example.org"],
   localStorage: ["http://test1.example.org", "http://sectest1.example.org"],
   sessionStorage: ["http://test1.example.org", "http://sectest1.example.org"],
 };
 
 const TESTS = [
   // index 0
   {
-    action: function(win) {
+    action: function (win) {
       info('win.addCookie("c1", "foobar1")');
       win.addCookie("c1", "foobar1");
 
       info('win.addCookie("c2", "foobar2")');
       win.addCookie("c2", "foobar2");
 
       info('win.localStorage.setItem("l1", "foobar1")');
       win.localStorage.setItem("l1", "foobar1");
@@ -33,17 +33,17 @@ const TESTS = [
           "http://test1.example.org": ["l1"]
         }
       }
     }
   },
 
   // index 1
   {
-    action: function(win) {
+    action: function (win) {
       info('win.addCookie("c1", "new_foobar1")');
       win.addCookie("c1", "new_foobar1");
 
       info('win.localStorage.setItem("l2", "foobar2")');
       win.localStorage.setItem("l2", "foobar2");
     },
     expected: {
       changed: {
@@ -56,17 +56,17 @@ const TESTS = [
           "http://test1.example.org": ["l2"]
         }
       }
     }
   },
 
   // index 2
   {
-    action: function(win) {
+    action: function (win) {
       info('win.removeCookie("c2")');
       win.removeCookie("c2");
 
       info('win.localStorage.removeItem("l1")');
       win.localStorage.removeItem("l1");
 
       info('win.localStorage.setItem("l3", "foobar3")');
       win.localStorage.setItem("l3", "foobar3");
@@ -85,17 +85,17 @@ const TESTS = [
           "http://test1.example.org": ["l3"]
         }
       }
     }
   },
 
   // index 3
   {
-    action: function(win) {
+    action: function (win) {
       info('win.removeCookie("c1")');
       win.removeCookie("c1");
 
       info('win.addCookie("c3", "foobar3")');
       win.addCookie("c3", "foobar3");
 
       info('win.localStorage.removeItem("l2")');
       win.localStorage.removeItem("l2");
@@ -131,32 +131,32 @@ const TESTS = [
           "http://test1.example.org": ["l2"]
         }
       }
     }
   },
 
   // index 4
   {
-    action: function(win) {
+    action: function (win) {
       info('win.sessionStorage.removeItem("s1")');
       win.sessionStorage.removeItem("s1");
     },
     expected: {
       deleted: {
         sessionStorage: {
           "http://test1.example.org": ["s1"]
         }
       }
     }
   },
 
   // index 5
   {
-    action: function(win) {
+    action: function (win) {
       info("win.clearCookies()");
       win.clearCookies();
     },
     expected: {
       deleted: {
         cookies: {
           "test1.example.org": ["c3"]
         }
@@ -222,17 +222,17 @@ function onStoresUpdate(expected, {added
     info("Everything expected has been received for index " + index);
   } else {
     info("Still some updates pending for index " + index);
   }
 }
 
 function runTest({action, expected}, front, win, index) {
   return new Promise(resolve => {
-    front.once("stores-update", function(addedChangedDeleted) {
+    front.once("stores-update", function (addedChangedDeleted) {
       onStoresUpdate(expected, addedChangedDeleted, index);
       resolve();
     });
 
     info("Running test at index " + index);
     action(win);
   });
 }
@@ -276,17 +276,17 @@ function storesCleared(data) {
 }
 
 function* finishTests(client) {
   yield client.close();
   DebuggerServer.destroy();
   finish();
 }
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "storage-updates.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
 
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = StorageFront(client, form);
--- a/devtools/server/tests/browser/browser_stylesheets_getTextEmpty.js
+++ b/devtools/server/tests/browser/browser_stylesheets_getTextEmpty.js
@@ -6,17 +6,17 @@
 
 // Test that StyleSheetActor.getText handles empty text correctly.
 
 const {StyleSheetsFront} = require("devtools/shared/fronts/stylesheets");
 
 const CONTENT = "<style>body { background-color: #f0c; }</style>";
 const TEST_URI = "data:text/html;charset=utf-8," + encodeURIComponent(CONTENT);
 
-add_task(function*() {
+add_task(function* () {
   yield addTab(TEST_URI);
 
   info("Initialising the debugger server and client.");
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
 
   info("Attaching to the active tab.");
--- a/devtools/server/tests/browser/browser_stylesheets_nested-iframes.js
+++ b/devtools/server/tests/browser/browser_stylesheets_nested-iframes.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Test that StyleSheetsActor.getStyleSheets() works if an iframe does not have
 // a content document.
 
 const {StyleSheetsFront} = require("devtools/shared/fronts/stylesheets");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "stylesheets-nested-iframes.html");
   let doc = browser.contentDocument;
 
   info("Initialising the debugger server and client.");
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
 
--- a/devtools/server/tests/browser/browser_timeline.js
+++ b/devtools/server/tests/browser/browser_timeline.js
@@ -7,17 +7,17 @@
 // Test that the timeline front's start/stop/isRecording methods work in a
 // simple use case, and that markers events are sent when operations occur.
 // Note that this test isn't concerned with which markers are actually recorded,
 // just that markers are recorded at all.
 // Trying to check marker types here may lead to intermittents, see bug 1066474.
 
 const {TimelineFront} = require("devtools/server/actors/timeline");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab("data:text/html;charset=utf-8,mop");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
 
--- a/devtools/server/tests/browser/browser_timeline_actors.js
+++ b/devtools/server/tests/browser/browser_timeline_actors.js
@@ -4,17 +4,17 @@
 
 "use strict";
 
 // Test that the timeline can also record data from the memory and framerate
 // actors, emitted as events in tadem with the markers.
 
 const {TimelineFront} = require("devtools/server/actors/timeline");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab("data:text/html;charset=utf-8,mop");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
 
@@ -58,12 +58,12 @@ add_task(function*() {
  * @param number interval [optional]
  *        How often the predicate is invoked, in milliseconds.
  */
 function waitUntil(predicate, interval = 10) {
   if (predicate()) {
     return Promise.resolve(true);
   }
   return new Promise(resolve =>
-    setTimeout(function() {
+    setTimeout(function () {
       waitUntil(predicate).then(() => resolve(true));
     }, interval));
 }
--- a/devtools/server/tests/browser/browser_timeline_iframes.js
+++ b/devtools/server/tests/browser/browser_timeline_iframes.js
@@ -4,31 +4,31 @@
 
 "use strict";
 
 // Test the timeline front receives markers events for operations that occur in
 // iframes.
 
 const {TimelineFront} = require("devtools/server/actors/timeline");
 
-add_task(function*() {
+add_task(function* () {
   let browser = yield addTab(MAIN_DOMAIN + "timeline-iframe-parent.html");
   let doc = browser.contentDocument;
 
   initDebuggerServer();
   let client = new DebuggerClient(DebuggerServer.connectPipe());
   let form = yield connectDebuggerClient(client);
   let front = TimelineFront(client, form);
 
   info("Start timeline marker recording");
   yield front.start({ withMarkers: true });
 
   // Check that we get markers for a few iterations of the timer that runs in
   // the child frame.
-  for (let i = 0; i < 3; i ++) {
+  for (let i = 0; i < 3; i++) {
     yield wait(300); // That's the time the child frame waits before changing styles.
     let markers = yield once(front, "markers");
     ok(markers.length, "Markers were received for operations in the child frame");
   }
 
   info("Stop timeline marker recording");
   yield front.stop();
   yield closeDebuggerClient(client);
--- a/devtools/server/tests/browser/head.js
+++ b/devtools/server/tests/browser/head.js
@@ -100,17 +100,17 @@ function closeDebuggerClient(client) {
 /**
  * Wait for eventName on target.
  * @param {Object} target An observable object that either supports on/off or
  * addEventListener/removeEventListener
  * @param {String} eventName
  * @param {Boolean} useCapture Optional, for addEventListener/removeEventListener
  * @return A promise that resolves when the event has been handled
  */
-function once(target, eventName, useCapture=false) {
+function once(target, eventName, useCapture = false) {
   info("Waiting for event: '" + eventName + "' on " + target + ".");
 
   return new Promise(resolve => {
 
     for (let [add, remove] of [
       ["addEventListener", "removeEventListener"],
       ["addListener", "removeListener"],
       ["on", "off"]
@@ -175,34 +175,34 @@ function busyWait(time) {
  * @param number interval [optional]
  *        How often the predicate is invoked, in milliseconds.
  */
 function waitUntil(predicate, interval = 10) {
   if (predicate()) {
     return Promise.resolve(true);
   }
   return new Promise(resolve => {
-    setTimeout(function() {
+    setTimeout(function () {
       waitUntil(predicate).then(() => resolve(true));
     }, interval);
   });
 }
 
 function waitForMarkerType(front, types, predicate,
   unpackFun = (name, data) => data.markers,
   eventName = "timeline-data")
 {
   types = [].concat(types);
-  predicate = predicate || function(){ return true; };
+  predicate = predicate || function () { return true; };
   let filteredMarkers = [];
   let { promise, resolve } = defer();
 
   info("Waiting for markers of type: " + types);
 
-  function handler (name, data) {
+  function handler(name, data) {
     if (typeof name === "string" && name !== "markers") {
       return;
     }
 
     let markers = unpackFun(name, data);
     info("Got markers: " + JSON.stringify(markers, null, 2));
 
     filteredMarkers = filteredMarkers.concat(markers.filter(m => types.indexOf(m.name) !== -1));
--- a/devtools/server/tests/browser/storage-helpers.js
+++ b/devtools/server/tests/browser/storage-helpers.js
@@ -10,30 +10,30 @@
  * @param url {String} The url to be opened in the new tab
  *
  * @return {Promise} A promise that resolves after storage inspector is ready
  */
 function* openTabAndSetupStorage(url) {
   let content = yield addTab(url);
 
   // Setup the async storages in main window and for all its iframes
-  yield ContentTask.spawn(gBrowser.selectedBrowser, null, function*() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
     /**
      * Get all windows including frames recursively.
      *
      * @param {Window} [baseWindow]
      *        The base window at which to start looking for child windows
      *        (optional).
      * @return {Set}
      *         A set of windows.
      */
     function getAllWindows(baseWindow) {
       let windows = new Set();
 
-      let _getAllWindows = function(win) {
+      let _getAllWindows = function (win) {
         windows.add(win.wrappedJSObject);
 
         for (let i = 0; i < win.length; i++) {
           _getAllWindows(win[i]);
         }
       };
       _getAllWindows(baseWindow);
 
@@ -45,30 +45,30 @@ function* openTabAndSetupStorage(url) {
       if (win.setup) {
         yield win.setup();
       }
     }
   });
 }
 
 function* clearStorage() {
-  yield ContentTask.spawn(gBrowser.selectedBrowser, null, function*() {
+  yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
     /**
      * Get all windows including frames recursively.
      *
      * @param {Window} [baseWindow]
      *        The base window at which to start looking for child windows
      *        (optional).
      * @return {Set}
      *         A set of windows.
      */
     function getAllWindows(baseWindow) {
       let windows = new Set();
 
-      let _getAllWindows = function(win) {
+      let _getAllWindows = function (win) {
         windows.add(win.wrappedJSObject);
 
         for (let i = 0; i < win.length; i++) {
           _getAllWindows(win[i]);
         }
       };
       _getAllWindows(baseWindow);
 
--- a/devtools/server/tests/mochitest/director-helpers.js
+++ b/devtools/server/tests/mochitest/director-helpers.js
@@ -3,29 +3,29 @@ const {require} = Cu.import("resource://
 const {DebuggerClient} = require("devtools/shared/client/main");
 const {DebuggerServer} = require("devtools/server/main");
 const Services = require("Services");
 
 // Always log packets when running tests.
 Services.prefs.setBoolPref("devtools.debugger.log", true);
 Services.prefs.setBoolPref("dom.mozBrowserFramesEnabled", true);
 
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   Services.prefs.clearUserPref("devtools.debugger.log");
   Services.prefs.clearUserPref("dom.mozBrowserFramesEnabled");
 });
 
 const { DirectorRegistry,
         DirectorRegistryFront } = require("devtools/server/actors/director-registry");
 
 const { DirectorManagerFront } = require("devtools/server/actors/director-manager");
 
 const {Task} = require("resource://gre/modules/Task.jsm");
 
-/***********************************
+/** *********************************
  *  director helpers functions
  **********************************/
 
 function* newConnectedDebuggerClient(opts) {
   var transport = DebuggerServer.connectPipe();
   var client = new DebuggerClient(transport);
 
   yield client.connect();
--- a/devtools/server/tests/mochitest/hello-actor.js
+++ b/devtools/server/tests/mochitest/hello-actor.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const protocol = require("devtools/shared/protocol");
 
 var HelloActor = protocol.ActorClass({
   typeName: "helloActor",
 
-  initialize: function() {
+  initialize: function () {
     protocol.Actor.prototype.initialize.apply(this, arguments);
     this.counter = 0;
   },
 
   count: protocol.method(function () {
     return ++this.counter;
   }, {
     request: {},
--- a/devtools/server/tests/mochitest/inspector-helpers.js
+++ b/devtools/server/tests/mochitest/inspector-helpers.js
@@ -6,32 +6,32 @@ const {DebuggerServer} = require("devtoo
 Cu.import("resource://gre/modules/Task.jsm");
 
 const Services = require("Services");
 const promise = require("promise");
 const {_documentWalker} = require("devtools/server/actors/inspector");
 
 // Always log packets when running tests.
 Services.prefs.setBoolPref("devtools.debugger.log", true);
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   Services.prefs.clearUserPref("devtools.debugger.log");
 });
 
 
 if (!DebuggerServer.initialized) {
   DebuggerServer.init();
   DebuggerServer.addBrowserActors();
-  SimpleTest.registerCleanupFunction(function() {
+  SimpleTest.registerCleanupFunction(function () {
     DebuggerServer.destroy();
   });
 }
 
 var gAttachCleanups = [];
 
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   for (let cleanup of gAttachCleanups) {
     cleanup();
   }
 });
 
 /**
  * Open a tab, load the url, wait for it to signal its readiness,
  * find the tab with the debugger server, and call the callback.
@@ -58,20 +58,20 @@ function attachURL(url, callback) {
   window.addEventListener("message", function loadListener(event) {
     if (event.data === "ready") {
       client = new DebuggerClient(DebuggerServer.connectPipe());
       client.connect().then(([applicationType, traits]) => {
         client.listTabs(response => {
           for (let tab of response.tabs) {
             if (tab.url === url) {
               window.removeEventListener("message", loadListener, false);
-              client.attachTab(tab.actor, function(aResponse, aTabClient) {
+              client.attachTab(tab.actor, function (aResponse, aTabClient) {
                 try {
                   callback(null, client, tab, win.document);
-                } catch(ex) {
+                } catch (ex) {
                   Cu.reportError(ex);
                   dump(ex);
                 }
               });
               break;
             }
           }
         });
@@ -112,57 +112,57 @@ function serverOwnershipSubtree(walker, 
     if (item) {
       children.push(item);
     }
     child = docwalker.nextSibling();
   }
   return {
     name: actor.actorID,
     children: sortOwnershipChildren(children)
-  }
+  };
 }
 
 function serverOwnershipTree(walker) {
   let serverConnection = walker.conn._transport._serverConnection;
   let serverWalker = serverConnection.getActor(walker.actorID);
 
   return {
-    root: serverOwnershipSubtree(serverWalker, serverWalker.rootDoc ),
+    root: serverOwnershipSubtree(serverWalker, serverWalker.rootDoc),
     orphaned: [...serverWalker._orphaned].map(o => serverOwnershipSubtree(serverWalker, o.rawNode)),
     retained: [...serverWalker._retainedOrphans].map(o => serverOwnershipSubtree(serverWalker, o.rawNode))
   };
 }
 
 function clientOwnershipSubtree(node) {
   return {
     name: node.actorID,
     children: sortOwnershipChildren(node.treeChildren().map(child => clientOwnershipSubtree(child)))
-  }
+  };
 }
 
 function clientOwnershipTree(walker) {
   return {
     root: clientOwnershipSubtree(walker.rootNode),
     orphaned: [...walker._orphaned].map(o => clientOwnershipSubtree(o)),
     retained: [...walker._retainedOrphans].map(o => clientOwnershipSubtree(o))
-  }
+  };
 }
 
 function ownershipTreeSize(tree) {
   let size = 1;
   for (let child of tree.children) {
     size += ownershipTreeSize(child);
   }
   return size;
 }
 
 function assertOwnershipTrees(walker) {
   let serverTree = serverOwnershipTree(walker);
   let clientTree = clientOwnershipTree(walker);
-  is(JSON.stringify(clientTree, null, ' '), JSON.stringify(serverTree, null, ' '), "Server and client ownership trees should match.");
+  is(JSON.stringify(clientTree, null, " "), JSON.stringify(serverTree, null, " "), "Server and client ownership trees should match.");
 
   return ownershipTreeSize(clientTree.root);
 }
 
 // Verify that an actorID is inaccessible both from the client library and the server.
 function checkMissing(client, actorID) {
   let deferred = promise.defer();
   let front = client.getActor(actorID);
@@ -264,28 +264,28 @@ function assertFrameLoad(mutations) {
 // Make sure there's a childList change in the mutation list and strip
 // that mutation out of the list
 function assertChildList(mutations) {
   return assertAndStrip(mutations, "Should have had a frame load change.", isChildList);
 }
 
 // Load mutations aren't predictable, so keep accumulating mutations until
 // the one we're looking for shows up.
-function waitForMutation(walker, test, mutations=[]) {
+function waitForMutation(walker, test, mutations = []) {
   let deferred = promise.defer();
   for (let change of mutations) {
     if (test(change)) {
       deferred.resolve(mutations);
     }
   }
 
   walker.once("mutations", newMutations => {
     waitForMutation(walker, test, mutations.concat(newMutations)).then(finalMutations => {
       deferred.resolve(finalMutations);
-    })
+    });
   });
 
   return deferred.promise;
 }
 
 
 var _tests = [];
 function addTest(test) {
@@ -293,17 +293,17 @@ function addTest(test) {
 }
 
 function addAsyncTest(generator) {
   _tests.push(() => Task.spawn(generator).then(null, ok.bind(null, false)));
 }
 
 function runNextTest() {
   if (_tests.length == 0) {
-    SimpleTest.finish()
+    SimpleTest.finish();
     return;
   }
   var fn = _tests.shift();
   try {
     fn();
   } catch (ex) {
     info("Test function " + (fn.name ? "'" + fn.name + "' " : "") +
          "threw an exception: " + ex);
--- a/devtools/server/tests/mochitest/memory-helpers.js
+++ b/devtools/server/tests/mochitest/memory-helpers.js
@@ -7,17 +7,17 @@ var { require } = Cu.import("resource://
 var Services = require("Services");
 var { DebuggerClient } = require("devtools/shared/client/main");
 var { DebuggerServer } = require("devtools/server/main");
 
 var { MemoryFront } = require("devtools/server/actors/memory");
 
 // Always log packets when running tests.
 Services.prefs.setBoolPref("devtools.debugger.log", true);
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   Services.prefs.clearUserPref("devtools.debugger.log");
 });
 
 function startServerAndGetSelectedTabMemory() {
   DebuggerServer.init();
   DebuggerServer.addBrowserActors();
   var client = new DebuggerClient(DebuggerServer.connectPipe());
 
@@ -29,17 +29,17 @@ function startServerAndGetSelectedTabMem
 
       return { memory, client };
     });
 }
 
 function destroyServerAndFinish(client) {
   client.close(() => {
     DebuggerServer.destroy();
-    SimpleTest.finish()
+    SimpleTest.finish();
   });
 }
 
 function waitForTime(ms) {
   return new Promise((resolve, reject) => {
     setTimeout(resolve, ms);
   });
 }
--- a/devtools/server/tests/mochitest/memprof-helpers.js
+++ b/devtools/server/tests/mochitest/memprof-helpers.js
@@ -8,17 +8,17 @@ var { require } =
 
 var Services = require("Services");
 var { DebuggerClient } = require("devtools/shared/client/main");
 var { DebuggerServer } = require("devtools/server/main");
 var { MemprofFront } = require("devtools/server/actors/memprof");
 
 // Always log packets when running tests.
 Services.prefs.setBoolPref("devtools.debugger.log", true);
-SimpleTest.registerCleanupFunction(function() {
+SimpleTest.registerCleanupFunction(function () {
   Services.prefs.clearUserPref("devtools.debugger.log");
 });
 
 function startServerAndGetSelectedTabMemprof() {
   DebuggerServer.init();
   DebuggerServer.addBrowserActors();
   var client = new DebuggerClient(DebuggerServer.connectPipe());
 
--- a/devtools/server/tests/mochitest/setup-in-child.js
+++ b/devtools/server/tests/mochitest/setup-in-child.js
@@ -1,20 +1,20 @@
 const {Cc, Ci} = require("chrome");
 const cpmm = Cc["@mozilla.org/childprocessmessagemanager;1"].
   getService(Ci.nsIMessageListenerManager);
 const { DebuggerServer } = require("devtools/server/main");
 
 exports.setupChild = function (a, b, c) {
   cpmm.sendAsyncMessage("test:setupChild", [a, b, c]);
-}
+};
 
 exports.callParent = function () {
   // Hack! Fetch DebuggerServerConnection objects directly within DebuggerServer guts.
   for (let id in DebuggerServer._connections) {
     let conn = DebuggerServer._connections[id];
     conn.setupInParent({
       module: "chrome://mochitests/content/chrome/devtools/server/tests/mochitest/setup-in-parent.js",
       setupParent: "setupParent",
       args: [{one: true}, 2, "three"]
     });
   }
-}
+};
--- a/devtools/server/tests/mochitest/setup-in-parent.js
+++ b/devtools/server/tests/mochitest/setup-in-parent.js
@@ -2,9 +2,9 @@ var {Ci} = require("chrome");
 var Services = require("Services");
 
 exports.setupParent = function ({mm, prefix}) {
   let args = [
     !!mm.QueryInterface(Ci.nsIMessageSender),
     prefix
   ];
   Services.obs.notifyObservers(null, "test:setupParent", JSON.stringify(args));
-}
+};
--- a/devtools/server/tests/unit/head_dbg.js
+++ b/devtools/server/tests/unit/head_dbg.js
@@ -4,17 +4,17 @@
 "use strict";
 var Cc = Components.classes;
 var Ci = Components.interfaces;
 var Cu = Components.utils;
 var Cr = Components.results;
 var CC = Components.Constructor;
 
 const { require, loader } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-const { worker } = Cu.import("resource://devtools/shared/worker/loader.js", {})
+const { worker } = Cu.import("resource://devtools/shared/worker/loader.js", {});
 const promise = require("promise");
 const { Task } = Cu.import("resource://gre/modules/Task.jsm", {});
 
 const Services = require("Services");
 // Always log packets when running tests. runxpcshelltests.py will throw
 // the output away anyway, unless you give it the --verbose flag.
 Services.prefs.setBoolPref("devtools.debugger.log", true);
 // Enable remote debugging for the relevant tests.
@@ -26,17 +26,17 @@ const { DebuggerServer: WorkerDebuggerSe
 const { DebuggerClient, ObjectClient } = require("devtools/shared/client/main");
 const { MemoryFront } = require("devtools/server/actors/memory");
 
 const { addDebuggerToGlobal } = Cu.import("resource://gre/modules/jsdebugger.jsm", {});
 
 const systemPrincipal = Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal);
 
 var loadSubScript = Cc[
-  '@mozilla.org/moz/jssubscript-loader;1'
+  "@mozilla.org/moz/jssubscript-loader;1"
 ].getService(Ci.mozIJSSubScriptLoader).loadSubScript;
 
 /**
  * Create a `run_test` function that runs the given generator in a task after
  * having attached to a memory actor. When done, the memory actor is detached
  * from, the client is finished, and the test is finished.
  *
  * @param {GeneratorFunction} testGeneratorFunction
@@ -64,17 +64,17 @@ function makeMemoryActorTest(testGenerat
         }
 
         Task.spawn(function* () {
           try {
             const memoryFront = new MemoryFront(client, tabForm, rootForm);
             yield memoryFront.attach();
             yield* testGeneratorFunction(client, memoryFront);
             yield memoryFront.detach();
-          } catch(err) {
+          } catch (err) {
             DevToolsUtils.reportException("makeMemoryActorTest", err);
             ok(false, "Got an error: " + err);
           }
 
           finishClient(client);
         });
       });
     });
@@ -103,17 +103,17 @@ function makeFullRuntimeMemoryActorTest(
 
         Task.spawn(function* () {
           try {
             const rootForm = yield listTabs(client);
             const memoryFront = new MemoryFront(client, form, rootForm);
             yield memoryFront.attach();
             yield* testGeneratorFunction(client, memoryFront);
             yield memoryFront.detach();
-          } catch(err) {
+          } catch (err) {
             DevToolsUtils.reportException("makeMemoryActorTest", err);
             ok(false, "Got an error: " + err);
           }
 
           finishClient(client);
         });
       });
     });
@@ -219,18 +219,18 @@ function tryImport(url) {
 }
 
 tryImport("resource://devtools/shared/Loader.jsm");
 tryImport("resource://gre/modules/Console.jsm");
 
 function testExceptionHook(ex) {
   try {
     do_report_unexpected_exception(ex);
-  } catch(ex) {
-    return {throw: ex}
+  } catch (ex) {
+    return {throw: ex};
   }
   return undefined;
 }
 
 // Convert an nsIScriptError 'aFlags' value into an appropriate string.
 function scriptErrorFlagsToKind(aFlags) {
   var kind;
   if (aFlags & Ci.nsIScriptError.warningFlag)
@@ -365,17 +365,17 @@ function attachTestThread(aClient, aTitl
 }
 
 // Attach to |aClient|'s tab whose title is |aTitle|, attach to the tab's
 // thread, and then resume it. Pass |aCallback| the thread's response to
 // the 'resume' packet, a TabClient for the tab, and a ThreadClient for the
 // thread.
 function attachTestTabAndResume(aClient, aTitle, aCallback = () => {}) {
   return new Promise((resolve, reject) => {
-    attachTestThread(aClient, aTitle, function(aResponse, aTabClient, aThreadClient) {
+    attachTestThread(aClient, aTitle, function (aResponse, aTabClient, aThreadClient) {
       aThreadClient.resume(function (aResponse) {
         aCallback(aResponse, aTabClient, aThreadClient);
         resolve([aResponse, aTabClient, aThreadClient]);
       });
     });
   });
 }
 
@@ -400,17 +400,17 @@ function startTestDebuggerServer(title, 
   let transport = DebuggerServer.connectPipe();
   let client = new DebuggerClient(transport);
 
   return connect(client).then(() => client);
 }
 
 function finishClient(aClient)
 {
-  aClient.close(function() {
+  aClient.close(function () {
     DebuggerServer.destroy();
     do_test_finished();
   });
 }
 
 // Create a server, connect to it and fetch tab actors for the parent process;
 // pass |aCallback| the debugger client and tab actor form with all actor IDs.
 function get_chrome_actors(callback)
@@ -432,26 +432,26 @@ function get_chrome_actors(callback)
 function getChromeActors(client, server = DebuggerServer) {
   server.allowChromeProcess = true;
   return client.getProcess().then(response => response.form);
 }
 
 /**
  * Takes a relative file path and returns the absolute file url for it.
  */
-function getFileUrl(aName, aAllowMissing=false) {
+function getFileUrl(aName, aAllowMissing = false) {
   let file = do_get_file(aName, aAllowMissing);
   return Services.io.newFileURI(file).spec;
 }
 
 /**
  * Returns the full path of the file with the specified name in a
  * platform-independent and URL-like form.
  */
-function getFilePath(aName, aAllowMissing=false, aUsePlatformPathSeparator=false)
+function getFilePath(aName, aAllowMissing = false, aUsePlatformPathSeparator = false)
 {
   let file = do_get_file(aName, aAllowMissing);
   let path = Services.io.newFileURI(file).spec;
   let filePrePath = "file://";
   if ("nsILocalFileWin" in Ci &&
       file instanceof Ci.nsILocalFileWin) {
     filePrePath += "/";
   }
@@ -508,76 +508,76 @@ function TracingTransport(childTransport
 
   this.expectations = [];
   this.packets = [];
   this.checkIndex = 0;
 }
 
 TracingTransport.prototype = {
   // Remove actor names
-  normalize: function(packet) {
+  normalize: function (packet) {
     return JSON.parse(JSON.stringify(packet, (key, value) => {
       if (key === "to" || key === "from" || key === "actor") {
         return "<actorid>";
       }
       return value;
     }));
   },
-  send: function(packet) {
+  send: function (packet) {
     this.packets.push({
       type: "sent",
       packet: this.normalize(packet)
     });
     return this.child.send(packet);
   },
-  close: function() {
+  close: function () {
     return this.child.close();
   },
-  ready: function() {
+  ready: function () {
     return this.child.ready();
   },
-  onPacket: function(packet) {
+  onPacket: function (packet) {
     this.packets.push({
       type: "received",
       packet: this.normalize(packet)
     });
     this.hooks.onPacket(packet);
   },
-  onClosed: function() {
+  onClosed: function () {
     this.hooks.onClosed();
   },
 
-  expectSend: function(expected) {
+  expectSend: function (expected) {
     let packet = this.packets[this.checkIndex++];
     do_check_eq(packet.type, "sent");
     deepEqual(packet.packet, this.normalize(expected));
   },
 
-  expectReceive: function(expected) {
+  expectReceive: function (expected) {
     let packet = this.packets[this.checkIndex++];
     do_check_eq(packet.type, "received");
     deepEqual(packet.packet, this.normalize(expected));
   },
 
   // Write your tests, call dumpLog at the end, inspect the output,
   // then sprinkle the calls through the right places in your test.
-  dumpLog: function() {
+  dumpLog: function () {
     for (let entry of this.packets) {
       if (entry.type === "sent") {
         dumpn("trace.expectSend(" + entry.packet + ");");
       } else {
         dumpn("trace.expectReceive(" + entry.packet + ");");
       }
     }
   }
 };
 
 function StubTransport() { }
 StubTransport.prototype.ready = function () {};
-StubTransport.prototype.send  = function () {};
+StubTransport.prototype.send = function () {};
 StubTransport.prototype.close = function () {};
 
 function executeSoon(aFunc) {
   Services.tm.mainThread.dispatch({
     run: DevToolsUtils.makeInfallible(aFunc)
   }, Ci.nsIThread.DISPATCH_NORMAL);
 }
 
@@ -614,17 +614,17 @@ var do_check_matches = function (pattern
   do_check_matches_old(pattern, value);
 };
 
 // Create async version of the object where calling each method
 // is equivalent of calling it with asyncall. Mainly useful for
 // destructuring objects with methods that take callbacks.
 const Async = target => new Proxy(target, Async);
 Async.get = (target, name) =>
-  typeof(target[name]) === "function" ? asyncall.bind(null, target[name], target) :
+  typeof (target[name]) === "function" ? asyncall.bind(null, target[name], target) :
   target[name];
 
 // Calls async function that takes callback and errorback and returns
 // returns promise representing result.
 const asyncall = (fn, self, ...args) =>
   new Promise((...etc) => fn.call(self, ...args, ...etc));
 
 const Test = task => () => {
@@ -790,17 +790,17 @@ function getSourceContent(sourceClient) 
  *
  * @param ThreadClient threadClient
  * @param string url
  * @returns Promise<SourceClient>
  */
 function getSource(threadClient, url) {
   let deferred = promise.defer();
   threadClient.getSources((res) => {
-    let source = res.sources.filter(function(s) {
+    let source = res.sources.filter(function (s) {
       return s.url === url;
     });
     if (source.length) {
       deferred.resolve(threadClient.source(source[0]));
     }
     else {
       deferred.reject(new Error("source not found"));
     }
--- a/devtools/server/tests/unit/registertestactors-01.js
+++ b/devtools/server/tests/unit/registertestactors-01.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function Actor() {}
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.addTabActor(Actor, "registeredActor1");
   handle.addGlobalActor(Actor, "registeredActor1");
-}
+};
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.removeTabActor(Actor);
   handle.removeGlobalActor(Actor);
-}
+};
 
--- a/devtools/server/tests/unit/registertestactors-02.js
+++ b/devtools/server/tests/unit/registertestactors-02.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function Actor() {}
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.addGlobalActor(Actor, "registeredActor2");
   handle.addTabActor(Actor, "registeredActor2");
-}
+};
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.removeTabActor(Actor);
   handle.removeGlobalActor(Actor);
-}
+};
 
--- a/devtools/server/tests/unit/registertestactors-03.js
+++ b/devtools/server/tests/unit/registertestactors-03.js
@@ -3,32 +3,32 @@
 
 var {method, RetVal, Actor, ActorClass, Front, FrontClass} =
   require("devtools/shared/protocol");
 var Services = require("Services");
 
 exports.LazyActor = ActorClass({
   typeName: "lazy",
 
-  initialize: function(conn, id) {
+  initialize: function (conn, id) {
     Actor.prototype.initialize.call(this, conn);
 
     Services.obs.notifyObservers(null, "actor", "instantiated");
   },
 
-  hello: method(function(str) {
+  hello: method(function (str) {
     return "world";
   }, {
     response: { str: RetVal("string") }
   })
 });
 
 Services.obs.notifyObservers(null, "actor", "loaded");
 
 exports.LazyFront = FrontClass(exports.LazyActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     Front.prototype.initialize.call(this, client);
     this.actorID = form.lazyActor;
 
     client.addActorPool(this);
     this.manage(this);
   }
 });
--- a/devtools/server/tests/unit/sourcemapped.js
+++ b/devtools/server/tests/unit/sourcemapped.js
@@ -1,13 +1,13 @@
 // Generated by CoffeeScript 1.6.1
-(function() {
+(function () {
   var first, foo, second, third, _ref;
 
-  foo = function(n) {
+  foo = function (n) {
     var i, _i;
     for (i = _i = 0; 0 <= n ? _i < n : _i > n; i = 0 <= n ? ++_i : --_i) {
       return "foo" + i;
     }
   };
 
   _ref = foo(3), first = _ref[0], second = _ref[1], third = _ref[2];
 
--- a/devtools/server/tests/unit/test_ScriptStore.js
+++ b/devtools/server/tests/unit/test_ScriptStore.js
@@ -108,17 +108,17 @@ function testAddScripts() {
 
   for (let s of ss.getAllScripts()) {
     ok(scripts.has(s));
   }
 }
 
 function testGetSources() {
   const ss = new ScriptStore();
-  ss.addScripts([...scripts])
+  ss.addScripts([...scripts]);
 
   const expected = new Set([firstSource, secondSource, thirdSource]);
   const actual = ss.getSources();
   equal(expected.size, actual.length);
 
   for (let s of actual) {
     ok(expected.has(s));
     expected.delete(s);
@@ -135,17 +135,17 @@ function testGetScriptsBySource() {
   deepEqual(actual, expected);
 }
 
 function testGetScriptsBySourceAndLine() {
   const ss = new ScriptStore();
   ss.addScripts([...scripts]);
 
   const expected = [...scripts].filter(
-    s => s.source === firstSource && contains(s, 65))
+    s => s.source === firstSource && contains(s, 65));
   const actual = ss.getScriptsBySourceAndLine(firstSource, 65);
 
   deepEqual(actual, expected);
 }
 
 function testGetScriptsByURL() {
   const ss = new ScriptStore();
   ss.addScripts([...scripts]);
@@ -156,13 +156,13 @@ function testGetScriptsByURL() {
   deepEqual(actual, expected);
 }
 
 function testGetScriptsByURLAndLine() {
   const ss = new ScriptStore();
   ss.addScripts([...scripts]);
 
   const expected = [...scripts].filter(
-    s => s.url === "index.html" && contains(s, 250))
+    s => s.url === "index.html" && contains(s, 250));
   const actual = ss.getScriptsByURLAndLine("index.html", 250);
 
   deepEqual(actual, expected);
 }
--- a/devtools/server/tests/unit/test_actor-registry-actor.js
+++ b/devtools/server/tests/unit/test_actor-registry-actor.js
@@ -37,17 +37,17 @@ function registerNewActor() {
     type: { global: true }
   };
 
   gRegistryFront
     .registerActor("resource://test/hello-actor.js", options)
     .then(actorFront => gActorFront = actorFront)
     .then(talkToNewActor)
     .then(null, e => {
-      DevToolsUtils.reportException("registerNewActor", e)
+      DevToolsUtils.reportException("registerNewActor", e);
       do_check_true(false);
     });
 }
 
 function talkToNewActor() {
   gClient.listTabs(({ helloActor }) => {
     do_check_true(!!helloActor);
     gClient.request({
@@ -60,17 +60,17 @@ function talkToNewActor() {
   });
 }
 
 function unregisterNewActor() {
   gActorFront
     .unregister()
     .then(testActorIsUnregistered)
     .then(null, e => {
-      DevToolsUtils.reportException("unregisterNewActor", e)
+      DevToolsUtils.reportException("unregisterNewActor", e);
       do_check_true(false);
     });
 }
 
 function testActorIsUnregistered() {
   gClient.listTabs(({ helloActor }) => {
     do_check_true(!helloActor);
 
--- a/devtools/server/tests/unit/test_animation_name.js
+++ b/devtools/server/tests/unit/test_animation_name.js
@@ -5,26 +5,26 @@
 // Test that AnimationPlayerActor.getName returns the right name depending on
 // the type of an animation and the various properties available on it.
 
 const { AnimationPlayerActor } = require("devtools/server/actors/animation");
 
 function run_test() {
   // Mock a window with just the properties the AnimationPlayerActor uses.
   let window = {
-    MutationObserver: function() {
+    MutationObserver: function () {
       this.observe = () => {};
     },
-    Animation: function() {
+    Animation: function () {
       this.effect = {target: getMockNode()};
     },
-    CSSAnimation: function() {
+    CSSAnimation: function () {
       this.effect = {target: getMockNode()};
     },
-    CSSTransition: function() {
+    CSSTransition: function () {
       this.effect = {target: getMockNode()};
     }
   };
 
   window.CSSAnimation.prototype = Object.create(window.Animation.prototype);
   window.CSSTransition.prototype = Object.create(window.Animation.prototype);
 
   // Helper to get a mock DOM node.
--- a/devtools/server/tests/unit/test_animation_type.js
+++ b/devtools/server/tests/unit/test_animation_type.js
@@ -5,26 +5,26 @@
 // Test the output of AnimationPlayerActor.getType().
 
 const { ANIMATION_TYPES, AnimationPlayerActor } =
   require("devtools/server/actors/animation");
 
 function run_test() {
   // Mock a window with just the properties the AnimationPlayerActor uses.
   let window = {
-    MutationObserver: function() {
+    MutationObserver: function () {
       this.observe = () => {};
     },
-    Animation: function() {
+    Animation: function () {
       this.effect = {target: getMockNode()};
     },
-    CSSAnimation: function() {
+    CSSAnimation: function () {
       this.effect = {target: getMockNode()};
     },
-    CSSTransition: function() {
+    CSSTransition: function () {
       this.effect = {target: getMockNode()};
     }
   };
 
   window.CSSAnimation.prototype = Object.create(window.Animation.prototype);
   window.CSSTransition.prototype = Object.create(window.Animation.prototype);
 
   // Helper to get a mock DOM node.
--- a/devtools/server/tests/unit/test_attach.js
+++ b/devtools/server/tests/unit/test_attach.js
@@ -7,31 +7,31 @@ var gDebuggee;
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = testGlobal("test-1");
   DebuggerServer.addTestGlobal(gDebuggee);
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.connect().then(function([aType, aTraits]) {
-    attachTestTab(gClient, "test-1", function(aReply, aTabClient) {
+  gClient.connect().then(function ([aType, aTraits]) {
+    attachTestTab(gClient, "test-1", function (aReply, aTabClient) {
       test_attach(aTabClient);
     });
   });
   do_test_pending();
 }
 
 function test_attach(aTabClient)
 {
-  aTabClient.attachThread({}, function(aResponse, aThreadClient) {
+  aTabClient.attachThread({}, function (aResponse, aThreadClient) {
     do_check_eq(aThreadClient.state, "paused");
     aThreadClient.resume(cleanup);
   });
 }
 
 function cleanup()
 {
-  gClient.addListener("closed", function(aEvent) {
+  gClient.addListener("closed", function (aEvent) {
     do_test_finished();
   });
   gClient.close();
 }
--- a/devtools/server/tests/unit/test_blackboxing-01.js
+++ b/devtools/server/tests/unit/test_blackboxing-01.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       testBlackBox();
     });
   });
   do_test_pending();
 }
 
 const BLACK_BOXED_URL = "http://example.com/blackboxme.js";
@@ -62,17 +62,17 @@ const testBlackBox = Task.async(function
       do_check_eq(aLocation.source.url, SOURCE_URL);
       do_check_eq(aLocation.line, 4);
     },
     function onDebuggerStatementFrames(aFrames) {
       for (let f of aFrames) {
         if (f.where.source.url == BLACK_BOXED_URL) {
           do_check_true(f.where.source.isBlackBoxed);
         } else {
-          do_check_true(!f.where.source.isBlackBoxed)
+          do_check_true(!f.where.source.isBlackBoxed);
         }
       }
     }
   );
 
   let unBlackBoxResponse = yield unBlackBox(sourceClient);
   do_check_true(!sourceClient.isBlackBoxed);
 
--- a/devtools/server/tests/unit/test_blackboxing-02.js
+++ b/devtools/server/tests/unit/test_blackboxing-02.js
@@ -11,33 +11,33 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_black_box();
     });
   });
   do_test_pending();
 }
 
 const BLACK_BOXED_URL = "http://example.com/blackboxme.js";
 const SOURCE_URL = "http://example.com/source.js";
 
 function test_black_box()
 {
-  gClient.addOneTimeListener("paused", function  (aEvent, aPacket) {
-    gThreadClient.eval(aPacket.frame.actor, "doStuff", function(aResponse) {
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.eval(aPacket.frame.actor, "doStuff", function (aResponse) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         let obj = gThreadClient.pauseGrip(aPacket.why.frameFinished.return);
         obj.getDefinitionSite(runWithSource);
       });
     });
 
     function runWithSource(aPacket) {
       let source = gThreadClient.source(aPacket.source);
       source.setBreakpoint({
--- a/devtools/server/tests/unit/test_blackboxing-03.js
+++ b/devtools/server/tests/unit/test_blackboxing-03.js
@@ -10,31 +10,31 @@ var gClient;
 var gThreadClient;
 var gBpClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_black_box();
     });
   });
   do_test_pending();
 }
 
 const BLACK_BOXED_URL = "http://example.com/blackboxme.js";
 const SOURCE_URL = "http://example.com/source.js";
 
 function test_black_box()
 {
-  gClient.addOneTimeListener("paused", function  (aEvent, aPacket) {
+  gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let source = gThreadClient.source(aPacket.frame.where.source);
     source.setBreakpoint({
       line: 4
     }, function ({error}, bpClient) {
       gBpClient = bpClient;
       do_check_true(!error, "Should not get an error: " + error);
       gThreadClient.resume(test_black_box_dbg_statement);
     });
--- a/devtools/server/tests/unit/test_blackboxing-04.js
+++ b/devtools/server/tests/unit/test_blackboxing-04.js
@@ -9,33 +9,33 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_black_box();
     });
   });
   do_test_pending();
 }
 
 const BLACK_BOXED_URL = "http://example.com/blackboxme.js";
 const SOURCE_URL = "http://example.com/source.js";
 
 function test_black_box()
 {
-  gClient.addOneTimeListener("paused", function  (aEvent, aPacket) {
-    gThreadClient.eval(aPacket.frame.actor, "doStuff", function(aResponse) {
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.eval(aPacket.frame.actor, "doStuff", function (aResponse) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         let obj = gThreadClient.pauseGrip(aPacket.why.frameFinished.return);
         obj.getDefinitionSite(runWithSource);
       });
     });
 
     function runWithSource(aPacket) {
       let source = gThreadClient.source(aPacket.source);
       source.setBreakpoint({
--- a/devtools/server/tests/unit/test_blackboxing-05.js
+++ b/devtools/server/tests/unit/test_blackboxing-05.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       // XXX: We have to do an executeSoon so that the error isn't caught and
       // reported by DebuggerClient.requester (because we are using the local
       // transport and share a stack) which causes the test to fail.
       Services.tm.mainThread.dispatch({
         run: test_black_box
       }, Ci.nsIThread.DISPATCH_NORMAL);
     });
--- a/devtools/server/tests/unit/test_blackboxing-06.js
+++ b/devtools/server/tests/unit/test_blackboxing-06.js
@@ -11,18 +11,18 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
 
       promise.resolve(setup_code())
         .then(black_box_code)
         .then(run_code)
         .then(test_correct_location)
         .then(null, function (error) {
           do_check_true(false, "Should not get an error, got " + error);
--- a/devtools/server/tests/unit/test_blackboxing-07.js
+++ b/devtools/server/tests/unit/test_blackboxing-07.js
@@ -10,18 +10,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-black-box");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-black-box", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-black-box", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       testBlackBox();
     });
   });
   do_test_pending();
 }
 
 const BLACK_BOXED_URL = "http://example.com/black-boxed.min.js";
--- a/devtools/server/tests/unit/test_breakpoint-01.js
+++ b/devtools/server/tests/unit/test_breakpoint-01.js
@@ -10,17 +10,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-02.js
+++ b/devtools/server/tests/unit/test_breakpoint-02.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -41,22 +41,22 @@ function test_breakpoint_running()
 
     // Setting the breakpoint later should interrupt the debuggee.
     gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
       do_check_eq(aPacket.type, "paused");
       do_check_eq(aPacket.why.type, "interrupted");
     });
 
     let source = gThreadClient.source(aPacket.frame.where.source);
-    source.setBreakpoint(location, function(aResponse) {
+    source.setBreakpoint(location, function (aResponse) {
       // Eval scripts don't stick around long enough for the breakpoint to be set,
       // so just make sure we got the expected response from the actor.
       do_check_neq(aResponse.error, "noScript");
 
-      do_execute_soon(function() {
+      do_execute_soon(function () {
         gClient.close(gCallback);
       });
     });
   });
 
   Cu.evalInSandbox(
     "var line0 = Error().lineNumber;\n" +
     "debugger;\n" +
--- a/devtools/server/tests/unit/test_breakpoint-03.js
+++ b/devtools/server/tests/unit/test_breakpoint-03.js
@@ -13,17 +13,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-04.js
+++ b/devtools/server/tests/unit/test_breakpoint-04.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-05.js
+++ b/devtools/server/tests/unit/test_breakpoint-05.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-06.js
+++ b/devtools/server/tests/unit/test_breakpoint-06.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -80,10 +80,10 @@ function test_nested_breakpoint()
     "    }\n" +                // line0 + 7
     "    baz();\n" +           // line0 + 8
     "  }\n" +                  // line0 + 9
     "  bar();\n" +             // line0 + 10
     "}\n" +                    // line0 + 11
     "debugger;\n" +            // line0 + 12
     "foo();\n",               // line0 + 13
     gDebuggee
-  )
+  );
 }
--- a/devtools/server/tests/unit/test_breakpoint-07.js
+++ b/devtools/server/tests/unit/test_breakpoint-07.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -76,10 +76,10 @@ function test_second_child_skip_breakpoi
     "function bar() {\n" + // line0 + 4
     "  this.a = 1;\n" +    // line0 + 5
     "  // A comment.\n" +  // line0 + 6
     "  this.b = 2;\n" +    // line0 + 7
     "}\n" +                // line0 + 8
     "debugger;\n" +        // line0 + 9
     "foo();\n",           // line0 + 10
     gDebuggee
-  )
+  );
 }
--- a/devtools/server/tests/unit/test_breakpoint-08.js
+++ b/devtools/server/tests/unit/test_breakpoint-08.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -31,18 +31,18 @@ function run_test_with_server(aServer, a
       test_child_skip_breakpoint();
     });
   });
 }
 
 function test_child_skip_breakpoint()
 {
   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
-    gThreadClient.eval(aPacket.frame.actor, "foo", function(aResponse) {
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+    gThreadClient.eval(aPacket.frame.actor, "foo", function (aResponse) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         let obj = gThreadClient.pauseGrip(aPacket.why.frameFinished.return);
         obj.getDefinitionSite(runWithBreakpoint);
       });
     });
 
     function runWithBreakpoint(aPacket) {
       let source = gThreadClient.source(aPacket.source);
       let location = { line: gDebuggee.line0 + 3 };
--- a/devtools/server/tests/unit/test_breakpoint-09.js
+++ b/devtools/server/tests/unit/test_breakpoint-09.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -51,20 +51,20 @@ function test_remove_breakpoint()
         do_check_eq(gDebuggee.a, undefined);
 
         // Remove the breakpoint.
         bpClient.remove(function (aResponse) {
           done = true;
           gThreadClient.addOneTimeListener("paused",
                                            function (aEvent, aPacket) {
             // The breakpoint should not be hit again.
-            gThreadClient.resume(function () {
-              do_check_true(false);
-            });
-          });
+                                             gThreadClient.resume(function () {
+                                               do_check_true(false);
+                                             });
+                                           });
           gThreadClient.resume();
         });
 
       });
       // Continue until the breakpoint is hit.
       gThreadClient.resume();
 
     });
--- a/devtools/server/tests/unit/test_breakpoint-10.js
+++ b/devtools/server/tests/unit/test_breakpoint-10.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-11.js
+++ b/devtools/server/tests/unit/test_breakpoint-11.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_breakpoint-12.js
+++ b/devtools/server/tests/unit/test_breakpoint-12.js
@@ -15,17 +15,17 @@ var gCount;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   gCount = 1;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
--- a/devtools/server/tests/unit/test_breakpoint-13.js
+++ b/devtools/server/tests/unit/test_breakpoint-13.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -34,58 +34,58 @@ function run_test_with_server(aServer, a
 }
 
 function test_simple_breakpoint()
 {
   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let source = gThreadClient.source(aPacket.frame.where.source);
     let location = { line: gDebuggee.line0 + 2 };
 
-    source.setBreakpoint(location, Task.async(function*(aResponse, bpClient) {
+    source.setBreakpoint(location, Task.async(function* (aResponse, bpClient) {
       const testCallbacks = [
-        function(aPacket) {
+        function (aPacket) {
           // Check that the stepping worked.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 5);
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Entered the foo function call frame.
           do_check_eq(aPacket.frame.where.line, location.line);
           do_check_neq(aPacket.why.type, "breakpoint");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // At the end of the foo function call frame.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 3);
           do_check_neq(aPacket.why.type, "breakpoint");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Check that the breakpoint wasn't the reason for this pause, but
           // that the frame is about to be popped while stepping.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 3);
           do_check_neq(aPacket.why.type, "breakpoint");
           do_check_eq(aPacket.why.type, "resumeLimit");
           do_check_eq(aPacket.why.frameFinished.return.type, "undefined");
         },
-        function(aPacket) {
+        function (aPacket) {
           // The foo function call frame was just popped from the stack.
           do_check_eq(gDebuggee.a, 1);
           do_check_eq(gDebuggee.b, undefined);
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 5);
           do_check_eq(aPacket.why.type, "resumeLimit");
           do_check_eq(aPacket.poppedFrames.length, 1);
         },
-        function(aPacket) {
+        function (aPacket) {
           // Check that the debugger statement wasn't the reason for this pause.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 6);
           do_check_neq(aPacket.why.type, "debuggerStatement");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Check that the debugger statement wasn't the reason for this pause.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 7);
           do_check_neq(aPacket.why.type, "debuggerStatement");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
       ];
 
       for (let callback of testCallbacks) {
--- a/devtools/server/tests/unit/test_breakpoint-14.js
+++ b/devtools/server/tests/unit/test_breakpoint-14.js
@@ -12,17 +12,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
@@ -34,56 +34,56 @@ function run_test_with_server(aServer, a
 }
 
 function test_simple_breakpoint()
 {
   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let source = gThreadClient.source(aPacket.frame.where.source);
     let location = { line: gDebuggee.line0 + 2 };
 
-    source.setBreakpoint(location, Task.async(function*(aResponse, bpClient) {
+    source.setBreakpoint(location, Task.async(function* (aResponse, bpClient) {
       const testCallbacks = [
-        function(aPacket) {
+        function (aPacket) {
           // Check that the stepping worked.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 5);
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Reached the breakpoint.
           do_check_eq(aPacket.frame.where.line, location.line);
           do_check_eq(aPacket.why.type, "breakpoint");
           do_check_neq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Stepped to the closing brace of the function.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 3);
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // The frame is about to be popped while stepping.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 3);
           do_check_neq(aPacket.why.type, "breakpoint");
           do_check_eq(aPacket.why.type, "resumeLimit");
           do_check_eq(aPacket.why.frameFinished.return.type, "undefined");
         },
-        function(aPacket) {
+        function (aPacket) {
           // The foo function call frame was just popped from the stack.
           do_check_eq(gDebuggee.a, 1);
           do_check_eq(gDebuggee.b, undefined);
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 5);
           do_check_eq(aPacket.why.type, "resumeLimit");
           do_check_eq(aPacket.poppedFrames.length, 1);
         },
-        function(aPacket) {
+        function (aPacket) {
           // Check that the debugger statement wasn't the reason for this pause.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 6);
           do_check_neq(aPacket.why.type, "debuggerStatement");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
-        function(aPacket) {
+        function (aPacket) {
           // Check that the debugger statement wasn't the reason for this pause.
           do_check_eq(aPacket.frame.where.line, gDebuggee.line0 + 7);
           do_check_neq(aPacket.why.type, "debuggerStatement");
           do_check_eq(aPacket.why.type, "resumeLimit");
         },
       ];
 
       for (let callback of testCallbacks) {
--- a/devtools/server/tests/unit/test_breakpoint-16.js
+++ b/devtools/server/tests/unit/test_breakpoint-16.js
@@ -11,31 +11,31 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-breakpoints", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
     attachTestTabAndResume(gClient,
                            "test-breakpoints",
                            function (aResponse, aTabClient, aThreadClient) {
-      gThreadClient = aThreadClient;
-      test_column_breakpoint();
-    });
+                             gThreadClient = aThreadClient;
+                             test_column_breakpoint();
+                           });
   });
 }
 
 function test_column_breakpoint()
 {
   // Debugger statement
   gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let source = gThreadClient.source(aPacket.frame.where.source);
--- a/devtools/server/tests/unit/test_breakpoint-17.js
+++ b/devtools/server/tests/unit/test_breakpoint-17.js
@@ -10,26 +10,26 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, do_test_finished);
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-breakpoints", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-breakpoints", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-breakpoints", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_breakpoints_columns();
     });
   });
 }
 
 const code =
 "(" + function (global) {
--- a/devtools/server/tests/unit/test_breakpoint-18.js
+++ b/devtools/server/tests/unit/test_breakpoint-18.js
@@ -12,32 +12,32 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-breakpoints", aServer);
   gDebuggee.console = { log: x => void x };
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
     attachTestTabAndResume(gClient,
                            "test-breakpoints",
                            function (aResponse, aTabClient, aThreadClient) {
-      gThreadClient = aThreadClient;
-      setUpCode();
-    });
+                             gThreadClient = aThreadClient;
+                             setUpCode();
+                           });
   });
 }
 
 function setUpCode() {
   gClient.addOneTimeListener("paused", setBreakpoint);
   Cu.evalInSandbox(
     "debugger;\n" +
     function test() {
--- a/devtools/server/tests/unit/test_breakpoint-19.js
+++ b/devtools/server/tests/unit/test_breakpoint-19.js
@@ -12,32 +12,32 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-breakpoints", aServer);
   gDebuggee.console = { log: x => void x };
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
     attachTestTabAndResume(gClient,
                            "test-breakpoints",
                            function (aResponse, aTabClient, aThreadClient) {
-      gThreadClient = aThreadClient;
-      testBreakpoint();
-    });
+                             gThreadClient = aThreadClient;
+                             testBreakpoint();
+                           });
   });
 }
 
 const URL = "test.js";
 
 function setUpCode() {
   Cu.evalInSandbox(
     "" + function test() { // 1
@@ -58,13 +58,13 @@ const testBreakpoint = Task.async(functi
 
   let actor = response.actor;
   ok(actor);
 
   yield executeOnNextTickAndWaitForPause(setUpCode, gClient);
   yield resume(gThreadClient);
 
   let packet = yield executeOnNextTickAndWaitForPause(gDebuggee.test, gClient);
-  equal(packet.why.type, "breakpoint")
+  equal(packet.why.type, "breakpoint");
   notEqual(packet.why.actors.indexOf(actor), -1);
 
   finishClient(gClient);
 });
--- a/devtools/server/tests/unit/test_breakpoint-20.js
+++ b/devtools/server/tests/unit/test_breakpoint-20.js
@@ -11,17 +11,17 @@ var gClient;
 var gTraceClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-breakpoints");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
+  gClient.connect().then(function () {
     attachTestThread(gClient, "test-breakpoints", testBreakpoint);
   });
   do_test_pending();
 }
 
 const testBreakpoint = Task.async(function* (threadResponse, tabClient, threadClient, tabResponse) {
   evalSetupCode();
 
--- a/devtools/server/tests/unit/test_breakpoint-21.js
+++ b/devtools/server/tests/unit/test_breakpoint-21.js
@@ -13,35 +13,35 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-breakpoints", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
     attachTestTabAndResume(gClient,
                            "test-breakpoints",
                            function (aResponse, aTabClient, aThreadClient) {
-      gThreadClient = aThreadClient;
-      test();
-    });
+                             gThreadClient = aThreadClient;
+                             test();
+                           });
   });
 }
 
-const test = Task.async(function*() {
+const test = Task.async(function* () {
   // Populate the `ScriptStore` so that we only test that the script
   // is added through `onNewScript`
   yield getSources(gThreadClient);
 
   let packet = yield executeOnNextTickAndWaitForPause(evalCode, gClient);
   let source = gThreadClient.source(packet.frame.where.source);
   let location = {
     line: gDebuggee.line0 + 8
@@ -60,23 +60,23 @@ const test = Task.async(function*() {
 
   yield resume(gThreadClient);
   finishClient(gClient);
 });
 
 function evalCode() {
   // Start a new script
   Components.utils.evalInSandbox(
-    "var line0 = Error().lineNumber;\n(" + function() {
+    "var line0 = Error().lineNumber;\n(" + function () {
       debugger;
-      var a = (function() {
-        return (function() {
-          return (function() {
-            return (function() {
-              return (function() {
+      var a = (function () {
+        return (function () {
+          return (function () {
+            return (function () {
+              return (function () {
                 var x = 10; // This line gets a breakpoint
                 return 1;
               })();
             })();
           })();
         })();
       })();
     } + ")()",
--- a/devtools/server/tests/unit/test_breakpoint-actor-map.js
+++ b/devtools/server/tests/unit/test_breakpoint-actor-map.js
@@ -16,21 +16,21 @@ function run_test()
   test_delete_actor();
   test_find_actors();
   test_duplicate_actors();
 }
 
 function test_get_actor() {
   let bpStore = new BreakpointActorMap();
   let location = {
-    originalSourceActor: { actor: 'actor1' },
+    originalSourceActor: { actor: "actor1" },
     originalLine: 3
   };
   let columnLocation = {
-    originalSourceActor: { actor: 'actor2' },
+    originalSourceActor: { actor: "actor2" },
     originalLine: 5,
     originalColumn: 15
   };
 
   // Shouldn't have breakpoint
   do_check_eq(null, bpStore.getActor(location),
               "Breakpoint not added and shouldn't exist.");
 
@@ -54,50 +54,50 @@ function test_get_actor() {
   do_check_eq(null, bpStore.getActor(columnLocation),
               "Breakpoint with column removed but still exists in Breakpoint Store.");
 }
 
 function test_set_actor() {
   // Breakpoint with column
   let bpStore = new BreakpointActorMap();
   let location = {
-    originalSourceActor: { actor: 'actor1' },
+    originalSourceActor: { actor: "actor1" },
     originalLine: 10,
     originalColumn: 9
   };
   bpStore.setActor(location, {});
   do_check_true(!!bpStore.getActor(location),
                 "We should have the column breakpoint we just added");
 
   // Breakpoint without column (whole line breakpoint)
   location = {
-    originalSourceActor: { actor: 'actor2' },
+    originalSourceActor: { actor: "actor2" },
     originalLine: 103
   };
   bpStore.setActor(location, {});
   do_check_true(!!bpStore.getActor(location),
                 "We should have the whole line breakpoint we just added");
 }
 
 function test_delete_actor() {
   // Breakpoint with column
   let bpStore = new BreakpointActorMap();
   let location = {
-    originalSourceActor: { actor: 'actor1' },
+    originalSourceActor: { actor: "actor1" },
     originalLine: 10,
     originalColumn: 9
   };
   bpStore.setActor(location, {});
   bpStore.deleteActor(location);
   do_check_eq(bpStore.getActor(location), null,
               "We should not have the column breakpoint anymore");
 
   // Breakpoint without column (whole line breakpoint)
   location = {
-    originalSourceActor: { actor: 'actor2' },
+    originalSourceActor: { actor: "actor2" },
     originalLine: 103
   };
   bpStore.setActor(location, {});
   bpStore.deleteActor(location);
   do_check_eq(bpStore.getActor(location), null,
               "We should not have the whole line breakpoint anymore");
 }
 
@@ -125,17 +125,17 @@ function test_find_actors() {
   for (let bp of bpStore.findActors()) {
     bpSet.delete(bp);
   }
   do_check_eq(bpSet.size, 0,
               "Should be able to iterate over all breakpoints");
 
   // Breakpoints by URL
 
-  bpSet = new Set(bps.filter(bp => { return bp.originalSourceActor.actorID === "actor1" }));
+  bpSet = new Set(bps.filter(bp => { return bp.originalSourceActor.actorID === "actor1"; }));
   for (let bp of bpStore.findActors({ originalSourceActor: { actorID: "actor1" } })) {
     bpSet.delete(bp);
   }
   do_check_eq(bpSet.size, 0,
               "Should be able to filter the iteration by url");
 
   // Breakpoints by URL and line
 
--- a/devtools/server/tests/unit/test_client_close.js
+++ b/devtools/server/tests/unit/test_client_close.js
@@ -7,33 +7,33 @@ var gDebuggee;
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = testGlobal("test-1");
   DebuggerServer.addTestGlobal(gDebuggee);
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.connect().then(function(aType, aTraits) {
-    attachTestTab(gClient, "test-1", function(aReply, aTabClient) {
+  gClient.connect().then(function (aType, aTraits) {
+    attachTestTab(gClient, "test-1", function (aReply, aTabClient) {
       test_close(transport);
     });
   });
   do_test_pending();
 }
 
 function test_close(aTransport)
 {
   // Check that, if we fake a transport shutdown
   // (like if a device is unplugged)
   // the client is automatically closed,
   // and we can still call client.close.
-  let onClosed = function() {
+  let onClosed = function () {
     gClient.removeListener("closed", onClosed);
     ok(true, "Client emitted 'closed' event");
-    gClient.close(function() {
+    gClient.close(function () {
       ok(true, "client.close() successfully called its callback");
       do_test_finished();
     });
-  }
+  };
   gClient.addListener("closed", onClosed);
   aTransport.close();
 }
--- a/devtools/server/tests/unit/test_client_request.js
+++ b/devtools/server/tests/unit/test_client_request.js
@@ -148,18 +148,18 @@ function test_close_client_while_sending
 
   // Pile up a second one that will be "pending".
   // i.e. won't event be sent.
   let pendingRequest = gClient.request({
     to: gActorId,
     type: "hello"
   });
 
-  let expectReply = promise.defer()
-  gClient.expectReply("root", function(response) {
+  let expectReply = promise.defer();
+  gClient.expectReply("root", function (response) {
     do_check_eq(response.error, "connectionClosed");
     do_check_eq(response.message, "server side packet from 'root' can't be received as the connection just closed.");
     expectReply.resolve();
   });
 
   gClient.close(() => {
     activeRequest.then(() => {
       ok(false, "First request unexpectedly succeed while closing the connection");
@@ -170,17 +170,17 @@ function test_close_client_while_sending
     .then(() => pendingRequest)
     .then(() => {
       ok(false, "Second request unexpectedly succeed while closing the connection");
     }, response => {
       do_check_eq(response.error, "connectionClosed");
       do_check_eq(response.message, "'hello' pending request packet to '" + gActorId + "' can't be sent as the connection just closed.");
     })
     .then(() => expectReply.promise)
-    .then(run_next_test)
+    .then(run_next_test);
   });
 }
 
 function test_client_request_after_close()
 {
   // Test that DebuggerClient.request fails after we called client.close()
   // (with promise API)
   let request = gClient.request({
--- a/devtools/server/tests/unit/test_conditional_breakpoint-02.js
+++ b/devtools/server/tests/unit/test_conditional_breakpoint-02.js
@@ -23,18 +23,18 @@ function run_test()
   do_test_pending();
 }
 
 function test_simple_breakpoint()
 {
   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let source = gThreadClient.source(aPacket.frame.where.source);
     source.setBreakpoint({
-        line: 3,
-        condition: "a === 2"
+      line: 3,
+      condition: "a === 2"
     }, function (aResponse, bpClient) {
       gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Check the return value.
         do_check_eq(aPacket.why.type, "debuggerStatement");
         do_check_eq(aPacket.frame.where.line, 4);
 
         // Remove the breakpoint.
         bpClient.remove(function (aResponse) {
--- a/devtools/server/tests/unit/test_dbgactor.js
+++ b/devtools/server/tests/unit/test_dbgactor.js
@@ -9,19 +9,19 @@ const xpcInspector = Cc["@mozilla.org/js
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = testGlobal("test-1");
   DebuggerServer.addTestGlobal(gDebuggee);
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.addListener("connected", function(aEvent, aType, aTraits) {
+  gClient.addListener("connected", function (aEvent, aType, aTraits) {
     gClient.listTabs((aResponse) => {
-      do_check_true('tabs' in aResponse);
+      do_check_true("tabs" in aResponse);
       for (let tab of aResponse.tabs) {
         if (tab.title == "test-1") {
           test_attach_tab(tab.actor);
           return false;
         }
       }
       do_check_true(false); // We should have found our tab in the list.
       return undefined;
@@ -31,30 +31,30 @@ function run_test()
   gClient.connect();
 
   do_test_pending();
 }
 
 // Attach to |aTabActor|, and check the response.
 function test_attach_tab(aTabActor)
 {
-  gClient.request({ to: aTabActor, type: "attach" }, function(aResponse) {
+  gClient.request({ to: aTabActor, type: "attach" }, function (aResponse) {
     do_check_false("error" in aResponse);
     do_check_eq(aResponse.from, aTabActor);
     do_check_eq(aResponse.type, "tabAttached");
     do_check_true(typeof aResponse.threadActor === "string");
 
     test_attach_thread(aResponse.threadActor);
   });
 }
 
 // Attach to |aThreadActor|, check the response, and resume it.
 function test_attach_thread(aThreadActor)
 {
-  gClient.request({ to: aThreadActor, type: "attach" }, function(aResponse) {
+  gClient.request({ to: aThreadActor, type: "attach" }, function (aResponse) {
     do_check_false("error" in aResponse);
     do_check_eq(aResponse.from, aThreadActor);
     do_check_eq(aResponse.type, "paused");
     do_check_true("why" in aResponse);
     do_check_eq(aResponse.why.type, "attached");
 
     test_resume_thread(aThreadActor);
   });
@@ -73,44 +73,44 @@ function test_resume_thread(aThreadActor
     do_check_eq(xpcInspector.eventLoopNestLevel, 0);
 
     // Now that we know we're resumed, we can make the debuggee do something.
     Cu.evalInSandbox("var a = true; var b = false; debugger; var b = true;", gDebuggee);
     // Now make sure that we've run the code after the debugger statement...
     do_check_true(gDebuggee.b);
   });
 
-  gClient.addListener("paused", function(aName, aPacket) {
+  gClient.addListener("paused", function (aName, aPacket) {
     do_check_eq(aName, "paused");
     do_check_false("error" in aPacket);
     do_check_eq(aPacket.from, aThreadActor);
     do_check_eq(aPacket.type, "paused");
     do_check_true("actor" in aPacket);
-    do_check_true("why" in aPacket)
+    do_check_true("why" in aPacket);
     do_check_eq(aPacket.why.type, "debuggerStatement");
 
     // Reach around the protocol to check that the debuggee is in the state
     // we expect.
     do_check_true(gDebuggee.a);
     do_check_false(gDebuggee.b);
 
     do_check_eq(xpcInspector.eventLoopNestLevel, 1);
 
     // Let the debuggee continue execution.
     gClient.request({ to: aThreadActor, type: "resume" }, cleanup);
   });
 }
 
 function cleanup()
 {
-  gClient.addListener("closed", function(aEvent, aResult) {
+  gClient.addListener("closed", function (aEvent, aResult) {
     do_test_finished();
   });
 
   try {
     let xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
     do_check_eq(xpcInspector.eventLoopNestLevel, 0);
-  } catch(e) {
+  } catch (e) {
     dump(e);
   }
 
   gClient.close();
 }
--- a/devtools/server/tests/unit/test_dbgclient_debuggerstatement.js
+++ b/devtools/server/tests/unit/test_dbgclient_debuggerstatement.js
@@ -8,41 +8,41 @@ var gDebuggee;
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = testGlobal("test-1");
   DebuggerServer.addTestGlobal(gDebuggee);
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.connect().then(function([aType, aTraits]) {
-    attachTestTab(gClient, "test-1", function(aReply, aTabClient) {
+  gClient.connect().then(function ([aType, aTraits]) {
+    attachTestTab(gClient, "test-1", function (aReply, aTabClient) {
       gTabClient = aTabClient;
       test_threadAttach(aReply.threadActor);
     });
   });
   do_test_pending();
 }
 
 function test_threadAttach(aThreadActorID)
 {
   do_print("Trying to attach to thread " + aThreadActorID);
-  gTabClient.attachThread({}, function(aResponse, aThreadClient) {
+  gTabClient.attachThread({}, function (aResponse, aThreadClient) {
     do_check_eq(aThreadClient.state, "paused");
     do_check_eq(aThreadClient.actor, aThreadActorID);
-    aThreadClient.resume(function() {
+    aThreadClient.resume(function () {
       do_check_eq(aThreadClient.state, "attached");
       test_debugger_statement(aThreadClient);
     });
   });
 }
 
 function test_debugger_statement(aThreadClient)
 {
-  aThreadClient.addListener("paused", function(aEvent, aPacket) {
+  aThreadClient.addListener("paused", function (aEvent, aPacket) {
     do_check_eq(aThreadClient.state, "paused");
     // Reach around the protocol to check that the debuggee is in the state
     // we expect.
     do_check_true(gDebuggee.a);
     do_check_false(gDebuggee.b);
 
     let xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
     do_check_eq(xpcInspector.eventLoopNestLevel, 1);
@@ -53,21 +53,21 @@ function test_debugger_statement(aThread
   Cu.evalInSandbox("var a = true; var b = false; debugger; var b = true;", gDebuggee);
 
   // Now make sure that we've run the code after the debugger statement...
   do_check_true(gDebuggee.b);
 }
 
 function cleanup()
 {
-  gClient.addListener("closed", function(aEvent) {
+  gClient.addListener("closed", function (aEvent) {
     do_test_finished();
   });
 
   try {
     let xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
     do_check_eq(xpcInspector.eventLoopNestLevel, 0);
-  } catch(e) {
+  } catch (e) {
     dump(e);
   }
 
   gClient.close();
 }
--- a/devtools/server/tests/unit/test_dbgglobal.js
+++ b/devtools/server/tests/unit/test_dbgglobal.js
@@ -1,62 +1,62 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function run_test()
 {
   // Should get an exception if we try to interact with DebuggerServer
   // before we initialize it...
-  check_except(function() {
+  check_except(function () {
     DebuggerServer.createListener();
   });
   check_except(DebuggerServer.closeAllListeners);
   check_except(DebuggerServer.connectPipe);
 
   // Allow incoming connections.
   DebuggerServer.init();
 
   // These should still fail because we haven't added a createRootActor
   // implementation yet.
-  check_except(function() {
+  check_except(function () {
     DebuggerServer.createListener();
   });
   check_except(DebuggerServer.closeAllListeners);
   check_except(DebuggerServer.connectPipe);
 
   DebuggerServer.registerModule("xpcshell-test/testactors");
 
   // Now they should work.
   DebuggerServer.createListener();
   DebuggerServer.closeAllListeners();
 
   // Make sure we got the test's root actor all set up.
   let client1 = DebuggerServer.connectPipe();
   client1.hooks = {
-    onPacket: function(aPacket1) {
+    onPacket: function (aPacket1) {
       do_check_eq(aPacket1.from, "root");
       do_check_eq(aPacket1.applicationType, "xpcshell-tests");
 
       // Spin up a second connection, make sure it has its own root
       // actor.
       let client2 = DebuggerServer.connectPipe();
       client2.hooks = {
-        onPacket: function(aPacket2) {
+        onPacket: function (aPacket2) {
           do_check_eq(aPacket2.from, "root");
           do_check_neq(aPacket1.testConnectionPrefix,
                        aPacket2.testConnectionPrefix);
           client2.close();
         },
-        onClosed: function(aResult) {
+        onClosed: function (aResult) {
           client1.close();
         },
       };
       client2.ready();
     },
 
-    onClosed: function(aResult) {
+    onClosed: function (aResult) {
       do_test_finished();
     },
   };
 
   client1.ready();
   do_test_pending();
 }
--- a/devtools/server/tests/unit/test_eval-01.js
+++ b/devtools/server/tests/unit/test_eval-01.js
@@ -9,50 +9,50 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_simple_eval();
     });
   });
   do_test_pending();
 }
 
 function test_simple_eval()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let arg1Actor = aPacket.frame.arguments[0].actor;
-    gThreadClient.eval(null, "({ obj: true })", function(aResponse) {
+    gThreadClient.eval(null, "({ obj: true })", function (aResponse) {
       do_check_eq(aResponse.type, "resumed");
       // Expect a pause notification immediately.
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Check the return value...
         do_check_eq(aPacket.type, "paused");
         do_check_eq(aPacket.why.type, "clientEvaluated");
         do_check_eq(aPacket.why.frameFinished.return.type, "object");
         do_check_eq(aPacket.why.frameFinished.return.class, "Object");
 
         // Make sure the previous pause lifetime was correctly dropped.
-        gClient.request({ to: arg1Actor, type: "bogusRequest" }, function(aResponse) {
+        gClient.request({ to: arg1Actor, type: "bogusRequest" }, function (aResponse) {
           do_check_eq(aResponse.error, "noSuchActor");
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         });
 
       });
 
     });
 
   });
 
-  gDebuggee.eval("(" + function() {
-    function stopMe(arg1) { debugger; };
+  gDebuggee.eval("(" + function () {
+    function stopMe(arg1) { debugger; }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_eval-02.js
+++ b/devtools/server/tests/unit/test_eval-02.js
@@ -9,40 +9,40 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_throw_eval();
     });
   });
   do_test_pending();
 }
 
 function test_throw_eval()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.eval(null, "throw 'failure'", function(aResponse) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.eval(null, "throw 'failure'", function (aResponse) {
       do_check_eq(aResponse.type, "resumed");
       // Expect a pause notification immediately.
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Check the return value...
         do_check_eq(aPacket.type, "paused");
         do_check_eq(aPacket.why.type, "clientEvaluated");
         do_check_eq(aPacket.why.frameFinished.throw, "failure");
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
-    function stopMe(arg1) { debugger; };
+  gDebuggee.eval("(" + function () {
+    function stopMe(arg1) { debugger; }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_eval-03.js
+++ b/devtools/server/tests/unit/test_eval-03.js
@@ -9,42 +9,42 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_syntax_error_eval();
     });
   });
   do_test_pending();
 }
 
 function test_syntax_error_eval()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.eval(null, "%$@!@#", function(aResponse) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.eval(null, "%$@!@#", function (aResponse) {
       do_check_eq(aResponse.type, "resumed");
       // Expect a pause notification immediately.
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Check the return value...
         do_check_eq(aPacket.type, "paused");
         do_check_eq(aPacket.why.type, "clientEvaluated");
         do_check_eq(aPacket.why.frameFinished.throw.type, "object");
         do_check_eq(aPacket.why.frameFinished.throw.class, "Error");
 
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
-    function stopMe(arg1) { debugger; };
+  gDebuggee.eval("(" + function () {
+    function stopMe(arg1) { debugger; }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_eval-04.js
+++ b/devtools/server/tests/unit/test_eval-04.js
@@ -9,60 +9,60 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_syntax_error_eval();
     });
   });
   do_test_pending();
 }
 
 function test_syntax_error_eval()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
 
-    gThreadClient.getFrames(0, 2, function(aResponse) {
+    gThreadClient.getFrames(0, 2, function (aResponse) {
       let frame0 = aResponse.frames[0];
       let frame1 = aResponse.frames[1];
 
       // Eval against the top frame...
-      gThreadClient.eval(frame0.actor, "arg", function(aResponse) {
+      gThreadClient.eval(frame0.actor, "arg", function (aResponse) {
         do_check_eq(aResponse.type, "resumed");
-        gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+        gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
           // 'arg' should have been evaluated in frame0
           do_check_eq(aPacket.type, "paused");
           do_check_eq(aPacket.why.type, "clientEvaluated");
           do_check_eq(aPacket.why.frameFinished.return, "arg0");
 
           // Now eval against the second frame.
-          gThreadClient.eval(frame1.actor, "arg", function(aResponse) {
-            gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+          gThreadClient.eval(frame1.actor, "arg", function (aResponse) {
+            gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
               // 'arg' should have been evaluated in frame1
               do_check_eq(aPacket.type, "paused");
               do_check_eq(aPacket.why.frameFinished.return, "arg1");
 
-              gThreadClient.resume(function() {
+              gThreadClient.resume(function () {
                 finishClient(gClient);
               });
             });
           });
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function frame0(arg) {
       debugger;
     }
     function frame1(arg) {
       frame0("arg0");
     }
     frame1("arg1");
   } + ")()");
--- a/devtools/server/tests/unit/test_eval-05.js
+++ b/devtools/server/tests/unit/test_eval-05.js
@@ -9,46 +9,46 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_syntax_error_eval();
     });
   });
   do_test_pending();
 }
 
 function test_syntax_error_eval()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.eval(null, "debugger", function(aResponse) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.eval(null, "debugger", function (aResponse) {
       // Expect a resume then a debuggerStatement pause.
       do_check_eq(aResponse.type, "resumed");
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         do_check_eq(aPacket.why.type, "debuggerStatement");
         // Resume from the debugger statement should immediately re-pause
         // with a clientEvaluated reason.
-        gThreadClient.resume(function(aPacket) {
+        gThreadClient.resume(function (aPacket) {
           do_check_eq(aPacket.type, "resumed");
-          gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+          gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
             do_check_eq(aPacket.why.type, "clientEvaluated");
-            gThreadClient.resume(function() {
+            gThreadClient.resume(function () {
               finishClient(gClient);
             });
           });
         });
       });
     });
   });
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg) {
       debugger;
     }
     stopMe();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_eventlooplag_actor.js
+++ b/devtools/server/tests/unit/test_eventlooplag_actor.js
@@ -19,17 +19,17 @@ function run_test()
   let interval = 10;
 
 
   let front;
   let client = new DebuggerClient(DebuggerServer.connectPipe());
 
   // Start tracking event loop lags.
   client.connect().then(function () {
-    client.listTabs(function(resp) {
+    client.listTabs(function (resp) {
       front = new EventLoopLagFront(client, resp);
       front.start().then(success => {
         do_check_true(success);
         front.once("event-loop-lag", gotLagEvent);
         do_execute_soon(lag);
       });
     });
   });
--- a/devtools/server/tests/unit/test_forwardingprefix.js
+++ b/devtools/server/tests/unit/test_forwardingprefix.js
@@ -68,96 +68,96 @@ function createMainConnection()
  * otherwise), call |aCompleted|.
  *
  * To avoid deep stacks, we call aCompleted from the next tick.
  */
 function tryActors(aReachables, aCompleted) {
   let count = 0;
 
   let outerActor;
-  for (outerActor of [ 'root',
-                       'prefix1/root', 'prefix1/actor',
-                       'prefix2/root', 'prefix2/actor' ]) {
+  for (outerActor of [ "root",
+                       "prefix1/root", "prefix1/actor",
+                       "prefix2/root", "prefix2/actor" ]) {
     /*
      * Let each callback capture its own iteration's value; outerActor is
      * local to the whole loop, not to a single iteration.
      */
     let actor = outerActor;
 
     count++;
 
-    gClient.request({ to: actor, type: 'echo', value: 'tango'}, // phone home
+    gClient.request({ to: actor, type: "echo", value: "tango"}, // phone home
                     (aResponse) => {
                       if (aReachables.has(actor))
-                        do_check_matches({ from: actor, to: actor, type: 'echo', value: 'tango' }, aResponse);
+                        do_check_matches({ from: actor, to: actor, type: "echo", value: "tango" }, aResponse);
                       else
-                        do_check_matches({ from: actor, error: 'noSuchActor', message: "No such actor for ID: " + actor }, aResponse);
+                        do_check_matches({ from: actor, error: "noSuchActor", message: "No such actor for ID: " + actor }, aResponse);
 
                       if (--count == 0)
                         do_execute_soon(aCompleted, "tryActors callback " + aCompleted.name);
                     });
   }
 }
 
 /*
  * With no forwarding established, sending messages to root should work,
  * but sending messages to prefixed actor names, or anyone else, should get
  * an error.
  */
 function TestNoForwardingYet()
 {
-  tryActors(new Set(['root']), run_next_test);
+  tryActors(new Set(["root"]), run_next_test);
 }
 
 /*
  * Create a new pipe connection which forwards its reply packets to
  * gMainConnection's client, and to which gMainConnection forwards packets
  * directed to actors whose names begin with |aPrefix + '/'|, and.
  *
  * Return an object { conn, transport }, as for newConnection.
  */
 function newSubconnection(aPrefix)
 {
   let { conn, transport } = newConnection(aPrefix);
   transport.hooks = {
     onPacket: (aPacket) => gMainConnection.send(aPacket),
     onClosed: () => {}
-  }
+  };
   gMainConnection.setForwarding(aPrefix, transport);
 
   return { conn: conn, transport: transport };
 }
 
 /* Create a second root actor, to which we can forward things. */
 function createSubconnection1()
 {
-  let { conn, transport } = newSubconnection('prefix1');
+  let { conn, transport } = newSubconnection("prefix1");
   gSubconnection1 = conn;
   transport.ready();
-  gClient.expectReply('prefix1/root', (aReply) => run_next_test());
+  gClient.expectReply("prefix1/root", (aReply) => run_next_test());
 }
 
 // Establish forwarding, but don't put any actors in that server.
 function TestForwardPrefix1OnlyRoot()
 {
-  tryActors(new Set(['root', 'prefix1/root']), run_next_test);
+  tryActors(new Set(["root", "prefix1/root"]), run_next_test);
 }
 
 /* Create a third root actor, to which we can forward things. */
 function createSubconnection2()
 {
-  let { conn, transport } = newSubconnection('prefix2');
+  let { conn, transport } = newSubconnection("prefix2");
   gSubconnection2 = conn;
   transport.ready();
-  gClient.expectReply('prefix2/root', (aReply) => run_next_test());
+  gClient.expectReply("prefix2/root", (aReply) => run_next_test());
 }
 
 function TestForwardPrefix12OnlyRoot()
 {
-  tryActors(new Set(['root', 'prefix1/root', 'prefix2/root']), run_next_test);
+  tryActors(new Set(["root", "prefix1/root", "prefix2/root"]), run_next_test);
 }
 
 // A dumb actor that implements 'echo'.
 //
 // It's okay that both subconnections' actors behave identically, because
 // the reply-sending code attaches the replying actor's name to the packet,
 // so simply matching the 'from' field in the reply ensures that we heard
 // from the right actor.
@@ -174,23 +174,23 @@ EchoActor.prototype.onEcho = function (a
   return JSON.parse(JSON.stringify(aRequest));
 };
 EchoActor.prototype.requestTypes = {
   "echo": EchoActor.prototype.onEcho
 };
 
 function TestForwardPrefix12WithActor1()
 {
-  let actor = new EchoActor(gSubconnection1)
-  actor.actorID = 'prefix1/actor';
+  let actor = new EchoActor(gSubconnection1);
+  actor.actorID = "prefix1/actor";
   gSubconnection1.addActor(actor);
 
-  tryActors(new Set(['root', 'prefix1/root', 'prefix1/actor', 'prefix2/root']), run_next_test);
+  tryActors(new Set(["root", "prefix1/root", "prefix1/actor", "prefix2/root"]), run_next_test);
 }
 
 function TestForwardPrefix12WithActor12()
 {
-  let actor = new EchoActor(gSubconnection2)
-  actor.actorID = 'prefix2/actor';
+  let actor = new EchoActor(gSubconnection2);
+  actor.actorID = "prefix2/actor";
   gSubconnection2.addActor(actor);
 
-  tryActors(new Set(['root', 'prefix1/root', 'prefix1/actor', 'prefix2/root', 'prefix2/actor']), run_next_test);
+  tryActors(new Set(["root", "prefix1/root", "prefix1/actor", "prefix2/root", "prefix2/actor"]), run_next_test);
 }
--- a/devtools/server/tests/unit/test_frameactor-01.js
+++ b/devtools/server/tests/unit/test_frameactor-01.js
@@ -9,35 +9,35 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     do_check_true(!!aPacket.frame);
     do_check_true(!!aPacket.frame.actor);
     do_check_eq(aPacket.frame.callee.name, "stopMe");
-    gThreadClient.resume(function() {
+    gThreadClient.resume(function () {
       finishClient(gClient);
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe() {
       debugger;
-    };
+    }
     stopMe();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_frameactor-02.js
+++ b/devtools/server/tests/unit/test_frameactor-02.js
@@ -9,37 +9,37 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket1) {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket2) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket1) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket2) {
       do_check_eq(aPacket1.frame.actor, aPacket2.frame.actor);
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
     gThreadClient.resume();
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe() {
       debugger;
       debugger;
-    };
+    }
     stopMe();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_frameactor-03.js
+++ b/devtools/server/tests/unit/test_frameactor-03.js
@@ -9,39 +9,39 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket1) {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket2) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket1) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket2) {
       let poppedFrames = aPacket2.poppedFrames;
-      do_check_eq(typeof(poppedFrames), typeof([]));
+      do_check_eq(typeof (poppedFrames), typeof ([]));
       do_check_true(poppedFrames.indexOf(aPacket1.frame.actor) >= 0);
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
     gThreadClient.resume();
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe() {
       debugger;
-     };
+    }
     stopMe();
     debugger;
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_frameactor-04.js
+++ b/devtools/server/tests/unit/test_frameactor-04.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 var gFrames = [
@@ -41,22 +41,22 @@ var gSliceTests = [
   { start: 0, count: 1 },
   { start: 2, count: 2 },
   { start: 1, count: 15 },
   { start: 15, count: undefined },
 ];
 
 function test_frame_slice() {
   if (gSliceTests.length == 0) {
-    gThreadClient.resume(function() { finishClient(gClient); });
+    gThreadClient.resume(function () { finishClient(gClient); });
     return;
   }
 
   let test = gSliceTests.shift();
-  gThreadClient.getFrames(test.start, test.count, function(aResponse) {
+  gThreadClient.getFrames(test.start, test.count, function (aResponse) {
     var testFrames = gFrames.slice(test.start, test.count ? test.start + test.count : undefined);
     do_check_eq(testFrames.length, aResponse.frames.length);
     for (var i = 0; i < testFrames.length; i++) {
       let expected = testFrames[i];
       let actual = aResponse.frames[i];
 
       if (test.resetActors) {
         expected.actor = actual.actor;
@@ -67,25 +67,25 @@ function test_frame_slice() {
       }
     }
     test_frame_slice();
   });
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket1) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket1) {
     test_frame_slice();
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function depth3() {
       debugger;
     }
     function depth2() {
       depth3();
     }
     function depth1() {
       depth2();
-    };
+    }
     depth1();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_frameactor-05.js
+++ b/devtools/server/tests/unit/test_frameactor-05.js
@@ -10,33 +10,33 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_frame_slice() {
   if (gSliceTests.length == 0) {
-    gThreadClient.resume(function() { finishClient(gClient); });
+    gThreadClient.resume(function () { finishClient(gClient); });
     return;
   }
 
   let test = gSliceTests.shift();
-  gThreadClient.getFrames(test.start, test.count, function(aResponse) {
+  gThreadClient.getFrames(test.start, test.count, function (aResponse) {
     var testFrames = gFrames.slice(test.start, test.count ? test.start + test.count : undefined);
     do_check_eq(testFrames.length, aResponse.frames.length);
     for (var i = 0; i < testFrames.length; i++) {
       let expected = testFrames[i];
       let actual = aResponse.frames[i];
 
       if (test.resetActors) {
         expected.actor = actual.actor;
@@ -47,43 +47,43 @@ function test_frame_slice() {
       }
     }
     test_frame_slice();
   });
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket1) {
-    gThreadClient.getFrames(0, null, function(aFrameResponse) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket1) {
+    gThreadClient.getFrames(0, null, function (aFrameResponse) {
       do_check_eq(aFrameResponse.frames.length, 5);
       // Now wait for the next pause, after which the three
       // youngest actors should be popped..
       let expectPopped = aFrameResponse.frames.slice(0, 3).map(frame => frame.actor);
-      expectPopped.sort()
+      expectPopped.sort();
 
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPausePacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPausePacket) {
         let popped = aPausePacket.poppedFrames.sort();
         do_check_eq(popped.length, 3);
         for (let i = 0; i < 3; i++) {
           do_check_eq(expectPopped[i], popped[i]);
         }
 
-        gThreadClient.resume(function() { finishClient(gClient); });
+        gThreadClient.resume(function () { finishClient(gClient); });
       });
       gThreadClient.resume();
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function depth3() {
       debugger;
     }
     function depth2() {
       depth3();
     }
     function depth1() {
       depth2();
-    };
+    }
     depth1();
     debugger;
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framearguments-01.js
+++ b/devtools/server/tests/unit/test_framearguments-01.js
@@ -9,43 +9,43 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame["arguments"];
     do_check_eq(args.length, 6);
     do_check_eq(args[0], 42);
     do_check_eq(args[1], true);
     do_check_eq(args[2], "nasu");
     do_check_eq(args[3].type, "null");
     do_check_eq(args[4].type, "undefined");
     do_check_eq(args[5].type, "object");
     do_check_eq(args[5].class, "Object");
     do_check_true(!!args[5].actor);
 
-    gThreadClient.resume(function() {
+    gThreadClient.resume(function () {
       finishClient(gClient);
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aNumber, aBool, aString, aNull, aUndefined, aObject) {
       debugger;
-    };
+    }
     stopMe(42, true, "nasu", null, undefined, { foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framebindings-01.js
+++ b/devtools/server/tests/unit/test_framebindings-01.js
@@ -9,28 +9,28 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let bindings = aPacket.frame.environment.bindings;
     let args = bindings.arguments;
     let vars = bindings.variables;
 
     do_check_eq(args.length, 6);
     do_check_eq(args[0].aNumber.value, 42);
     do_check_eq(args[1].aBool.value, true);
     do_check_eq(args[2].aString.value, "nasu");
@@ -42,36 +42,36 @@ function test_pause_frame()
 
     do_check_eq(vars.a.value, 1);
     do_check_eq(vars.b.value, true);
     do_check_eq(vars.c.value.type, "object");
     do_check_eq(vars.c.value.class, "Object");
     do_check_true(!!vars.c.value.actor);
 
     let objClient = gThreadClient.pauseGrip(vars.c.value);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.a.configurable, true);
       do_check_eq(aResponse.ownProperties.a.enumerable, true);
       do_check_eq(aResponse.ownProperties.a.writable, true);
       do_check_eq(aResponse.ownProperties.a.value, "a");
 
       do_check_eq(aResponse.ownProperties.b.configurable, true);
       do_check_eq(aResponse.ownProperties.b.enumerable, true);
       do_check_eq(aResponse.ownProperties.b.writable, true);
       do_check_eq(aResponse.ownProperties.b.value.type, "undefined");
       do_check_false("class" in aResponse.ownProperties.b.value);
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aNumber, aBool, aString, aNull, aUndefined, aObject) {
       var a = 1;
       var b = true;
       var c = { a: "a", b: undefined };
       debugger;
-    };
+    }
     stopMe(42, true, "nasu", null, undefined, { foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framebindings-02.js
+++ b/devtools/server/tests/unit/test_framebindings-02.js
@@ -9,55 +9,55 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let parentEnv = aPacket.frame.environment.parent;
     let bindings = parentEnv.bindings;
     let args = bindings.arguments;
     let vars = bindings.variables;
     do_check_neq(parentEnv, undefined);
     do_check_eq(args.length, 0);
     do_check_eq(vars.stopMe.value.type, "object");
     do_check_eq(vars.stopMe.value.class, "Function");
     do_check_true(!!vars.stopMe.value.actor);
 
     // Skip both the eval lexical scope and the global lexical scope.
     parentEnv = parentEnv.parent.parent.parent;
     do_check_neq(parentEnv, undefined);
     let objClient = gThreadClient.pauseGrip(parentEnv.object);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.Object.value.type, "object");
       do_check_eq(aResponse.ownProperties.Object.value.class, "Function");
       do_check_true(!!aResponse.ownProperties.Object.value.actor);
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aNumber, aBool, aString, aNull, aUndefined, aObject) {
       var a = 1;
       var b = true;
       var c = { a: "a" };
       debugger;
-    };
+    }
     stopMe(42, true, "nasu", null, undefined, { foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framebindings-03.js
+++ b/devtools/server/tests/unit/test_framebindings-03.js
@@ -9,28 +9,28 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let env = aPacket.frame.environment;
     do_check_neq(env, undefined);
 
     let parentEnv = env.parent;
     do_check_neq(parentEnv, undefined);
 
     let bindings = parentEnv.bindings;
     let args = bindings.arguments;
@@ -38,32 +38,32 @@ function test_pause_frame()
     do_check_eq(args.length, 1);
     do_check_eq(args[0].aNumber.value, 10);
     do_check_eq(vars.r.value, 10);
     do_check_eq(vars.a.value, Math.PI * 100);
     do_check_eq(vars.arguments.value.class, "Arguments");
     do_check_true(!!vars.arguments.value.actor);
 
     let objClient = gThreadClient.pauseGrip(env.object);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.PI.value, Math.PI);
       do_check_eq(aResponse.ownProperties.cos.value.type, "object");
       do_check_eq(aResponse.ownProperties.cos.value.class, "Function");
       do_check_true(!!aResponse.ownProperties.cos.value.actor);
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aNumber) {
       var a;
       var r = aNumber;
       with (Math) {
         a = PI * r * r;
         debugger;
       }
-    };
+    }
     stopMe(10);
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framebindings-04.js
+++ b/devtools/server/tests/unit/test_framebindings-04.js
@@ -9,42 +9,42 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let env = aPacket.frame.environment;
     do_check_neq(env, undefined);
 
     let objClient = gThreadClient.pauseGrip(env.object);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.one.value, 1);
       do_check_eq(aResponse.ownProperties.two.value, 2);
       do_check_eq(aResponse.ownProperties.foo, undefined);
 
       let parentEnv = env.parent;
       do_check_neq(parentEnv, undefined);
 
       let parentClient = gThreadClient.pauseGrip(parentEnv.object);
-      parentClient.getPrototypeAndProperties(function(aResponse) {
+      parentClient.getPrototypeAndProperties(function (aResponse) {
         do_check_eq(aResponse.ownProperties.PI.value, Math.PI);
         do_check_eq(aResponse.ownProperties.cos.value.type, "object");
         do_check_eq(aResponse.ownProperties.cos.value.class, "Function");
         do_check_true(!!aResponse.ownProperties.cos.value.actor);
 
         parentEnv = parentEnv.parent;
         do_check_neq(parentEnv, undefined);
 
@@ -54,31 +54,31 @@ function test_pause_frame()
         do_check_eq(args.length, 1);
         do_check_eq(args[0].aNumber.value, 10);
         do_check_eq(vars.r.value, 10);
         do_check_eq(vars.a.value, Math.PI * 100);
         do_check_eq(vars.arguments.value.class, "Arguments");
         do_check_true(!!vars.arguments.value.actor);
         do_check_eq(vars.foo.value, 2 * Math.PI);
 
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
 
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aNumber) {
       var a, obj = { one: 1, two: 2 };
       var r = aNumber;
       with (Math) {
         a = PI * r * r;
         with (obj) {
           var foo = two * PI;
           debugger;
         }
       }
-    };
+    }
     stopMe(10);
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_framebindings-05.js
+++ b/devtools/server/tests/unit/test_framebindings-05.js
@@ -9,51 +9,51 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let env = aPacket.frame.environment;
     do_check_neq(env, undefined);
 
     let objClient = gThreadClient.pauseGrip(env.object);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.PI.value, Math.PI);
       do_check_eq(aResponse.ownProperties.cos.value.type, "object");
       do_check_eq(aResponse.ownProperties.cos.value.class, "Function");
       do_check_true(!!aResponse.ownProperties.cos.value.actor);
 
       // Skip both the eval lexical scope and the global lexical scope.
       let parentEnv = env.parent.parent.parent;
       do_check_neq(parentEnv, undefined);
 
       let parentClient = gThreadClient.pauseGrip(parentEnv.object);
-      parentClient.getPrototypeAndProperties(function(aResponse) {
+      parentClient.getPrototypeAndProperties(function (aResponse) {
         do_check_eq(aResponse.ownProperties.a.value, Math.PI * 100);
         do_check_eq(aResponse.ownProperties.r.value, 10);
         do_check_eq(aResponse.ownProperties.Object.value.type, "object");
         do_check_eq(aResponse.ownProperties.Object.value.class, "Function");
         do_check_true(!!aResponse.ownProperties.Object.value.actor);
 
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
   });
 
   gDebuggee.eval("var a, r = 10;\n" +
                  "with (Math) {\n" +
--- a/devtools/server/tests/unit/test_framebindings-06.js
+++ b/devtools/server/tests/unit/test_framebindings-06.js
@@ -6,30 +6,30 @@ var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_banana_environment();
     });
   });
   do_test_pending();
 }
 
 function test_banana_environment()
 {
 
   gThreadClient.addOneTimeListener("paused",
-    function(aEvent, aPacket) {
+    function (aEvent, aPacket) {
       equal(aPacket.type, "paused");
       let env = aPacket.frame.environment;
       equal(env.type, "function");
       equal(env.function.name, "banana3");
       let parent = env.parent;
       equal(parent.type, "block");
       ok("banana3" in parent.bindings.variables);
       parent = parent.parent;
@@ -38,18 +38,18 @@ function test_banana_environment()
       parent = parent.parent;
       equal(parent.type, "block");
       ok("banana2" in parent.bindings.variables);
       parent = parent.parent;
       equal(parent.type, "function");
       equal(parent.function.name, "banana");
 
       gThreadClient.resume(function () {
-                             finishClient(gClient);
-                           });
+        finishClient(gClient);
+      });
     });
 
   gDebuggee.eval("\
         function banana(x) {                                            \n\
           return function banana2(y) {                                  \n\
             return function banana3(z) {                                \n\
               debugger;                                                 \n\
             };                                                          \n\
--- a/devtools/server/tests/unit/test_framebindings-07.js
+++ b/devtools/server/tests/unit/test_framebindings-07.js
@@ -7,29 +7,29 @@ var gThreadClient;
 
 // Test that the EnvironmentClient's getBindings() method works as expected.
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-bindings");
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-bindings", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-bindings", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_banana_environment();
     });
   });
   do_test_pending();
 }
 
 function test_banana_environment()
 {
 
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let environment = aPacket.frame.environment;
     do_check_eq(environment.type, "function");
 
     let parent = environment.parent;
     do_check_eq(parent.type, "block");
 
     let grandpa = parent.parent;
     do_check_eq(grandpa.type, "function");
--- a/devtools/server/tests/unit/test_frameclient-01.js
+++ b/devtools/server/tests/unit/test_frameclient-01.js
@@ -5,49 +5,49 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.addOneTimeListener("framesadded", function() {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.addOneTimeListener("framesadded", function () {
       do_check_eq(gThreadClient.cachedFrames.length, 3);
       do_check_true(gThreadClient.moreFrames);
       do_check_false(gThreadClient.fillFrames(3));
 
       do_check_true(gThreadClient.fillFrames(30));
-      gThreadClient.addOneTimeListener("framesadded", function() {
+      gThreadClient.addOneTimeListener("framesadded", function () {
         do_check_false(gThreadClient.moreFrames);
         do_check_eq(gThreadClient.cachedFrames.length, 7);
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
     do_check_true(gThreadClient.fillFrames(3));
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     var recurseLeft = 5;
     function recurse() {
       if (--recurseLeft == 0) {
         debugger;
         return;
       }
       recurse();
-    };
+    }
     recurse();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_frameclient-02.js
+++ b/devtools/server/tests/unit/test_frameclient-02.js
@@ -5,42 +5,42 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     // Ask for exactly the number of frames we expect.
-    gThreadClient.addOneTimeListener("framesadded", function() {
+    gThreadClient.addOneTimeListener("framesadded", function () {
       do_check_false(gThreadClient.moreFrames);
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
     do_check_true(gThreadClient.fillFrames(3));
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     var recurseLeft = 1;
     function recurse() {
       if (--recurseLeft == 0) {
         debugger;
         return;
       }
       recurse();
-    };
+    }
     recurse();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_functiongrips-01.js
+++ b/devtools/server/tests/unit/test_functiongrips-01.js
@@ -9,87 +9,87 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_named_function();
     });
   });
   do_test_pending();
 }
 
 function test_named_function()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Function");
     do_check_eq(args[0].name, "stopMe");
     do_check_eq(args[0].displayName, "stopMe");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getParameterNames(function(aResponse) {
+    objClient.getParameterNames(function (aResponse) {
       do_check_eq(aResponse.parameterNames.length, 1);
       do_check_eq(aResponse.parameterNames[0], "arg1");
 
       gThreadClient.resume(test_inferred_name_function);
     });
 
   });
 
   gDebuggee.eval("stopMe(stopMe)");
 }
 
 function test_inferred_name_function() {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Function");
     // No name for an anonymous function, but it should have an inferred name.
     do_check_eq(args[0].name, undefined);
     do_check_eq(args[0].displayName, "o.m");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getParameterNames(function(aResponse) {
+    objClient.getParameterNames(function (aResponse) {
       do_check_eq(aResponse.parameterNames.length, 3);
       do_check_eq(aResponse.parameterNames[0], "foo");
       do_check_eq(aResponse.parameterNames[1], "bar");
       do_check_eq(aResponse.parameterNames[2], "baz");
 
       gThreadClient.resume(test_anonymous_function);
     });
   });
 
   gDebuggee.eval("var o = { m: function(foo, bar, baz) { } }; stopMe(o.m)");
 }
 
 function test_anonymous_function() {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Function");
     // No name for an anonymous function, and no inferred name, either.
     do_check_eq(args[0].name, undefined);
     do_check_eq(args[0].displayName, undefined);
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getParameterNames(function(aResponse) {
+    objClient.getParameterNames(function (aResponse) {
       do_check_eq(aResponse.parameterNames.length, 3);
       do_check_eq(aResponse.parameterNames[0], "foo");
       do_check_eq(aResponse.parameterNames[1], "bar");
       do_check_eq(aResponse.parameterNames[2], "baz");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
   });
 
   gDebuggee.eval("stopMe(function(foo, bar, baz) { })");
 }
 
--- a/devtools/server/tests/unit/test_get-executable-lines-source-map.js
+++ b/devtools/server/tests/unit/test_get-executable-lines-source-map.js
@@ -32,25 +32,25 @@ function run_test() {
 
 function test_executable_lines() {
   gThreadClient.addOneTimeListener("newSource", function _onNewSource(evt, packet) {
     do_check_eq(evt, "newSource");
 
     gThreadClient.getSources(function ({error, sources}) {
       do_check_true(!error);
       let source = gThreadClient.source(sources[0]);
-      source.getExecutableLines(function(lines){
+      source.getExecutableLines(function (lines) {
         do_check_true(arrays_equal([1, 2, 4, 6], lines));
         finishClient(gClient);
       });
     });
   });
 
   let code = readFile("sourcemapped.js") + "\n//# sourceMappingURL=" +
     getFileUrl("source-map-data/sourcemapped.map");
 
   Components.utils.evalInSandbox(code, gDebuggee, "1.8",
     SOURCE_MAPPED_FILE, 1);
 }
 
-function arrays_equal(a,b) {
-  return !(a<b || b<a);
+function arrays_equal(a, b) {
+  return !(a < b || b < a);
 }
--- a/devtools/server/tests/unit/test_get-executable-lines.js
+++ b/devtools/server/tests/unit/test_get-executable-lines.js
@@ -32,24 +32,24 @@ function run_test() {
 
 function test_executable_lines() {
   gThreadClient.addOneTimeListener("newSource", function _onNewSource(evt, packet) {
     do_check_eq(evt, "newSource");
 
     gThreadClient.getSources(function ({error, sources}) {
       do_check_true(!error);
       let source = gThreadClient.source(sources[0]);
-      source.getExecutableLines(function(lines){
+      source.getExecutableLines(function (lines) {
         do_check_true(arrays_equal([2, 5, 7, 8, 10, 12, 14, 16], lines));
         finishClient(gClient);
       });
     });
   });
 
   let code = readFile("sourcemapped.js");
 
   Components.utils.evalInSandbox(code, gDebuggee, "1.8",
     SOURCE_MAPPED_FILE, 1);
 }
 
-function arrays_equal(a,b) {
-  return !(a<b || b<a);
+function arrays_equal(a, b) {
+  return !(a < b || b < a);
 }
--- a/devtools/server/tests/unit/test_getRuleText.js
+++ b/devtools/server/tests/unit/test_getRuleText.js
@@ -64,18 +64,18 @@ const TEST_DATA = [
     line: 7,
     column: 1,
     expected: {offset: 116, text: "\n  color: purple;\n"}
   },
   {
     desc: "Multi-lines CSS and multi-line rule",
     input: [
       "/* ",
-       "* some comments",
-       "*/",
+      "* some comments",
+      "*/",
       "",
       "body {",
       "    margin: 0;",
       "    padding: 15px 15px 2px 15px;",
       "    color: red;",
       "}",
       "",
       "#header .btn, #header .txt {",
--- a/devtools/server/tests/unit/test_getyoungestframe.js
+++ b/devtools/server/tests/unit/test_getyoungestframe.js
@@ -4,22 +4,22 @@ function run_test()
   addDebuggerToGlobal(this);
   var xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
   var g = testGlobal("test1");
 
   var dbg = new Debugger();
   dbg.uncaughtExceptionHook = testExceptionHook;
 
   dbg.addDebuggee(g);
-  dbg.onDebuggerStatement = function(aFrame) {
+  dbg.onDebuggerStatement = function (aFrame) {
     do_check_true(aFrame === dbg.getNewestFrame());
     // Execute from the nested event loop, dbg.getNewestFrame() won't
     // be working anymore.
 
-    do_execute_soon(function() {
+    do_execute_soon(function () {
       try {
         do_check_true(aFrame === dbg.getNewestFrame());
       } finally {
         xpcInspector.exitNestedEventLoop("test");
       }
     });
     xpcInspector.enterNestedEventLoop("test");
   };
--- a/devtools/server/tests/unit/test_ignore_caught_exceptions.js
+++ b/devtools/server/tests/unit/test_ignore_caught_exceptions.js
@@ -10,41 +10,41 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
       do_check_eq(aPacket.why.type, "exception");
       do_check_eq(aPacket.why.exception, "bar");
       gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
     gThreadClient.pauseOnExceptions(true, true);
     gThreadClient.resume();
   });
 
   try {
-    gDebuggee.eval("(" + function() {
+    gDebuggee.eval("(" + function () {
       debugger;
       try {
         throw "foo";
       } catch (e) {}
       throw "bar";
     } + ")()");
   } catch (e) {}
 }
--- a/devtools/server/tests/unit/test_ignore_no_interface_exceptions.js
+++ b/devtools/server/tests/unit/test_ignore_no_interface_exceptions.js
@@ -11,43 +11,43 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-no-interface");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-no-interface", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-no-interface", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
   gThreadClient.pauseOnExceptions(true, false, function () {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
       do_check_eq(aPacket.why.type, "exception");
       do_check_eq(aPacket.why.exception, 42);
       gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
 
-    gDebuggee.eval("(" + function() {
+    gDebuggee.eval("(" + function () {
       function QueryInterface() {
         throw Components.results.NS_ERROR_NO_INTERFACE;
       }
       function stopMe() {
         throw 42;
-      };
+      }
       try {
         QueryInterface();
       } catch (e) {}
       try {
         stopMe();
       } catch (e) {}
     } + ")()");
   });
--- a/devtools/server/tests/unit/test_interrupt.js
+++ b/devtools/server/tests/unit/test_interrupt.js
@@ -7,44 +7,44 @@ var gDebuggee;
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = testGlobal("test-1");
   DebuggerServer.addTestGlobal(gDebuggee);
 
   let transport = DebuggerServer.connectPipe();
   gClient = new DebuggerClient(transport);
-  gClient.connect().then(function(aType, aTraits) {
+  gClient.connect().then(function (aType, aTraits) {
     attachTestTab(gClient, "test-1", test_attach);
   });
   do_test_pending();
 }
 
 function test_attach(aResponse, aTabClient)
 {
-  aTabClient.attachThread({}, function(aResponse, aThreadClient) {
+  aTabClient.attachThread({}, function (aResponse, aThreadClient) {
     do_check_eq(aThreadClient.paused, true);
-    aThreadClient.resume(function() {
+    aThreadClient.resume(function () {
       test_interrupt(aThreadClient);
     });
   });
 }
 
 function test_interrupt(aThreadClient)
 {
   do_check_eq(aThreadClient.paused, false);
-  aThreadClient.interrupt(function(aResponse) {
+  aThreadClient.interrupt(function (aResponse) {
     do_check_eq(aThreadClient.paused, true);
-    aThreadClient.resume(function() {
+    aThreadClient.resume(function () {
       do_check_eq(aThreadClient.paused, false);
       cleanup();
     });
   });
 }
 
 function cleanup()
 {
-  gClient.addListener("closed", function(aEvent) {
+  gClient.addListener("closed", function (aEvent) {
     do_test_finished();
   });
   gClient.close();
 }
 
--- a/devtools/server/tests/unit/test_layout-reflows-observer.js
+++ b/devtools/server/tests/unit/test_layout-reflows-observer.js
@@ -9,74 +9,74 @@ var {
   LayoutChangesObserver
 } = require("devtools/server/actors/layout");
 
 // Override set/clearTimeout on LayoutChangesObserver to avoid depending on
 // time in this unit test. This means that LayoutChangesObserver.eventLoopTimer
 // will be the timeout callback instead of the timeout itself, so test cases
 // will need to execute it to fake a timeout
 LayoutChangesObserver.prototype._setTimeout = cb => cb;
-LayoutChangesObserver.prototype._clearTimeout = function() {};
+LayoutChangesObserver.prototype._clearTimeout = function () {};
 
 // Mock the tabActor since we only really want to test the LayoutChangesObserver
 // and don't want to depend on a window object, nor want to test protocol.js
 function MockTabActor() {
   this.window = new MockWindow();
   this.windows = [this.window];
   this.attached = true;
 }
 
 function MockWindow() {}
 MockWindow.prototype = {
-  QueryInterface: function() {
+  QueryInterface: function () {
     let self = this;
     return {
-      getInterface: function() {
+      getInterface: function () {
         return {
-          QueryInterface: function() {
+          QueryInterface: function () {
             if (!self.docShell) {
               self.docShell = new MockDocShell();
             }
             return self.docShell;
           }
         };
       }
     };
   },
-  setTimeout: function(cb) {
+  setTimeout: function (cb) {
     // Simply return the cb itself so that we can execute it in the test instead
     // of depending on a real timeout
     return cb;
   },
-  clearTimeout: function() {}
+  clearTimeout: function () {}
 };
 
 function MockDocShell() {
   this.observer = null;
 }
 MockDocShell.prototype = {
-  addWeakReflowObserver: function(observer) {
+  addWeakReflowObserver: function (observer) {
     this.observer = observer;
   },
-  removeWeakReflowObserver: function() {},
+  removeWeakReflowObserver: function () {},
   get chromeEventHandler() {
     return {
       addEventListener: (type, cb) => {
         if (type === "resize") {
           this.resizeCb = cb;
         }
       },
       removeEventListener: (type, cb) => {
         if (type === "resize" && cb === this.resizeCb) {
           this.resizeCb = null;
         }
       }
     };
   },
-  mockResize: function() {
+  mockResize: function () {
     if (this.resizeCb) {
       this.resizeCb();
     }
   }
 };
 
 function run_test() {
   instancesOfObserversAreSharedBetweenWindows();
@@ -157,17 +157,17 @@ function eventsAreBatched() {
   do_check_eq(resizeEvents.length, 1);
 
   observer.off("reflows", onReflows);
   observer.off("resize", onResize);
   releaseLayoutChangesObserver(tabActor);
 }
 
 function noEventsAreSentWhenThereAreNoReflowsAndLoopTimeouts() {
- do_print("Checking that if no reflows were detected and the event batching " +
+  do_print("Checking that if no reflows were detected and the event batching " +
   "loop expires, then no reflows event is sent");
 
   let tabActor = new MockTabActor();
   let observer = getLayoutChangesObserver(tabActor);
 
   let reflowsEvents = [];
   let onReflows = (event, reflows) => reflowsEvents.push(reflows);
   observer.on("reflows", onReflows);
--- a/devtools/server/tests/unit/test_longstringgrips-01.js
+++ b/devtools/server/tests/unit/test_longstringgrips-01.js
@@ -9,18 +9,18 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_longstring_grip();
     });
   });
   do_test_pending();
 }
 
 function test_longstring_grip()
@@ -33,38 +33,38 @@ function test_longstring_grip()
     + " kind of a father would I be if I said no? Yep, I remember. They came in"
     + " last at the Olympics, then retired to promote alcoholic beverages! And"
     + " remember, don't do anything that affects anything, unless it turns out"
     + " you were supposed to, in which case, for the love of God, don't not do"
     + " it!";
 
   DebuggerServer.LONG_STRING_LENGTH = 200;
 
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
     do_check_eq(args.length, 1);
     let grip = args[0];
 
     try {
       do_check_eq(grip.type, "longString");
       do_check_eq(grip.length, longString.length);
       do_check_eq(grip.initial, longString.substr(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH));
 
       let longStringClient = gThreadClient.pauseLongString(grip);
       longStringClient.substring(22, 28, function (aResponse) {
         try {
           do_check_eq(aResponse.substring, "monkey");
         } finally {
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         }
       });
-    } catch(error) {
-      gThreadClient.resume(function() {
+    } catch (error) {
+      gThreadClient.resume(function () {
         finishClient(gClient);
         do_throw(error);
       });
     }
   });
 
   gDebuggee.eval('stopMe("' + longString + '")');
 }
--- a/devtools/server/tests/unit/test_longstringgrips-02.js
+++ b/devtools/server/tests/unit/test_longstringgrips-02.js
@@ -9,52 +9,52 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
+  gClient.connect().then(function () {
     attachTestTabAndResume(
-      gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+      gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
         gThreadClient = aThreadClient;
         test_longstring_grip();
       });
   });
   do_test_pending();
 }
 
 function test_longstring_grip()
 {
   DebuggerServer.LONG_STRING_LENGTH = 200;
 
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     try {
       let fakeLongStringGrip = {
         type: "longString",
         length: 1000000,
         actor: "123fakeActor123",
         initial: ""
       };
       let longStringClient = gThreadClient.pauseLongString(fakeLongStringGrip);
       longStringClient.substring(22, 28, function (aResponse) {
         try {
           do_check_true(!!aResponse.error,
                         "We should not get a response, but an error.");
         } finally {
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         }
       });
-    } catch(error) {
-      gThreadClient.resume(function() {
+    } catch (error) {
+      gThreadClient.resume(function () {
         finishClient(gClient);
         do_throw(error);
       });
     }
   });
 
-  gDebuggee.eval('stopMe()');
+  gDebuggee.eval("stopMe()");
 }
 
--- a/devtools/server/tests/unit/test_monitor_actor.js
+++ b/devtools/server/tests/unit/test_monitor_actor.js
@@ -16,29 +16,29 @@ function run_test()
     this.actor = form.monitorActor;
     this.events = ["update"];
 
     EventEmitter.decorate(this);
     client.registerClient(this);
   }
   MonitorClient.prototype.destroy = function () {
     this.client.unregisterClient(this);
-  }
+  };
   MonitorClient.prototype.start = function (callback) {
     this.client.request({
       to: this.actor,
       type: "start"
     }, callback);
-  }
+  };
   MonitorClient.prototype.stop = function (callback) {
     this.client.request({
       to: this.actor,
       type: "stop"
     }, callback);
-  }
+  };
 
   let monitor, client;
 
   // Start the monitor actor.
   get_chrome_actors((c, form) => {
     client = c;
     monitor = new MonitorClient(client, form);
     monitor.on("update", gotUpdate);
@@ -53,17 +53,17 @@ function run_test()
       curve: "test",
       value: 42,
       time: time,
     };
     Services.obs.notifyObservers(null, "devtools-monitor-update", JSON.stringify(event));
   }
 
   function gotUpdate(type, packet) {
-    packet.data.forEach(function(event) {
+    packet.data.forEach(function (event) {
       // Ignore updates that were not sent by this test.
       if (event.graph === "Test") {
         do_check_eq(event.curve, "test");
         do_check_eq(event.value, 42);
         do_check_eq(event.time, time);
         monitor.stop(function (aResponse) {
           monitor.destroy();
           finishClient(client);
--- a/devtools/server/tests/unit/test_nativewrappers.js
+++ b/devtools/server/tests/unit/test_nativewrappers.js
@@ -1,22 +1,22 @@
 function run_test()
 {
   Components.utils.import("resource://gre/modules/jsdebugger.jsm");
   addDebuggerToGlobal(this);
   var g = testGlobal("test1");
 
   var dbg = new Debugger();
   dbg.addDebuggee(g);
-  dbg.onDebuggerStatement = function(aFrame) {
+  dbg.onDebuggerStatement = function (aFrame) {
     let args = aFrame.arguments;
     try {
       args[0];
       do_check_true(true);
-    } catch(ex) {
+    } catch (ex) {
       do_check_true(false);
     }
   };
 
   g.eval("function stopMe(arg) {debugger;}");
 
   g2 = testGlobal("test2");
   g2.g = g;
--- a/devtools/server/tests/unit/test_new_source-01.js
+++ b/devtools/server/tests/unit/test_new_source-01.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_simple_new_source();
     });
   });
   do_test_pending();
 }
 
 function test_simple_new_source()
@@ -30,11 +30,11 @@ function test_simple_new_source()
     do_check_eq(aPacket.type, "newSource");
     do_check_true(!!aPacket.source);
     do_check_true(!!aPacket.source.url.match(/test_new_source-01.js$/));
 
     finishClient(gClient);
   });
 
   Components.utils.evalInSandbox(function inc(n) {
-    return n+1;
+    return n + 1;
   }.toString(), gDebuggee);
 }
--- a/devtools/server/tests/unit/test_objectgrips-01.js
+++ b/devtools/server/tests/unit/test_objectgrips-01.js
@@ -7,51 +7,51 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Object");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getOwnPropertyNames(function(aResponse) {
+    objClient.getOwnPropertyNames(function (aResponse) {
       do_check_eq(aResponse.ownPropertyNames.length, 3);
       do_check_eq(aResponse.ownPropertyNames[0], "a");
       do_check_eq(aResponse.ownPropertyNames[1], "b");
       do_check_eq(aResponse.ownPropertyNames[2], "c");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         gClient.close(gCallback);
       });
     });
 
   });
 
   gDebuggee.eval("stopMe({ a: 1, b: true, c: 'foo' })");
 }
--- a/devtools/server/tests/unit/test_objectgrips-02.js
+++ b/devtools/server/tests/unit/test_objectgrips-02.js
@@ -7,54 +7,54 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Object");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getPrototype(function(aResponse) {
+    objClient.getPrototype(function (aResponse) {
       do_check_true(aResponse.prototype != undefined);
 
       let protoClient = gThreadClient.pauseGrip(aResponse.prototype);
-      protoClient.getOwnPropertyNames(function(aResponse) {
+      protoClient.getOwnPropertyNames(function (aResponse) {
         do_check_eq(aResponse.ownPropertyNames.length, 2);
         do_check_eq(aResponse.ownPropertyNames[0], "b");
         do_check_eq(aResponse.ownPropertyNames[1], "c");
 
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           gClient.close(gCallback);
         });
       });
     });
 
   });
 
   gDebuggee.eval(function Constr() {
--- a/devtools/server/tests/unit/test_objectgrips-03.js
+++ b/devtools/server/tests/unit/test_objectgrips-03.js
@@ -7,64 +7,64 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Object");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getProperty("x", function(aResponse) {
+    objClient.getProperty("x", function (aResponse) {
       do_check_eq(aResponse.descriptor.configurable, true);
       do_check_eq(aResponse.descriptor.enumerable, true);
       do_check_eq(aResponse.descriptor.writable, true);
       do_check_eq(aResponse.descriptor.value, 10);
 
-      objClient.getProperty("y", function(aResponse) {
+      objClient.getProperty("y", function (aResponse) {
         do_check_eq(aResponse.descriptor.configurable, true);
         do_check_eq(aResponse.descriptor.enumerable, true);
         do_check_eq(aResponse.descriptor.writable, true);
         do_check_eq(aResponse.descriptor.value, "kaiju");
 
-        objClient.getProperty("a", function(aResponse) {
+        objClient.getProperty("a", function (aResponse) {
           do_check_eq(aResponse.descriptor.configurable, true);
           do_check_eq(aResponse.descriptor.enumerable, true);
           do_check_eq(aResponse.descriptor.get.type, "object");
           do_check_eq(aResponse.descriptor.get.class, "Function");
           do_check_eq(aResponse.descriptor.set.type, "undefined");
 
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             gClient.close(gCallback);
           });
         });
       });
     });
 
   });
 
--- a/devtools/server/tests/unit/test_objectgrips-04.js
+++ b/devtools/server/tests/unit/test_objectgrips-04.js
@@ -7,45 +7,45 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Object");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.x.configurable, true);
       do_check_eq(aResponse.ownProperties.x.enumerable, true);
       do_check_eq(aResponse.ownProperties.x.writable, true);
       do_check_eq(aResponse.ownProperties.x.value, 10);
 
       do_check_eq(aResponse.ownProperties.y.configurable, true);
       do_check_eq(aResponse.ownProperties.y.enumerable, true);
       do_check_eq(aResponse.ownProperties.y.writable, true);
@@ -55,20 +55,20 @@ function test_object_grip()
       do_check_eq(aResponse.ownProperties.a.enumerable, true);
       do_check_eq(aResponse.ownProperties.a.get.type, "object");
       do_check_eq(aResponse.ownProperties.a.get.class, "Function");
       do_check_eq(aResponse.ownProperties.a.set.type, "undefined");
 
       do_check_true(aResponse.prototype != undefined);
 
       let protoClient = gThreadClient.pauseGrip(aResponse.prototype);
-      protoClient.getOwnPropertyNames(function(aResponse) {
+      protoClient.getOwnPropertyNames(function (aResponse) {
         do_check_true(aResponse.ownPropertyNames.toString != undefined);
 
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           gClient.close(gCallback);
         });
       });
     });
 
   });
 
   gDebuggee.eval("stopMe({ x: 10, y: 'kaiju', get a() { return 42; } })");
--- a/devtools/server/tests/unit/test_objectgrips-05.js
+++ b/devtools/server/tests/unit/test_objectgrips-05.js
@@ -12,39 +12,39 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1, arg2) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let obj1 = aPacket.frame.arguments[0];
     do_check_true(obj1.frozen);
 
     let obj1Client = gThreadClient.pauseGrip(obj1);
     do_check_true(obj1Client.isFrozen);
 
     let obj2 = aPacket.frame.arguments[1];
     do_check_false(obj2.frozen);
--- a/devtools/server/tests/unit/test_objectgrips-06.js
+++ b/devtools/server/tests/unit/test_objectgrips-06.js
@@ -12,39 +12,39 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1, arg2) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let obj1 = aPacket.frame.arguments[0];
     do_check_true(obj1.sealed);
 
     let obj1Client = gThreadClient.pauseGrip(obj1);
     do_check_true(obj1Client.isSealed);
 
     let obj2 = aPacket.frame.arguments[1];
     do_check_false(obj2.sealed);
--- a/devtools/server/tests/unit/test_objectgrips-07.js
+++ b/devtools/server/tests/unit/test_objectgrips-07.js
@@ -12,39 +12,39 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1, arg2, arg3, arg4) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let [f, s, ne, e] = aPacket.frame.arguments;
     let [fClient, sClient, neClient, eClient] = aPacket.frame.arguments.map(
       a => gThreadClient.pauseGrip(a));
 
     do_check_false(f.extensible);
     do_check_false(fClient.isExtensible);
 
     do_check_false(s.extensible);
--- a/devtools/server/tests/unit/test_objectgrips-08.js
+++ b/devtools/server/tests/unit/test_objectgrips-08.js
@@ -7,45 +7,45 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     do_check_eq(args[0].class, "Object");
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getPrototypeAndProperties(function(aResponse) {
+    objClient.getPrototypeAndProperties(function (aResponse) {
       do_check_eq(aResponse.ownProperties.a.configurable, true);
       do_check_eq(aResponse.ownProperties.a.enumerable, true);
       do_check_eq(aResponse.ownProperties.a.writable, true);
       do_check_eq(aResponse.ownProperties.a.value.type, "Infinity");
 
       do_check_eq(aResponse.ownProperties.b.configurable, true);
       do_check_eq(aResponse.ownProperties.b.enumerable, true);
       do_check_eq(aResponse.ownProperties.b.writable, true);
@@ -56,17 +56,17 @@ function test_object_grip()
       do_check_eq(aResponse.ownProperties.c.writable, true);
       do_check_eq(aResponse.ownProperties.c.value.type, "NaN");
 
       do_check_eq(aResponse.ownProperties.d.configurable, true);
       do_check_eq(aResponse.ownProperties.d.enumerable, true);
       do_check_eq(aResponse.ownProperties.d.writable, true);
       do_check_eq(aResponse.ownProperties.d.value.type, "-0");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         gClient.close(gCallback);
       });
     });
   });
 
   gDebuggee.eval("stopMe({ a: Infinity, b: -Infinity, c: NaN, d: -0 })");
 }
 
--- a/devtools/server/tests/unit/test_objectgrips-09.js
+++ b/devtools/server/tests/unit/test_objectgrips-09.js
@@ -11,42 +11,42 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-grips", aServer);
   gDebuggee.eval(function stopMe(arg1, arg2) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(aServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
-    gThreadClient.getPrototypesAndProperties([args[0].actor, args[1].actor], function(aResponse) {
+    gThreadClient.getPrototypesAndProperties([args[0].actor, args[1].actor], function (aResponse) {
       let obj1 = aResponse.actors[args[0].actor];
       let obj2 = aResponse.actors[args[1].actor];
       do_check_eq(obj1.ownProperties.x.configurable, true);
       do_check_eq(obj1.ownProperties.x.enumerable, true);
       do_check_eq(obj1.ownProperties.x.writable, true);
       do_check_eq(obj1.ownProperties.x.value, 10);
 
       do_check_eq(obj1.ownProperties.y.configurable, true);
@@ -57,17 +57,17 @@ function test_object_grip()
       do_check_eq(obj2.ownProperties.z.configurable, true);
       do_check_eq(obj2.ownProperties.z.enumerable, true);
       do_check_eq(obj2.ownProperties.z.writable, true);
       do_check_eq(obj2.ownProperties.z.value, 123);
 
       do_check_true(obj1.prototype != undefined);
       do_check_true(obj2.prototype != undefined);
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         gClient.close(gCallback);
       });
     });
 
   });
 
   gDebuggee.eval("stopMe({ x: 10, y: 'kaiju'}, { z: 123 })");
 }
--- a/devtools/server/tests/unit/test_objectgrips-10.js
+++ b/devtools/server/tests/unit/test_objectgrips-10.js
@@ -8,28 +8,28 @@ var gThreadClient;
 // Test that closures can be inspected.
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-closures");
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-closures", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-closures", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
   do_test_pending();
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let person = aPacket.frame.environment.bindings.variables.person;
 
     do_check_eq(person.value.class, "Object");
 
     let personClient = gThreadClient.pauseGrip(person.value);
     personClient.getPrototypeAndProperties(aResponse => {
       do_check_eq(aResponse.ownProperties.getName.value.class, "Function");
 
@@ -52,21 +52,21 @@ function test_object_grip()
             gThreadClient.resume(() => finishClient(gClient));
           });
         });
       });
     });
 
   });
 
-  gDebuggee.eval("(" + function() {
-    var PersonFactory = function(name, age) {
-        var foo = 10;
-        return {
-          getName: function() { return name; },
-          getAge: function() { return age; },
-          getFoo: function() { foo = Date.now(); return foo; }
-        };
+  gDebuggee.eval("(" + function () {
+    var PersonFactory = function (name, age) {
+      var foo = 10;
+      return {
+        getName: function () { return name; },
+        getAge: function () { return age; },
+        getFoo: function () { foo = Date.now(); return foo; }
+      };
     };
     var person = new PersonFactory("Bob", 58);
     debugger;
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_objectgrips-11.js
+++ b/devtools/server/tests/unit/test_objectgrips-11.js
@@ -11,41 +11,41 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_object_grip();
     });
   });
   do_test_pending();
 }
 
 function test_object_grip()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
 
     let objClient = gThreadClient.pauseGrip(args[0]);
-    objClient.getOwnPropertyNames(function(aResponse) {
+    objClient.getOwnPropertyNames(function (aResponse) {
       var opn = aResponse.ownPropertyNames;
       do_check_eq(opn.length, 4);
       opn.sort();
       do_check_eq(opn[0], "columnNumber");
       do_check_eq(opn[1], "fileName");
       do_check_eq(opn[2], "lineNumber");
       do_check_eq(opn[3], "message");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
 
   });
 
   gDebuggee.eval("stopMe(new TypeError('error message text'))");
 }
--- a/devtools/server/tests/unit/test_objectgrips-12.js
+++ b/devtools/server/tests/unit/test_objectgrips-12.js
@@ -13,18 +13,18 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gDebuggee.eval(function stopMe(arg1) {
     debugger;
   }.toString());
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_display_string();
     });
   });
   do_test_pending();
 }
 
 function test_display_string()
@@ -58,17 +58,17 @@ function test_display_string()
       input: "[undefined, null, true, 'foo', 5]",
       output: ",,true,foo,5"
     },
     {
       input: "[{},{}]",
       output: "[object Object],[object Object]"
     },
     {
-      input: "(" + function() {
+      input: "(" + function () {
         const arr = [1];
         arr.push(arr);
         return arr;
       } + ")()",
       output: "1,"
     },
     {
       input: "{}",
@@ -86,17 +86,17 @@ function test_display_string()
       input: "new SyntaxError()",
       output: "SyntaxError"
     },
     {
       input: "new ReferenceError('')",
       output: "ReferenceError"
     },
     {
-      input: "(" + function() {
+      input: "(" + function () {
         const err = new Error("bar");
         err.name = "foo";
         return err;
       } + ")()",
       output: "foo: bar"
     },
     {
       input: "() => {}",
@@ -134,27 +134,27 @@ function test_display_string()
     {
       input: "new Promise(function () {})",
       output: "Promise (pending)"
     }
   ];
 
   PromiseTestUtils.expectUncaughtRejection(/Error/);
 
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     const args = aPacket.frame.arguments;
 
     (function loop() {
       const objClient = gThreadClient.pauseGrip(args.pop());
-      objClient.getDisplayString(function({ displayString }) {
+      objClient.getDisplayString(function ({ displayString }) {
         do_check_eq(displayString, testCases.pop().output);
         if (args.length) {
           loop();
         } else {
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         }
       });
     })();
   });
 
   const inputs = testCases.map(({ input }) => input).join(",");
--- a/devtools/server/tests/unit/test_objectgrips-13.js
+++ b/devtools/server/tests/unit/test_objectgrips-13.js
@@ -12,28 +12,28 @@ function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   Components.utils.evalInSandbox(function stopMe() {
     debugger;
   }.toString(), gDebuggee);
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       add_pause_listener();
     });
   });
   do_test_pending();
 }
 
 function add_pause_listener()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     const [funcGrip, objGrip] = aPacket.frame.arguments;
     const func = gThreadClient.pauseGrip(funcGrip);
     const obj = gThreadClient.pauseGrip(objGrip);
     test_definition_site(func, obj);
   });
 
   eval_code();
 }
--- a/devtools/server/tests/unit/test_pause_exceptions-01.js
+++ b/devtools/server/tests/unit/test_pause_exceptions-01.js
@@ -10,41 +10,41 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
       do_check_eq(aPacket.why.type, "exception");
       do_check_eq(aPacket.why.exception, 42);
       gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
     gThreadClient.pauseOnExceptions(true);
     gThreadClient.resume();
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe() {
       debugger;
       throw 42;
-    };
+    }
     try {
       stopMe();
     } catch (e) {}
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_pause_exceptions-02.js
+++ b/devtools/server/tests/unit/test_pause_exceptions-02.js
@@ -10,38 +10,38 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
   gThreadClient.pauseOnExceptions(true, false, function () {
-    gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+    gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
       do_check_eq(aPacket.why.type, "exception");
       do_check_eq(aPacket.why.exception, 42);
       gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
 
-    gDebuggee.eval("(" + function() {
+    gDebuggee.eval("(" + function () {
       function stopMe() {
         throw 42;
-      };
+      }
       try {
         stopMe();
       } catch (e) {}
     } + ")()");
   });
 }
--- a/devtools/server/tests/unit/test_pauselifetime-01.js
+++ b/devtools/server/tests/unit/test_pauselifetime-01.js
@@ -9,46 +9,46 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let pauseActor = aPacket.actor;
 
     // Make a bogus request to the pause-liftime actor.  Should get
     // unrecognized-packet-type (and not no-such-actor).
-    gClient.request({ to: pauseActor, type: "bogusRequest" }, function(aResponse) {
+    gClient.request({ to: pauseActor, type: "bogusRequest" }, function (aResponse) {
       do_check_eq(aResponse.error, "unrecognizedPacketType");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         // Now that we've resumed, should get no-such-actor for the
         // same request.
-        gClient.request({ to: pauseActor, type: "bogusRequest" }, function(aResponse) {
+        gClient.request({ to: pauseActor, type: "bogusRequest" }, function (aResponse) {
           do_check_eq(aResponse.error, "noSuchActor");
           finishClient(gClient);
         });
       });
 
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe() {
       debugger;
-    };
+    }
     stopMe();
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_pauselifetime-02.js
+++ b/devtools/server/tests/unit/test_pauselifetime-02.js
@@ -9,48 +9,48 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
     let objActor = args[0].actor;
     do_check_eq(args[0].class, "Object");
     do_check_true(!!objActor);
 
     // Make a bogus request to the grip actor.  Should get
     // unrecognized-packet-type (and not no-such-actor).
-    gClient.request({ to: objActor, type: "bogusRequest" }, function(aResponse) {
+    gClient.request({ to: objActor, type: "bogusRequest" }, function (aResponse) {
       do_check_eq(aResponse.error, "unrecognizedPacketType");
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         // Now that we've resumed, should get no-such-actor for the
         // same request.
-        gClient.request({ to: objActor, type: "bogusRequest" }, function(aResponse) {
+        gClient.request({ to: objActor, type: "bogusRequest" }, function (aResponse) {
           do_check_eq(aResponse.error, "noSuchActor");
           finishClient(gClient);
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aObject) {
       debugger;
-    };
+    }
     stopMe({ foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_pauselifetime-03.js
+++ b/devtools/server/tests/unit/test_pauselifetime-03.js
@@ -9,53 +9,53 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
     let objActor = args[0].actor;
     do_check_eq(args[0].class, "Object");
     do_check_true(!!objActor);
 
     let objClient = gThreadClient.pauseGrip(args[0]);
     do_check_true(objClient.valid);
 
     // Make a bogus request to the grip actor.  Should get
     // unrecognized-packet-type (and not no-such-actor).
-    gClient.request({ to: objActor, type: "bogusRequest" }, function(aResponse) {
+    gClient.request({ to: objActor, type: "bogusRequest" }, function (aResponse) {
       do_check_eq(aResponse.error, "unrecognizedPacketType");
       do_check_true(objClient.valid);
 
-      gThreadClient.resume(function() {
+      gThreadClient.resume(function () {
         // Now that we've resumed, should get no-such-actor for the
         // same request.
-        gClient.request({ to: objActor, type: "bogusRequest" }, function(aResponse) {
+        gClient.request({ to: objActor, type: "bogusRequest" }, function (aResponse) {
           do_check_false(objClient.valid);
           do_check_eq(aResponse.error, "noSuchActor");
           finishClient(gClient);
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aObject) {
       debugger;
-    };
+    }
     stopMe({ foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_pauselifetime-04.js
+++ b/devtools/server/tests/unit/test_pauselifetime-04.js
@@ -10,39 +10,39 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-stack");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-stack", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_pause_frame();
     });
   });
   do_test_pending();
 }
 
 function test_pause_frame()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let args = aPacket.frame.arguments;
     let objActor1 = args[0].actor;
 
-    gThreadClient.getFrames(0, 1, function(aResponse) {
+    gThreadClient.getFrames(0, 1, function (aResponse) {
       let frame = aResponse.frames[0];
       do_check_eq(objActor1, frame.arguments[0].actor);
       gThreadClient.resume(function () {
         finishClient(gClient);
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(aObject) {
       debugger;
-    };
+    }
     stopMe({ foo: "bar" });
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_profiler_activation-01.js
+++ b/devtools/server/tests/unit/test_profiler_activation-01.js
@@ -58,32 +58,32 @@ function test_activate(client1, actor1, 
         do_check_true(typeof response.position === "number");
         do_check_true(typeof response.totalSize === "number");
         do_check_true(typeof response.generation === "number");
         do_check_true(response.position >= 0 && response.position < response.totalSize);
         do_check_true(response.totalSize === MAX_PROFILER_ENTRIES);
 
         let origConnectionClosed = DebuggerServer._connectionClosed;
 
-        DebuggerServer._connectionClosed = function(conn) {
+        DebuggerServer._connectionClosed = function (conn) {
           origConnectionClosed.call(this, conn);
 
           // The first client is the only actor that started the profiler,
           // however the second client can request the accumulated profile data
           // at any moment, so the profiler module shouldn't have deactivated.
           do_check_true(Profiler.IsActive());
 
-          DebuggerServer._connectionClosed = function(conn) {
+          DebuggerServer._connectionClosed = function (conn) {
             origConnectionClosed.call(this, conn);
 
             // Now there are no open clients at all, it should *definitely*
             // be deactivated by now.
             do_check_false(Profiler.IsActive());
 
             callback();
-          }
+          };
           client2.close();
         };
         client1.close();
       });
     });
   });
 }
--- a/devtools/server/tests/unit/test_profiler_bufferstatus.js
+++ b/devtools/server/tests/unit/test_profiler_bufferstatus.js
@@ -26,17 +26,17 @@ function run_test()
           check_buffer(client, actor, () => {
             deactivate_profiler(client, actor, () => {
               client.close(do_test_finished);
             });
           });
         });
       });
     });
-  })
+  });
 
   do_test_pending();
 }
 
 function check_buffer(client, actor, callback)
 {
   client.request({ to: actor, type: "isActive" }, response => {
     do_check_true(typeof response.position === "number");
--- a/devtools/server/tests/unit/test_profiler_data.js
+++ b/devtools/server/tests/unit/test_profiler_data.js
@@ -15,20 +15,20 @@ const MAX_WAIT_TIME = 20000; // ms
 function run_test()
 {
   get_chrome_actors((client, form) => {
     let actor = form.profilerActor;
     activate_profiler(client, actor, startTime => {
       test_data(client, actor, startTime, () => {
         deactivate_profiler(client, actor, () => {
           client.close(do_test_finished);
-        })
+        });
       });
     });
-  })
+  });
 
   do_test_pending();
 }
 
 function activate_profiler(client, actor, callback)
 {
   client.request({ to: actor, type: "startProfiler" }, response => {
     do_check_true(response.started);
@@ -59,17 +59,17 @@ function test_data(client, actor, startT
 
     // Spin for the requested time, then take a sample.
     let start = Date.now();
     let stack;
     do_print("Attempt: delay = " + delay);
     while (Date.now() - start < delay) { stack = Components.stack; }
     do_print("Attempt: finished waiting.");
 
-    client.request({ to: actor, type: "getProfile", startTime  }, response => {
+    client.request({ to: actor, type: "getProfile", startTime }, response => {
       // Any valid getProfile response should have the following top
       // level structure.
       do_check_eq(typeof response.profile, "object");
       do_check_eq(typeof response.profile.meta, "object");
       do_check_eq(typeof response.profile.meta.platform, "string");
       do_check_eq(typeof response.profile.threads, "object");
       do_check_eq(typeof response.profile.threads[0], "object");
       do_check_eq(typeof response.profile.threads[0].samples, "object");
--- a/devtools/server/tests/unit/test_profiler_events-01.js
+++ b/devtools/server/tests/unit/test_profiler_events-01.js
@@ -9,17 +9,17 @@
 
 const Profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
 const { ProfilerFront } = require("devtools/server/actors/profiler");
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let [client, form] = yield getChromeActors();
   let front = new ProfilerFront(client, form);
 
   let events = [0, 0, 0, 0];
   front.on("console-api-profiler", () => events[0]++);
   front.on("profiler-started", () => events[1]++);
   front.on("profiler-stopped", () => events[2]++);
   client.addListener("eventNotification", (type, response) => {
@@ -50,13 +50,13 @@ add_task(function *() {
   do_check_true(events[1] === 1);
   do_check_true(events[2] === 1);
   do_check_true(events[3] === 2, "compatibility events supported for eventNotifications");
 
   ret = yield front.unregisterEventNotifications({ events: ["console-api-profiler", "profiler-started", "profiler-stopped"] });
   do_check_true(ret.registered.length === 3);
 });
 
-function getChromeActors () {
+function getChromeActors() {
   let deferred = promise.defer();
   get_chrome_actors((client, form) => deferred.resolve([client, form]));
   return deferred.promise;
 }
--- a/devtools/server/tests/unit/test_profiler_events-02.js
+++ b/devtools/server/tests/unit/test_profiler_events-02.js
@@ -11,17 +11,17 @@ const Profiler = Cc["@mozilla.org/tools/
 const MAX_PROFILER_ENTRIES = 10000000;
 const { ProfilerFront } = require("devtools/server/actors/profiler");
 const { waitForTime } = DevToolsUtils;
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function *() {
+add_task(function* () {
   let [client, form] = yield getChromeActors();
   let front = new ProfilerFront(client, form);
 
   // Ensure the profiler is not running when the test starts (it could
   // happen if the MOZ_PROFILER_STARTUP environment variable is set).
   Profiler.StopProfiler();
   let eventsCalled = 0;
   let handledThreeTimes = promise.defer();
@@ -58,13 +58,13 @@ add_task(function *() {
   yield front.stopProfiler();
   do_check_true(eventsCalled >= 3, "profiler-status fired atleast three times while recording");
 
   let totalEvents = eventsCalled;
   yield waitForTime(50);
   do_check_true(totalEvents === eventsCalled, "No more profiler-status events after recording.");
 });
 
-function getChromeActors () {
+function getChromeActors() {
   let deferred = promise.defer();
   get_chrome_actors((client, form) => deferred.resolve([client, form]));
   return deferred.promise;
 }
--- a/devtools/server/tests/unit/test_profiler_getbufferinfo.js
+++ b/devtools/server/tests/unit/test_profiler_getbufferinfo.js
@@ -26,17 +26,17 @@ function run_test()
           check_buffer(client, actor, () => {
             deactivate_profiler(client, actor, () => {
               client.close(do_test_finished);
             });
           });
         });
       });
     });
-  })
+  });
 
   do_test_pending();
 }
 
 function check_empty_buffer(client, actor, callback)
 {
   client.request({ to: actor, type: "getBufferInfo" }, response => {
     do_check_true(response.position === 0);
--- a/devtools/server/tests/unit/test_promise_state-01.js
+++ b/devtools/server/tests/unit/test_promise_state-01.js
@@ -6,17 +6,17 @@
  * pending.
  */
 
 function run_test()
 {
   initTestDebuggerServer();
   const debuggee = addTestGlobal("test-promise-state");
   const client = new DebuggerClient(DebuggerServer.connectPipe());
-  client.connect().then(function() {
+  client.connect().then(function () {
     attachTestTabAndResume(client, "test-promise-state", function (response, tabClient, threadClient) {
       Task.spawn(function* () {
         const packet = yield executeOnNextTickAndWaitForPause(() => evalCode(debuggee), client);
 
         const grip = packet.frame.environment.bindings.variables.p;
         ok(grip.value.preview);
         equal(grip.value.class, "Promise");
         equal(grip.value.promiseState.state, "pending");
--- a/devtools/server/tests/unit/test_promise_state-02.js
+++ b/devtools/server/tests/unit/test_promise_state-02.js
@@ -6,17 +6,17 @@
  * fulfilled.
  */
 
 function run_test()
 {
   initTestDebuggerServer();
   const debuggee = addTestGlobal("test-promise-state");
   const client = new DebuggerClient(DebuggerServer.connectPipe());
-  client.connect().then(function() {
+  client.connect().then(function () {
     attachTestTabAndResume(client, "test-promise-state", function (response, tabClient, threadClient) {
       Task.spawn(function* () {
         const packet = yield executeOnNextTickAndWaitForPause(() => evalCode(debuggee), client);
 
         const grip = packet.frame.environment.bindings.variables.p;
         ok(grip.value.preview);
         equal(grip.value.class, "Promise");
         equal(grip.value.promiseState.state, "fulfilled");
--- a/devtools/server/tests/unit/test_promise_state-03.js
+++ b/devtools/server/tests/unit/test_promise_state-03.js
@@ -6,17 +6,17 @@
  * rejected.
  */
 
 function run_test()
 {
   initTestDebuggerServer();
   const debuggee = addTestGlobal("test-promise-state");
   const client = new DebuggerClient(DebuggerServer.connectPipe());
-  client.connect().then(function() {
+  client.connect().then(function () {
     attachTestTabAndResume(client, "test-promise-state", function (response, tabClient, threadClient) {
       Task.spawn(function* () {
         const packet = yield executeOnNextTickAndWaitForPause(() => evalCode(debuggee), client);
 
         const grip = packet.frame.environment.bindings.variables.p;
         ok(grip.value.preview);
         equal(grip.value.class, "Promise");
         equal(grip.value.promiseState.state, "rejected");
--- a/devtools/server/tests/unit/test_promises_actor_attach.js
+++ b/devtools/server/tests/unit/test_promises_actor_attach.js
@@ -3,17 +3,17 @@
 
 /**
  * Test that we can attach and detach to the PromisesActor under the correct
  * states.
  */
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-actor-test");
   let chromeActors = yield getChromeActors(client);
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testAttach(client, chromeActors);
 
   let response = yield listTabs(client);
@@ -27,26 +27,26 @@ add_task(function*() {
   yield close(client);
 });
 
 function* testAttach(client, parent) {
   let promises = PromisesFront(client, parent);
 
   try {
     yield promises.detach();
-    ok(false, "Should not be able to detach when in a detached state.")
-  } catch(e) {
+    ok(false, "Should not be able to detach when in a detached state.");
+  } catch (e) {
     ok(true, "Expected detach to fail when already in a detached state.");
   }
 
   yield promises.attach();
   ok(true, "Expected attach to succeed.");
 
   try {
     yield promises.attach();
     ok(false, "Should not be able to attach when in an attached state.");
-  } catch(e) {
+  } catch (e) {
     ok(true, "Expected attach to fail when already in an attached state.");
   }
 
   yield promises.detach();
   ok(true, "Expected detach to succeed.");
 }
--- a/devtools/server/tests/unit/test_promises_actor_exist.js
+++ b/devtools/server/tests/unit/test_promises_actor_exist.js
@@ -1,21 +1,21 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 /**
  * Test that the PromisesActor exists in the TabActors and ChromeActors.
  */
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-actor-test");
 
   let response = yield listTabs(client);
   let targetTab = findTab(response.tabs, "promises-actor-test");
-  ok(targetTab, "Found our target tab.")
+  ok(targetTab, "Found our target tab.");
 
   // Attach to the TabActor and check the response
   client.request({ to: targetTab.actor, type: "attach" }, response => {
     ok(!("error" in response), "Expect no error in response.");
     ok(response.from, targetTab.actor,
       "Expect the target TabActor in response form field.");
     ok(response.type, "tabAttached",
       "Expect tabAttached in the response type.");
--- a/devtools/server/tests/unit/test_promises_actor_list_promises.js
+++ b/devtools/server/tests/unit/test_promises_actor_list_promises.js
@@ -6,17 +6,17 @@
  * PromisesActor.
  */
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 const SECRET = "MyLittleSecret";
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-actor-test");
   let chromeActors = yield getChromeActors(client);
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testListPromises(client, chromeActors, v =>
     new Promise(resolve => resolve(v)));
 
--- a/devtools/server/tests/unit/test_promises_actor_onnewpromise.js
+++ b/devtools/server/tests/unit/test_promises_actor_onnewpromise.js
@@ -7,17 +7,17 @@
  */
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-actor-test");
   let chromeActors = yield getChromeActors(client);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise");
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testNewPromisesEvent(client, chromeActors,
--- a/devtools/server/tests/unit/test_promises_actor_onpromisesettled.js
+++ b/devtools/server/tests/unit/test_promises_actor_onpromisesettled.js
@@ -9,17 +9,17 @@
 "use strict";
 
 Cu.import("resource://testing-common/PromiseTestUtils.jsm", this);
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-actor-test");
   let chromeActors = yield getChromeActors(client);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise");
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testPromisesSettled(client, chromeActors,
--- a/devtools/server/tests/unit/test_promises_client_getdependentpromises.js
+++ b/devtools/server/tests/unit/test_promises_client_getdependentpromises.js
@@ -6,17 +6,17 @@
  */
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("test-promises-dependentpromises");
   let chromeActors = yield getChromeActors(client);
   yield attachTab(client, chromeActors);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise.");
 
   yield testGetDependentPromises(client, chromeActors, () => {
     let p = new Promise(() => {});
--- a/devtools/server/tests/unit/test_promises_object_creationtimestamp.js
+++ b/devtools/server/tests/unit/test_promises_object_creationtimestamp.js
@@ -6,17 +6,17 @@
  */
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("promises-object-test");
   let chromeActors = yield getChromeActors(client);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise.");
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testPromiseCreationTimestamp(client, chromeActors, v => {
--- a/devtools/server/tests/unit/test_promises_object_timetosettle-01.js
+++ b/devtools/server/tests/unit/test_promises_object_timetosettle-01.js
@@ -7,17 +7,17 @@
  */
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("test-promises-timetosettle");
   let chromeActors = yield getChromeActors(client);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise.");
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
   yield testGetTimeToSettle(client, chromeActors, () => {
--- a/devtools/server/tests/unit/test_promises_object_timetosettle-02.js
+++ b/devtools/server/tests/unit/test_promises_object_timetosettle-02.js
@@ -7,17 +7,17 @@
 
 "use strict";
 
 const { PromisesFront } = require("devtools/server/actors/promises");
 const { setTimeout } = require("sdk/timers");
 
 var events = require("sdk/event/core");
 
-add_task(function*() {
+add_task(function* () {
   let client = yield startTestDebuggerServer("test-promises-timetosettle");
   let chromeActors = yield getChromeActors(client);
   yield attachTab(client, chromeActors);
 
   ok(Promise.toString().includes("native code"), "Expect native DOM Promise.");
 
   // We have to attach the chrome TabActor before playing with the PromiseActor
   yield attachTab(client, chromeActors);
--- a/devtools/server/tests/unit/test_protocolSpec.js
+++ b/devtools/server/tests/unit/test_protocolSpec.js
@@ -1,17 +1,17 @@
-const run_test = Test(function*() {
+const run_test = Test(function* () {
   initTestDebuggerServer();
   const connection = DebuggerServer.connectPipe();
   const client = Async(new DebuggerClient(connection));
 
   yield client.connect();
 
   const response = yield client.request({
     to: "root",
     type: "protocolDescription"
   });
 
   assert(response.from == "root");
-  assert(typeof(response.types) === "object");
+  assert(typeof (response.types) === "object");
 
   yield client.close();
 });
--- a/devtools/server/tests/unit/test_protocol_abort.js
+++ b/devtools/server/tests/unit/test_protocol_abort.js
@@ -10,40 +10,40 @@ var protocol = require("devtools/shared/
 var {method, Arg, Option, RetVal} = protocol;
 var events = require("sdk/event/core");
 
 function simpleHello() {
   return {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
-  }
+  };
 }
 
 var RootActor = protocol.ActorClass({
   typeName: "root",
-  initialize: function(conn) {
+  initialize: function (conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
     this.actorID = "root";
     this.sequence = 0;
   },
 
   sayHello: simpleHello,
 
-  simpleReturn: method(function() {
+  simpleReturn: method(function () {
     return this.sequence++;
   }, {
     response: { value: RetVal() },
   })
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root owns itself.
     this.manage(this);
   }
 });
 
 function run_test() {
--- a/devtools/server/tests/unit/test_protocol_async.js
+++ b/devtools/server/tests/unit/test_protocol_async.js
@@ -11,81 +11,81 @@ var protocol = require("devtools/shared/
 var {method, Arg, Option, RetVal} = protocol;
 var events = require("sdk/event/core");
 
 function simpleHello() {
   return {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
-  }
+  };
 }
 
 var RootActor = protocol.ActorClass({
   typeName: "root",
-  initialize: function(conn) {
+  initialize: function (conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
     this.actorID = "root";
     this.sequence = 0;
   },
 
   sayHello: simpleHello,
 
-  simpleReturn: method(function() {
+  simpleReturn: method(function () {
     return this.sequence++;
   }, {
     response: { value: RetVal() },
   }),
 
-  promiseReturn: method(function(toWait) {
+  promiseReturn: method(function (toWait) {
     // Guarantee that this resolves after simpleReturn returns.
     let deferred = promise.defer();
     let sequence = this.sequence++;
 
     // Wait until the number of requests specified by toWait have
     // happened, to test queuing.
     let check = () => {
       if ((this.sequence - sequence) < toWait) {
         do_execute_soon(check);
         return;
       }
       deferred.resolve(sequence);
-    }
+    };
     do_execute_soon(check);
 
     return deferred.promise;
   }, {
     request: { toWait: Arg(0, "number") },
     response: { value: RetVal("number") },
   }),
 
-  simpleThrow: method(function() {
+  simpleThrow: method(function () {
     throw new Error(this.sequence++);
   }, {
     response: { value: RetVal("number") }
   }),
 
-  promiseThrow: method(function() {
+  promiseThrow: method(function () {
     // Guarantee that this resolves after simpleReturn returns.
     let deferred = promise.defer();
     let sequence = this.sequence++;
     // This should be enough to force a failure if the code is broken.
     do_timeout(150, () => {
       deferred.reject(sequence++);
     });
     return deferred.promise;
   }, {
     response: { value: RetVal("number") },
   })
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root owns itself.
     this.manage(this);
   }
 });
 
 function run_test()
@@ -163,12 +163,12 @@ function run_test()
         do_check_eq(ret, sequence++); // Check request handling order
       });
     }));
 
     promise.all(calls).then(() => {
       client.close(() => {
         do_test_finished();
       });
-    })
+    });
   });
   do_test_pending();
 }
--- a/devtools/server/tests/unit/test_protocol_children.js
+++ b/devtools/server/tests/unit/test_protocol_children.js
@@ -9,115 +9,115 @@ var {method, preEvent, types, Arg, Optio
 
 var events = require("sdk/event/core");
 
 function simpleHello() {
   return {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
-  }
+  };
 }
 
 var testTypes = {};
 
 // Predeclaring the actor type so that it can be used in the
 // implementation of the child actor.
 types.addActorType("childActor");
 
 var ChildActor = protocol.ActorClass({
   typeName: "childActor",
 
   // Actors returned by this actor should be owned by the root actor.
-  marshallPool: function() { return this.parent() },
+  marshallPool: function () { return this.parent(); },
 
-  toString: function() { return "[ChildActor " + this.childID + "]"; },
+  toString: function () { return "[ChildActor " + this.childID + "]"; },
 
-  initialize: function(conn, id) {
+  initialize: function (conn, id) {
     protocol.Actor.prototype.initialize.call(this, conn);
     this.childID = id;
   },
 
-  destroy: function() {
+  destroy: function () {
     protocol.Actor.prototype.destroy.call(this);
     this.destroyed = true;
   },
 
-  form: function(detail) {
+  form: function (detail) {
     if (detail === "actorid") {
       return this.actorID;
     }
     return {
       actor: this.actorID,
       childID: this.childID,
       detail: detail
     };
   },
 
-  echo: method(function(str) {
+  echo: method(function (str) {
     return str;
   }, {
     request: { str: Arg(0) },
     response: { str: RetVal("string") },
     telemetry: "ECHO"
   }),
 
-  getDetail1: method(function() {
+  getDetail1: method(function () {
     return this;
   }, {
     // This also exercises return-value-as-packet.
     response: RetVal("childActor#detail1"),
   }),
 
-  getDetail2: method(function() {
+  getDetail2: method(function () {
     return this;
   }, {
     // This also exercises return-value-as-packet.
     response: RetVal("childActor#detail2"),
   }),
 
-  getIDDetail: method(function() {
+  getIDDetail: method(function () {
     return this;
   }, {
     response: {
       idDetail: RetVal("childActor#actorid")
     }
   }),
 
-  getIntArray: method(function(inputArray) {
+  getIntArray: method(function (inputArray) {
     // Test that protocol.js converts an iterator to an array.
-    let f = function*() {
+    let f = function* () {
       for (let i of inputArray) {
         yield 2 * i;
       }
     };
     return f();
   }, {
     request: { inputArray: Arg(0, "array:number") },
     response: RetVal("array:number")
   }),
 
-  getSibling: method(function(id) {
+  getSibling: method(function (id) {
     return this.parent().getChild(id);
   }, {
     request: { id: Arg(0) },
     response: { sibling: RetVal("childActor") }
   }),
 
-  emitEvents: method(function() {
+  emitEvents: method(function () {
     events.emit(this, "event1", 1, 2, 3);
     events.emit(this, "event2", 4, 5, 6);
     events.emit(this, "named-event", 1, 2, 3);
     events.emit(this, "object-event", this);
     events.emit(this, "array-object-event", [this]);
   }, {
     response: { value: "correct response" },
   }),
 
-  release: method(function() { }, { release: true }),
+  release: method(function () { }, { release: true }),
 
   events: {
     "event1" : {
       a: Arg(0),
       b: Arg(1),
       c: Arg(2)
     },
     "event2" : {
@@ -138,156 +138,156 @@ var ChildActor = protocol.ActorClass({
     "array-object-event": {
       type: "arrayObjectEvent",
       detail: Arg(0, "array:childActor#detail2"),
     }
   }
 });
 
 var ChildFront = protocol.FrontClass(ChildActor, {
-  initialize: function(client, form) {
+  initialize: function (client, form) {
     protocol.Front.prototype.initialize.call(this, client, form);
   },
 
-  destroy: function() {
+  destroy: function () {
     this.destroyed = true;
     protocol.Front.prototype.destroy.call(this);
   },
 
-  marshallPool: function() { return this.parent() },
+  marshallPool: function () { return this.parent(); },
 
-  toString: function() { return "[child front " + this.childID + "]"; },
+  toString: function () { return "[child front " + this.childID + "]"; },
 
-  form: function(form, detail) {
+  form: function (form, detail) {
     if (detail === "actorid") {
       return;
     }
     this.childID = form.childID;
     this.detail = form.detail;
   },
 
-  onEvent1: preEvent("event1", function(a, b, c) {
+  onEvent1: preEvent("event1", function (a, b, c) {
     this.event1arg3 = c;
   }),
 
-  onEvent2a: preEvent("event2", function(a, b, c) {
+  onEvent2a: preEvent("event2", function (a, b, c) {
     return promise.resolve().then(() => this.event2arg3 = c);
   }),
 
-  onEvent2b: preEvent("event2", function(a, b, c) {
+  onEvent2b: preEvent("event2", function (a, b, c) {
     this.event2arg2 = b;
   }),
 });
 
 types.addDictType("manyChildrenDict", {
   child5: "childActor",
   more: "array:childActor",
 });
 
 types.addLifetime("temp", "_temporaryHolder");
 
 var rootActor = null;
 var RootActor = protocol.ActorClass({
   typeName: "root",
 
-  toString: function() { return "[root actor]"; },
+  toString: function () { return "[root actor]"; },
 
-  initialize: function(conn) {
+  initialize: function (conn) {
     rootActor = this;
     this.actorID = "root";
     this._children = {};
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
   },
 
   sayHello: simpleHello,
 
-  getChild: method(function(id) {
+  getChild: method(function (id) {
     if (id in this._children) {
       return this._children[id];
     }
     let child = new ChildActor(this.conn, id);
     this._children[id] = child;
     return child;
   }, {
     request: { str: Arg(0) },
     response: { actor: RetVal("childActor") },
   }),
 
-  getChildren: method(function(ids) {
+  getChildren: method(function (ids) {
     return ids.map(id => this.getChild(id));
   }, {
     request: { ids: Arg(0, "array:string") },
     response: { children: RetVal("array:childActor") },
   }),
 
-  getChildren2: method(function(ids) {
-    let f = function*() {
+  getChildren2: method(function (ids) {
+    let f = function* () {
       for (let c of ids) {
         yield c;
       }
     };
     return f();
   }, {
     request: { ids: Arg(0, "array:childActor") },
     response: { children: RetVal("array:childActor") },
   }),
 
-  getManyChildren: method(function() {
+  getManyChildren: method(function () {
     return {
       foo: "bar", // note that this isn't in the specialization array.
       child5: this.getChild("child5"),
       more: [ this.getChild("child6"), this.getChild("child7") ]
-    }
+    };
   }, {
     response: RetVal("manyChildrenDict")
   }),
 
   // This should remind you of a pause actor.
-  getTemporaryChild: method(function(id) {
+  getTemporaryChild: method(function (id) {
     if (!this._temporaryHolder) {
       this._temporaryHolder = this.manage(new protocol.Actor(this.conn));
     }
     return new ChildActor(this.conn, id);
   }, {
     request: { id: Arg(0) },
     response: { child: RetVal("temp:childActor") }
   }),
 
-  clearTemporaryChildren: method(function(id) {
+  clearTemporaryChildren: method(function (id) {
     if (!this._temporaryHolder) {
       return;
     }
     this._temporaryHolder.destroy();
     delete this._temporaryHolder;
   })
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  toString: function() { return "[root front]"; },
-  initialize: function(client) {
+  toString: function () { return "[root front]"; },
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root actor owns itself.
     this.manage(this);
   },
 
-  getTemporaryChild: protocol.custom(function(id) {
+  getTemporaryChild: protocol.custom(function (id) {
     if (!this._temporaryHolder) {
       this._temporaryHolder = protocol.Front(this.conn);
       this._temporaryHolder.actorID = this.actorID + "_temp";
       this._temporaryHolder = this.manage(this._temporaryHolder);
     }
     return this._getTemporaryChild(id);
-  },{
-   impl: "_getTemporaryChild"
+  }, {
+    impl: "_getTemporaryChild"
   }),
 
-  clearTemporaryChildren: protocol.custom(function() {
+  clearTemporaryChildren: protocol.custom(function () {
     if (!this._temporaryHolder) {
       return promise.resolve(undefined);
     }
     this._temporaryHolder.destroy();
     delete this._temporaryHolder;
     return this._clearTemporaryChildren();
   }, {
     impl: "_clearTemporaryChildren"
@@ -299,125 +299,125 @@ function run_test()
   DebuggerServer.createRootActor = (conn => {
     return RootActor(conn);
   });
   DebuggerServer.init();
 
   let trace = connectPipeTracing();
   let client = new DebuggerClient(trace);
   client.connect().then(([applicationType, traits]) => {
-    trace.expectReceive({"from":"<actorid>","applicationType":"xpcshell-tests","traits":[]})
+    trace.expectReceive({"from":"<actorid>", "applicationType":"xpcshell-tests", "traits":[]});
     do_check_eq(applicationType, "xpcshell-tests");
 
     let rootFront = RootFront(client);
     let childFront = null;
 
     let expectRootChildren = size => {
       do_check_eq(rootActor._poolMap.size, size + 1);
       do_check_eq(rootFront._poolMap.size, size + 1);
       if (childFront) {
         do_check_eq(childFront._poolMap.size, 0);
       }
     };
 
     rootFront.getChild("child1").then(ret => {
-      trace.expectSend({"type":"getChild","str":"child1","to":"<actorid>"})
-      trace.expectReceive({"actor":"<actorid>","from":"<actorid>"})
+      trace.expectSend({"type":"getChild", "str":"child1", "to":"<actorid>"});
+      trace.expectReceive({"actor":"<actorid>", "from":"<actorid>"});
 
       childFront = ret;
       do_check_true(childFront instanceof ChildFront);
       do_check_eq(childFront.childID, "child1");
       expectRootChildren(1);
     }).then(() => {
       // Request the child again, make sure the same is returned.
       return rootFront.getChild("child1");
     }).then(ret => {
-      trace.expectSend({"type":"getChild","str":"child1","to":"<actorid>"})
-      trace.expectReceive({"actor":"<actorid>","from":"<actorid>"})
+      trace.expectSend({"type":"getChild", "str":"child1", "to":"<actorid>"});
+      trace.expectReceive({"actor":"<actorid>", "from":"<actorid>"});
 
       expectRootChildren(1);
       do_check_true(ret === childFront);
     }).then(() => {
       return childFront.echo("hello");
     }).then(ret => {
-      trace.expectSend({"type":"echo","str":"hello","to":"<actorid>"})
-      trace.expectReceive({"str":"hello","from":"<actorid>"})
+      trace.expectSend({"type":"echo", "str":"hello", "to":"<actorid>"});
+      trace.expectReceive({"str":"hello", "from":"<actorid>"});
 
       do_check_eq(ret, "hello");
     }).then(() => {
       return childFront.getDetail1();
     }).then(ret => {
-      trace.expectSend({"type":"getDetail1","to":"<actorid>"});
-      trace.expectReceive({"actor":"<actorid>","childID":"child1","detail":"detail1","from":"<actorid>"});
+      trace.expectSend({"type":"getDetail1", "to":"<actorid>"});
+      trace.expectReceive({"actor":"<actorid>", "childID":"child1", "detail":"detail1", "from":"<actorid>"});
       do_check_true(ret === childFront);
       do_check_eq(childFront.detail, "detail1");
     }).then(() => {
       return childFront.getDetail2();
     }).then(ret => {
-      trace.expectSend({"type":"getDetail2","to":"<actorid>"});
-      trace.expectReceive({"actor":"<actorid>","childID":"child1","detail":"detail2","from":"<actorid>"});
+      trace.expectSend({"type":"getDetail2", "to":"<actorid>"});
+      trace.expectReceive({"actor":"<actorid>", "childID":"child1", "detail":"detail2", "from":"<actorid>"});
       do_check_true(ret === childFront);
       do_check_eq(childFront.detail, "detail2");
     }).then(() => {
       return childFront.getIDDetail();
     }).then(ret => {
-      trace.expectSend({"type":"getIDDetail","to":"<actorid>"});
-      trace.expectReceive({"idDetail": childFront.actorID,"from":"<actorid>"});
+      trace.expectSend({"type":"getIDDetail", "to":"<actorid>"});
+      trace.expectReceive({"idDetail": childFront.actorID, "from":"<actorid>"});
       do_check_true(ret === childFront);
     }).then(() => {
       return childFront.getSibling("siblingID");
     }).then(ret => {
-      trace.expectSend({"type":"getSibling","id":"siblingID","to":"<actorid>"});
-      trace.expectReceive({"sibling":{"actor":"<actorid>","childID":"siblingID"},"from":"<actorid>"});
+      trace.expectSend({"type":"getSibling", "id":"siblingID", "to":"<actorid>"});
+      trace.expectReceive({"sibling":{"actor":"<actorid>", "childID":"siblingID"}, "from":"<actorid>"});
 
       expectRootChildren(2);
     }).then(ret => {
       return rootFront.getTemporaryChild("temp1").then(temp1 => {
-        trace.expectSend({"type":"getTemporaryChild","id":"temp1","to":"<actorid>"});
-        trace.expectReceive({"child":{"actor":"<actorid>","childID":"temp1"},"from":"<actorid>"});
+        trace.expectSend({"type":"getTemporaryChild", "id":"temp1", "to":"<actorid>"});
+        trace.expectReceive({"child":{"actor":"<actorid>", "childID":"temp1"}, "from":"<actorid>"});
 
         // At this point we expect two direct children, plus the temporary holder
         // which should hold 1 itself.
         do_check_eq(rootActor._temporaryHolder.__poolMap.size, 1);
         do_check_eq(rootFront._temporaryHolder.__poolMap.size, 1);
 
         expectRootChildren(3);
         return rootFront.getTemporaryChild("temp2").then(temp2 => {
-          trace.expectSend({"type":"getTemporaryChild","id":"temp2","to":"<actorid>"});
-          trace.expectReceive({"child":{"actor":"<actorid>","childID":"temp2"},"from":"<actorid>"});
+          trace.expectSend({"type":"getTemporaryChild", "id":"temp2", "to":"<actorid>"});
+          trace.expectReceive({"child":{"actor":"<actorid>", "childID":"temp2"}, "from":"<actorid>"});
 
           // Same amount of direct children, and an extra in the temporary holder.
           expectRootChildren(3);
           do_check_eq(rootActor._temporaryHolder.__poolMap.size, 2);
           do_check_eq(rootFront._temporaryHolder.__poolMap.size, 2);
 
           // Get the children of the temporary holder...
           let checkActors = rootActor._temporaryHolder.__poolMap.values();
           let checkFronts = rootFront._temporaryHolder.__poolMap.values();
 
           // Now release the temporary holders and expect them to drop again.
           return rootFront.clearTemporaryChildren().then(() => {
-            trace.expectSend({"type":"clearTemporaryChildren","to":"<actorid>"});
+            trace.expectSend({"type":"clearTemporaryChildren", "to":"<actorid>"});
             trace.expectReceive({"from":"<actorid>"});
 
             expectRootChildren(2);
             do_check_false(!!rootActor._temporaryHolder);
             do_check_false(!!rootFront._temporaryHolder);
             for (let checkActor of checkActors) {
               do_check_true(checkActor.destroyed);
               do_check_true(checkActor.destroyed);
             }
           });
         });
-      })
+      });
     }).then(ret => {
       return rootFront.getChildren(["child1", "child2"]);
     }).then(ret => {
-      trace.expectSend({"type":"getChildren","ids":["child1","child2"],"to":"<actorid>"});
-      trace.expectReceive({"children":[{"actor":"<actorid>","childID":"child1"},{"actor":"<actorid>","childID":"child2"}],"from":"<actorid>"});
+      trace.expectSend({"type":"getChildren", "ids":["child1", "child2"], "to":"<actorid>"});
+      trace.expectReceive({"children":[{"actor":"<actorid>", "childID":"child1"}, {"actor":"<actorid>", "childID":"child2"}], "from":"<actorid>"});
 
       expectRootChildren(3);
       do_check_true(ret[0] === childFront);
       do_check_true(ret[1] !== childFront);
       do_check_true(ret[1] instanceof ChildFront);
 
       // On both children, listen to events.  We're only
       // going to trigger events on the first child, so an event
@@ -457,66 +457,66 @@ function run_test()
         set.delete("object-event");
       });
       childFront.on("array-object-event", (array) => {
         do_check_true(array[0] === childFront);
         do_check_eq(childFront.detail, "detail2");
         set.delete("array-object-event");
       });
 
-      let fail = function() {
+      let fail = function () {
         do_throw("Unexpected event");
-      }
+      };
       ret[1].on("event1", fail);
       ret[1].on("event2", fail);
       ret[1].on("named-event", fail);
       ret[1].on("object-event", fail);
       ret[1].on("array-object-event", fail);
 
       return childFront.emitEvents().then(() => {
-        trace.expectSend({"type":"emitEvents","to":"<actorid>"});
-        trace.expectReceive({"type":"event1","a":1,"b":2,"c":3,"from":"<actorid>"});
-        trace.expectReceive({"type":"event2","a":4,"b":5,"c":6,"from":"<actorid>"});
-        trace.expectReceive({"type":"namedEvent","a":1,"b":2,"c":3,"from":"<actorid>"});
-        trace.expectReceive({"type":"objectEvent","detail":{"actor":"<actorid>","childID":"child1","detail":"detail1"},"from":"<actorid>"});
-        trace.expectReceive({"type":"arrayObjectEvent","detail":[{"actor":"<actorid>","childID":"child1","detail":"detail2"}],"from":"<actorid>"});
-        trace.expectReceive({"value":"correct response","from":"<actorid>"});
+        trace.expectSend({"type":"emitEvents", "to":"<actorid>"});
+        trace.expectReceive({"type":"event1", "a":1, "b":2, "c":3, "from":"<actorid>"});
+        trace.expectReceive({"type":"event2", "a":4, "b":5, "c":6, "from":"<actorid>"});
+        trace.expectReceive({"type":"namedEvent", "a":1, "b":2, "c":3, "from":"<actorid>"});
+        trace.expectReceive({"type":"objectEvent", "detail":{"actor":"<actorid>", "childID":"child1", "detail":"detail1"}, "from":"<actorid>"});
+        trace.expectReceive({"type":"arrayObjectEvent", "detail":[{"actor":"<actorid>", "childID":"child1", "detail":"detail2"}], "from":"<actorid>"});
+        trace.expectReceive({"value":"correct response", "from":"<actorid>"});
 
 
         do_check_eq(set.size, 0);
       });
     }).then(ret => {
       return rootFront.getManyChildren();
     }).then(ret => {
-      trace.expectSend({"type":"getManyChildren","to":"<actorid>"});
-      trace.expectReceive({"foo":"bar","child5":{"actor":"<actorid>","childID":"child5"},"more":[{"actor":"<actorid>","childID":"child6"},{"actor":"<actorid>","childID":"child7"}],"from":"<actorid>"});
+      trace.expectSend({"type":"getManyChildren", "to":"<actorid>"});
+      trace.expectReceive({"foo":"bar", "child5":{"actor":"<actorid>", "childID":"child5"}, "more":[{"actor":"<actorid>", "childID":"child6"}, {"actor":"<actorid>", "childID":"child7"}], "from":"<actorid>"});
 
       // Check all the crazy stuff we did in getManyChildren
       do_check_eq(ret.foo, "bar");
       do_check_eq(ret.child5.childID, "child5");
       do_check_eq(ret.more[0].childID, "child6");
       do_check_eq(ret.more[1].childID, "child7");
     }).then(() => {
       // Test accepting a generator.
-      let f = function*() {
+      let f = function* () {
         for (let i of [1, 2, 3, 4, 5]) {
           yield i;
         }
       };
       return childFront.getIntArray(f());
     }).then((ret) => {
       do_check_eq(ret.length, 5);
       let expected = [2, 4, 6, 8, 10];
       for (let i = 0; i < 5; ++i) {
         do_check_eq(ret[i], expected[i]);
       }
     }).then(() => {
       return rootFront.getChildren(["child1", "child2"]);
     }).then(ids => {
-      let f = function*() {
+      let f = function* () {
         for (let id of ids) {
           yield id;
         }
       };
       return rootFront.getChildren2(f());
     }).then(ret => {
       do_check_eq(ret.length, 2);
       do_check_true(ret[0] === childFront);
--- a/devtools/server/tests/unit/test_protocol_formtype.js
+++ b/devtools/server/tests/unit/test_protocol_formtype.js
@@ -10,20 +10,20 @@ var ChildActor = protocol.ActorClass({
   initialize(conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
   },
 
   form(detail) {
     return {
       actor: this.actorID,
       extra: "extra"
-    }
+    };
   },
 
-  getChild: method(function() {
+  getChild: method(function () {
     return this;
   }, {
     response: RetVal("child")
   }),
 });
 
 var ChildFront = protocol.FrontClass(ChildActor, {
   initialize(client) {
@@ -49,64 +49,64 @@ var RootActor = protocol.ActorClass({
     childActor: "child"
   },
 
   sayHello() {
     return {
       from: "root",
       applicationType: "xpcshell-tests",
       traits: []
-    }
+    };
   },
 
   // This detail uses explicit DictType creation
   "formType#detail1": protocol.types.addDictType("RootActorFormTypeDetail1", {
     detailItem: "child"
   }),
 
   // This detail a string type.
   "formType#actorid": "string",
 
   form(detail) {
     if (detail === "detail1") {
       return {
         actor: this.actorID,
         detailItem: this.child
-      }
+      };
     } else if (detail === "actorid") {
       return this.actorID;
     }
 
     return {
       actor: this.actorID,
       childActor: this.child
-    }
+    };
   },
 
-  getDefault: method(function() {
+  getDefault: method(function () {
     return this;
   }, {
     response: RetVal("root")
   }),
 
-  getDetail1: method(function() {
+  getDetail1: method(function () {
     return this;
   }, {
     response: RetVal("root#detail1")
   }),
 
-  getDetail2: method(function() {
+  getDetail2: method(function () {
     return this;
   }, {
     response: {
       item: RetVal("root#actorid")
     }
   }),
 
-  getUnknownDetail: method(function() {
+  getUnknownDetail: method(function () {
     return this;
   }, {
     response: RetVal("root#unknownDetail")
   }),
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
   initialize(client) {
@@ -117,17 +117,17 @@ var RootFront = protocol.FrontClass(Root
     this.manage(this);
   },
 
   form(v, ctx, detail) {
     this.lastForm = v;
   }
 });
 
-const run_test = Test(function*() {
+const run_test = Test(function* () {
   DebuggerServer.createRootActor = (conn => {
     return RootActor(conn);
   });
   DebuggerServer.init();
 
   const connection = DebuggerServer.connectPipe();
   const conn = new DebuggerClient(connection);
   const client = Async(conn);
@@ -142,19 +142,19 @@ const run_test = Test(function*() {
   do_check_true(rootFront.lastForm.childActor instanceof ChildFront);
 
   retval = yield rootFront.getDetail1();
   do_check_true(retval instanceof RootFront);
   do_check_true(rootFront.lastForm.detailItem instanceof ChildFront);
 
   retval = yield rootFront.getDetail2();
   do_check_true(retval instanceof RootFront);
-  do_check_true(typeof(rootFront.lastForm) === "string");
+  do_check_true(typeof (rootFront.lastForm) === "string");
 
   // getUnknownDetail should fail, since no typeName is specified.
   try {
     yield rootFront.getUnknownDetail();
     do_check_true(false);
-  } catch(ex) {
+  } catch (ex) {
   }
 
   yield client.close();
 });
--- a/devtools/server/tests/unit/test_protocol_longstring.js
+++ b/devtools/server/tests/unit/test_protocol_longstring.js
@@ -9,72 +9,72 @@ var {method, RetVal, Arg, Option} = prot
 var events = require("sdk/event/core");
 var {LongStringActor} = require("devtools/server/actors/string");
 
 function simpleHello() {
   return {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
-  }
+  };
 }
 
 DebuggerServer.LONG_STRING_LENGTH = DebuggerServer.LONG_STRING_INITIAL_LENGTH = DebuggerServer.LONG_STRING_READ_LENGTH = 5;
 
 var SHORT_STR = "abc";
 var LONG_STR = "abcdefghijklmnop";
 
 var rootActor = null;
 
 var RootActor = protocol.ActorClass({
   typeName: "root",
 
-  initialize: function(conn) {
+  initialize: function (conn) {
     rootActor = this;
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
     this.actorID = "root";
   },
 
   sayHello: simpleHello,
 
-  shortString: method(function() {
+  shortString: method(function () {
     return new LongStringActor(this.conn, SHORT_STR);
   }, {
     response: { value: RetVal("longstring") },
   }),
 
-  longString: method(function() {
+  longString: method(function () {
     return new LongStringActor(this.conn, LONG_STR);
   }, {
     response: { value: RetVal("longstring") },
   }),
 
-  emitShortString: method(function() {
+  emitShortString: method(function () {
     events.emit(this, "string-event", new LongStringActor(this.conn, SHORT_STR));
   }, {
     oneway: true,
   }),
 
-  emitLongString: method(function() {
+  emitLongString: method(function () {
     events.emit(this, "string-event", new LongStringActor(this.conn, LONG_STR));
   }, {
     oneway: true,
   }),
 
   events: {
     "string-event": {
       str: Arg(0, "longstring")
     }
   }
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root owns itself.
     this.manage(this);
   }
 });
 
 function run_test()
@@ -85,118 +85,118 @@ function run_test()
 
   DebuggerServer.init();
   let trace = connectPipeTracing();
   let client = new DebuggerClient(trace);
   let rootClient;
 
   let strfront = null;
 
-  let expectRootChildren = function(size) {
+  let expectRootChildren = function (size) {
     do_check_eq(rootActor.__poolMap.size, size + 1);
     do_check_eq(rootClient.__poolMap.size, size + 1);
-  }
+  };
 
 
   client.connect().then(([applicationType, traits]) => {
     rootClient = RootFront(client);
 
     // Root actor has no children yet.
     expectRootChildren(0);
 
-    trace.expectReceive({"from":"<actorid>","applicationType":"xpcshell-tests","traits":[]});
+    trace.expectReceive({"from":"<actorid>", "applicationType":"xpcshell-tests", "traits":[]});
     do_check_eq(applicationType, "xpcshell-tests");
     rootClient.shortString().then(ret => {
-      trace.expectSend({"type":"shortString","to":"<actorid>"});
-      trace.expectReceive({"value":"abc","from":"<actorid>"});
+      trace.expectSend({"type":"shortString", "to":"<actorid>"});
+      trace.expectReceive({"value":"abc", "from":"<actorid>"});
 
       // Should only own the one reference (itself) at this point.
       expectRootChildren(0);
       strfront = ret;
     }).then(() => {
       return strfront.string();
     }).then(ret => {
       do_check_eq(ret, SHORT_STR);
     }).then(() => {
       return rootClient.longString();
     }).then(ret => {
-      trace.expectSend({"type":"longString","to":"<actorid>"});
-      trace.expectReceive({"value":{"type":"longString","actor":"<actorid>","length":16,"initial":"abcde"},"from":"<actorid>"});
+      trace.expectSend({"type":"longString", "to":"<actorid>"});
+      trace.expectReceive({"value":{"type":"longString", "actor":"<actorid>", "length":16, "initial":"abcde"}, "from":"<actorid>"});
 
       strfront = ret;
       // Should own a reference to itself and an extra string now.
       expectRootChildren(1);
     }).then(() => {
       return strfront.string();
     }).then(ret => {
-      trace.expectSend({"type":"substring","start":5,"end":10,"to":"<actorid>"});
-      trace.expectReceive({"substring":"fghij","from":"<actorid>"});
-      trace.expectSend({"type":"substring","start":10,"end":15,"to":"<actorid>"});
-      trace.expectReceive({"substring":"klmno","from":"<actorid>"});
-      trace.expectSend({"type":"substring","start":15,"end":20,"to":"<actorid>"});
-      trace.expectReceive({"substring":"p","from":"<actorid>"});
+      trace.expectSend({"type":"substring", "start":5, "end":10, "to":"<actorid>"});
+      trace.expectReceive({"substring":"fghij", "from":"<actorid>"});
+      trace.expectSend({"type":"substring", "start":10, "end":15, "to":"<actorid>"});
+      trace.expectReceive({"substring":"klmno", "from":"<actorid>"});
+      trace.expectSend({"type":"substring", "start":15, "end":20, "to":"<actorid>"});
+      trace.expectReceive({"substring":"p", "from":"<actorid>"});
 
       do_check_eq(ret, LONG_STR);
     }).then(() => {
       return strfront.release();
     }).then(() => {
-      trace.expectSend({"type":"release","to":"<actorid>"});
+      trace.expectSend({"type":"release", "to":"<actorid>"});
       trace.expectReceive({"from":"<actorid>"});
 
       // That reference should be removed now.
       expectRootChildren(0);
     }).then(() => {
       let deferred = promise.defer();
       rootClient.once("string-event", (str) => {
-        trace.expectSend({"type":"emitShortString","to":"<actorid>"});
-        trace.expectReceive({"type":"string-event","str":"abc","from":"<actorid>"});
+        trace.expectSend({"type":"emitShortString", "to":"<actorid>"});
+        trace.expectReceive({"type":"string-event", "str":"abc", "from":"<actorid>"});
 
         do_check_true(!!str);
         strfront = str;
         // Shouldn't generate any new references
         expectRootChildren(0);
         // will generate no packets.
-        strfront.string().then((value) => { deferred.resolve(value) });
+        strfront.string().then((value) => { deferred.resolve(value); });
       });
       rootClient.emitShortString();
       return deferred.promise;
     }).then(value => {
       do_check_eq(value, SHORT_STR);
     }).then(() => {
       // Will generate no packets
       return strfront.release();
     }).then(() => {
       let deferred = promise.defer();
       rootClient.once("string-event", (str) => {
-        trace.expectSend({"type":"emitLongString","to":"<actorid>"});
-        trace.expectReceive({"type":"string-event","str":{"type":"longString","actor":"<actorid>","length":16,"initial":"abcde"},"from":"<actorid>"});
+        trace.expectSend({"type":"emitLongString", "to":"<actorid>"});
+        trace.expectReceive({"type":"string-event", "str":{"type":"longString", "actor":"<actorid>", "length":16, "initial":"abcde"}, "from":"<actorid>"});
 
         do_check_true(!!str);
         // Should generate one new reference
         expectRootChildren(1);
         strfront = str;
         strfront.string().then((value) => {
-          trace.expectSend({"type":"substring","start":5,"end":10,"to":"<actorid>"});
-          trace.expectReceive({"substring":"fghij","from":"<actorid>"});
-          trace.expectSend({"type":"substring","start":10,"end":15,"to":"<actorid>"});
-          trace.expectReceive({"substring":"klmno","from":"<actorid>"});
-          trace.expectSend({"type":"substring","start":15,"end":20,"to":"<actorid>"});
-          trace.expectReceive({"substring":"p","from":"<actorid>"});
+          trace.expectSend({"type":"substring", "start":5, "end":10, "to":"<actorid>"});
+          trace.expectReceive({"substring":"fghij", "from":"<actorid>"});
+          trace.expectSend({"type":"substring", "start":10, "end":15, "to":"<actorid>"});
+          trace.expectReceive({"substring":"klmno", "from":"<actorid>"});
+          trace.expectSend({"type":"substring", "start":15, "end":20, "to":"<actorid>"});
+          trace.expectReceive({"substring":"p", "from":"<actorid>"});
 
           deferred.resolve(value);
         });
       });
       rootClient.emitLongString();
       return deferred.promise;
     }).then(value => {
       do_check_eq(value, LONG_STR);
     }).then(() => {
       return strfront.release();
     }).then(() => {
-      trace.expectSend({"type":"release","to":"<actorid>"});
+      trace.expectSend({"type":"release", "to":"<actorid>"});
       trace.expectReceive({"from":"<actorid>"});
       expectRootChildren(0);
     }).then(() => {
       client.close(() => {
         do_test_finished();
       });
     }).then(null, err => {
       do_report_unexpected_exception(err, "Failure executing test");
--- a/devtools/server/tests/unit/test_protocol_simple.js
+++ b/devtools/server/tests/unit/test_protocol_simple.js
@@ -9,279 +9,279 @@ var protocol = require("devtools/shared/
 var {method, Arg, Option, RetVal} = protocol;
 var events = require("sdk/event/core");
 
 function simpleHello() {
   return {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
-  }
+  };
 }
 
 var RootActor = protocol.ActorClass({
   typeName: "root",
-  initialize: function(conn) {
+  initialize: function (conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
     this.actorID = "root";
   },
 
   sayHello: simpleHello,
 
-  simpleReturn: method(function() {
+  simpleReturn: method(function () {
     return 1;
   }, {
     response: { value: RetVal() },
   }),
 
-  promiseReturn: method(function() {
+  promiseReturn: method(function () {
     return promise.resolve(1);
   }, {
     response: { value: RetVal("number") },
   }),
 
-  simpleArgs: method(function(a, b) {
+  simpleArgs: method(function (a, b) {
     return { firstResponse: a + 1, secondResponse: b + 1 };
   }, {
     request: {
       firstArg: Arg(0),
       secondArg: Arg(1),
     },
     response: RetVal()
   }),
 
-  nestedArgs: method(function(a, b, c) {
+  nestedArgs: method(function (a, b, c) {
     return { a: a, b: b, c: c };
   }, {
     request: {
       firstArg: Arg(0),
       nest: {
         secondArg: Arg(1),
         nest: {
           thirdArg: Arg(2)
         }
       }
     },
     response: RetVal()
   }),
 
-  optionArgs: method(function(options) {
+  optionArgs: method(function (options) {
     return { option1: options.option1, option2: options.option2 };
   }, {
     request: {
       option1: Option(0),
       option2: Option(0)
     },
     response: RetVal()
   }),
 
-  optionalArgs: method(function(a, b=200) {
+  optionalArgs: method(function (a, b = 200) {
     return b;
   }, {
     request: {
       a: Arg(0),
       b: Arg(1, "nullable:number")
     },
     response: {
       value: RetVal("number")
     },
   }),
 
-  arrayArgs: method(function(a) {
+  arrayArgs: method(function (a) {
     return a;
   }, {
     request: {
       a: Arg(0, "array:number")
     },
     response: {
       arrayReturn: RetVal("array:number")
     },
   }),
 
-  nestedArrayArgs: method(function(a) {
+  nestedArrayArgs: method(function (a) {
     return a;
   }, {
     request: { a: Arg(0, "array:array:number") },
     response: { value: RetVal("array:array:number") },
   }),
 
   /**
    * Test that the 'type' part of the request packet works
    * correctly when the type isn't the same as the method name
    */
-  renamedEcho: method(function(a) {
+  renamedEcho: method(function (a) {
     if (this.conn.currentPacket.type != "echo") {
       return "goodbye";
     }
     return a;
   }, {
     request: {
       type: "echo",
       a: Arg(0),
     },
     response: {
       value: RetVal("string")
     },
   }),
 
-  testOneWay: method(function(a) {
+  testOneWay: method(function (a) {
     // Emit to show that we got this message, because there won't be a response.
     events.emit(this, "oneway", a);
   }, {
     request: { a: Arg(0) },
     oneway: true
   }),
 
-  emitFalsyOptions: method(function() {
+  emitFalsyOptions: method(function () {
     events.emit(this, "falsyOptions", { zero: 0, farce: false });
   }, {
     oneway: true
   }),
 
   events: {
     "oneway": { a: Arg(0) },
     "falsyOptions": {
       zero: Option(0),
       farce: Option(0)
     }
   }
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root owns itself.
     this.manage(this);
   }
 });
 
 function run_test()
 {
   DebuggerServer.createRootActor = (conn => {
     return RootActor(conn);
   });
   DebuggerServer.init();
 
   check_except(() => {
     let badActor = ActorClass({
-      missing: preEvent("missing-event", function() {
+      missing: preEvent("missing-event", function () {
       })
-    })
+    });
   });
 
   protocol.types.getType("array:array:array:number");
   protocol.types.getType("array:array:array:number");
 
   check_except(() => protocol.types.getType("unknown"));
   check_except(() => protocol.types.getType("array:unknown"));
   check_except(() => protocol.types.getType("unknown:number"));
   let trace = connectPipeTracing();
   let client = new DebuggerClient(trace);
   let rootClient;
 
   client.connect().then(([applicationType, traits]) => {
-    trace.expectReceive({"from":"<actorid>","applicationType":"xpcshell-tests","traits":[]});
+    trace.expectReceive({"from":"<actorid>", "applicationType":"xpcshell-tests", "traits":[]});
     do_check_eq(applicationType, "xpcshell-tests");
 
     rootClient = RootFront(client);
 
     rootClient.simpleReturn().then(ret => {
-      trace.expectSend({"type":"simpleReturn","to":"<actorid>"});
-      trace.expectReceive({"value":1,"from":"<actorid>"});
+      trace.expectSend({"type":"simpleReturn", "to":"<actorid>"});
+      trace.expectReceive({"value":1, "from":"<actorid>"});
       do_check_eq(ret, 1);
     }).then(() => {
       return rootClient.promiseReturn();
     }).then(ret => {
-      trace.expectSend({"type":"promiseReturn","to":"<actorid>"});
-      trace.expectReceive({"value":1,"from":"<actorid>"});
+      trace.expectSend({"type":"promiseReturn", "to":"<actorid>"});
+      trace.expectReceive({"value":1, "from":"<actorid>"});
       do_check_eq(ret, 1);
     }).then(() => {
       // Missing argument should throw an exception
       check_except(() => {
         rootClient.simpleArgs(5);
       });
 
-      return rootClient.simpleArgs(5, 10)
+      return rootClient.simpleArgs(5, 10);
     }).then(ret => {
-      trace.expectSend({"type":"simpleArgs","firstArg":5,"secondArg":10,"to":"<actorid>"});
-      trace.expectReceive({"firstResponse":6,"secondResponse":11,"from":"<actorid>"});
+      trace.expectSend({"type":"simpleArgs", "firstArg":5, "secondArg":10, "to":"<actorid>"});
+      trace.expectReceive({"firstResponse":6, "secondResponse":11, "from":"<actorid>"});
       do_check_eq(ret.firstResponse, 6);
       do_check_eq(ret.secondResponse, 11);
     }).then(() => {
       return rootClient.nestedArgs(1, 2, 3);
     }).then(ret => {
-      trace.expectSend({"type":"nestedArgs","firstArg":1,"nest":{"secondArg":2,"nest":{"thirdArg":3}},"to":"<actorid>"});
-      trace.expectReceive({"a":1,"b":2,"c":3,"from":"<actorid>"});
+      trace.expectSend({"type":"nestedArgs", "firstArg":1, "nest":{"secondArg":2, "nest":{"thirdArg":3}}, "to":"<actorid>"});
+      trace.expectReceive({"a":1, "b":2, "c":3, "from":"<actorid>"});
       do_check_eq(ret.a, 1);
       do_check_eq(ret.b, 2);
       do_check_eq(ret.c, 3);
     }).then(() => {
       return rootClient.optionArgs({
         "option1": 5,
         "option2": 10
       });
     }).then(ret => {
-      trace.expectSend({"type":"optionArgs","option1":5,"option2":10,"to":"<actorid>"});
-      trace.expectReceive({"option1":5,"option2":10,"from":"<actorid>"});
+      trace.expectSend({"type":"optionArgs", "option1":5, "option2":10, "to":"<actorid>"});
+      trace.expectReceive({"option1":5, "option2":10, "from":"<actorid>"});
       do_check_eq(ret.option1, 5);
       do_check_eq(ret.option2, 10);
     }).then(() => {
       return rootClient.optionArgs({});
     }).then(ret => {
-      trace.expectSend({"type":"optionArgs","to":"<actorid>"});
+      trace.expectSend({"type":"optionArgs", "to":"<actorid>"});
       trace.expectReceive({"from":"<actorid>"});
-      do_check_true(typeof(ret.option1) === "undefined");
-      do_check_true(typeof(ret.option2) === "undefined");
+      do_check_true(typeof (ret.option1) === "undefined");
+      do_check_true(typeof (ret.option2) === "undefined");
     }).then(() => {
       // Explicitly call an optional argument...
       return rootClient.optionalArgs(5, 10);
     }).then(ret => {
-      trace.expectSend({"type":"optionalArgs","a":5,"b":10,"to":"<actorid>"});
-      trace.expectReceive({"value":10,"from":"<actorid>"});
+      trace.expectSend({"type":"optionalArgs", "a":5, "b":10, "to":"<actorid>"});
+      trace.expectReceive({"value":10, "from":"<actorid>"});
       do_check_eq(ret, 10);
     }).then(() => {
       // Now don't pass the optional argument, expect the default.
       return rootClient.optionalArgs(5);
     }).then(ret => {
-      trace.expectSend({"type":"optionalArgs","a":5,"to":"<actorid>"});
-      trace.expectReceive({"value":200,"from":"<actorid>"});
+      trace.expectSend({"type":"optionalArgs", "a":5, "to":"<actorid>"});
+      trace.expectReceive({"value":200, "from":"<actorid>"});
       do_check_eq(ret, 200);
     }).then(ret => {
       return rootClient.arrayArgs([0, 1, 2, 3, 4, 5]);
     }).then(ret => {
-      trace.expectSend({"type":"arrayArgs","a":[0,1,2,3,4,5],"to":"<actorid>"});
-      trace.expectReceive({"arrayReturn":[0,1,2,3,4,5],"from":"<actorid>"});
+      trace.expectSend({"type":"arrayArgs", "a":[0, 1, 2, 3, 4, 5], "to":"<actorid>"});
+      trace.expectReceive({"arrayReturn":[0, 1, 2, 3, 4, 5], "from":"<actorid>"});
       do_check_eq(ret[0], 0);
       do_check_eq(ret[5], 5);
     }).then(() => {
       return rootClient.arrayArgs([[5]]);
     }).then(ret => {
-      trace.expectSend({"type":"arrayArgs","a":[[5]],"to":"<actorid>"});
-      trace.expectReceive({"arrayReturn":[[5]],"from":"<actorid>"});
+      trace.expectSend({"type":"arrayArgs", "a":[[5]], "to":"<actorid>"});
+      trace.expectReceive({"arrayReturn":[[5]], "from":"<actorid>"});
       do_check_eq(ret[0][0], 5);
     }).then(() => {
       return rootClient.renamedEcho("hello");
     }).then(str => {
-      trace.expectSend({"type":"echo","a":"hello","to":"<actorid>"});
-      trace.expectReceive({"value":"hello","from":"<actorid>"});
+      trace.expectSend({"type":"echo", "a":"hello", "to":"<actorid>"});
+      trace.expectReceive({"value":"hello", "from":"<actorid>"});
 
       do_check_eq(str, "hello");
 
       let deferred = promise.defer();
       rootClient.on("oneway", (response) => {
-        trace.expectSend({"type":"testOneWay","a":"hello","to":"<actorid>"});
-        trace.expectReceive({"type":"oneway","a":"hello","from":"<actorid>"});
+        trace.expectSend({"type":"testOneWay", "a":"hello", "to":"<actorid>"});
+        trace.expectReceive({"type":"oneway", "a":"hello", "from":"<actorid>"});
 
         do_check_eq(response, "hello");
         deferred.resolve();
       });
-      do_check_true(typeof(rootClient.testOneWay("hello")) === "undefined");
+      do_check_true(typeof (rootClient.testOneWay("hello")) === "undefined");
       return deferred.promise;
     }).then(() => {
       let deferred = promise.defer();
       rootClient.on("falsyOptions", res => {
         trace.expectSend({"type":"emitFalsyOptions", "to":"<actorid>"});
         trace.expectReceive({"type":"falsyOptions", "farce":false, "zero": 0, "from":"<actorid>"});
 
         do_check_true(res.zero === 0);
--- a/devtools/server/tests/unit/test_protocol_stack.js
+++ b/devtools/server/tests/unit/test_protocol_stack.js
@@ -19,35 +19,35 @@ function simpleHello() {
     from: "root",
     applicationType: "xpcshell-tests",
     traits: [],
   };
 }
 
 var RootActor = protocol.ActorClass({
   typeName: "root",
-  initialize: function(conn) {
+  initialize: function (conn) {
     protocol.Actor.prototype.initialize.call(this, conn);
     // Root actor owns itself.
     this.manage(this);
     this.actorID = "root";
     this.sequence = 0;
   },
 
   sayHello: simpleHello,
 
-  simpleReturn: method(function() {
+  simpleReturn: method(function () {
     return this.sequence++;
   }, {
     response: { value: RetVal() },
   })
 });
 
 var RootFront = protocol.FrontClass(RootActor, {
-  initialize: function(client) {
+  initialize: function (client) {
     this.actorID = "root";
     protocol.Front.prototype.initialize.call(this, client);
     // Root owns itself.
     this.manage(this);
   }
 });
 
 function run_test() {
@@ -79,13 +79,13 @@ function run_test() {
       }
       ok(false, "Incomplete stack");
     }, () => {
       ok(false, "Request failed unexpectedly");
     }).then(() => {
       client.close(() => {
         do_test_finished();
       });
-    })
+    });
   });
 
   do_test_pending();
 }
--- a/devtools/server/tests/unit/test_protocol_unregister.js
+++ b/devtools/server/tests/unit/test_protocol_unregister.js
@@ -1,44 +1,44 @@
 const {types} = require("devtools/shared/protocol");
 
 
 function run_test()
 {
   types.addType("test", {
-    read: (v) => { return "successful read: " + v },
-    write: (v) => { return "successful write: " + v }
+    read: (v) => { return "successful read: " + v; },
+    write: (v) => { return "successful write: " + v; }
   });
 
   // Verify the type registered correctly.
 
   let type = types.getType("test");
   let arrayType = types.getType("array:test");
   do_check_eq(type.read("foo"), "successful read: foo");
   do_check_eq(arrayType.read(["foo"])[0], "successful read: foo");
 
   types.removeType("test");
 
   do_check_eq(type.name, "DEFUNCT:test");
   try {
     types.getType("test");
     do_check_true(false, "getType should fail");
-  } catch(ex) {
+  } catch (ex) {
     do_check_eq(ex.toString(), "Error: Unknown type: test");
   }
 
   try {
     type.read("foo");
     do_check_true(false, "type.read should have thrown an exception.");
-  } catch(ex) {
+  } catch (ex) {
     do_check_eq(ex.toString(), "Error: Using defunct type: test");
   }
 
   try {
     arrayType.read(["foo"]);
     do_check_true(false, "array:test.read should have thrown an exception.");
-  } catch(ex) {
+  } catch (ex) {
     do_check_eq(ex.toString(), "Error: Using defunct type: test");
   }
 
 }
 
 
--- a/devtools/server/tests/unit/test_registerClient.js
+++ b/devtools/server/tests/unit/test_registerClient.js
@@ -84,12 +84,12 @@ function test_client_events()
   });
   gTestClient.start();
 }
 
 function close_client() {
   gClient.close(() => {
     // Check that client.detach method is call on client destruction
     do_check_true(gTestClient.detached);
-    run_next_test()
+    run_next_test();
   });
 }
 
--- a/devtools/server/tests/unit/test_requestTypes.js
+++ b/devtools/server/tests/unit/test_requestTypes.js
@@ -23,14 +23,14 @@ function test_requestTypes_request(aClie
 }
 
 function run_test()
 {
   DebuggerServer.init();
   DebuggerServer.addBrowserActors();
 
   var client = new DebuggerClient(DebuggerServer.connectPipe());
-  client.connect().then(function() {
+  client.connect().then(function () {
     test_requestTypes_request(client);
   });
 
   do_test_pending();
 }
--- a/devtools/server/tests/unit/test_source-01.js
+++ b/devtools/server/tests/unit/test_source-01.js
@@ -19,33 +19,33 @@ function run_test()
       debugger;
     },
     gDebuggee,
     "1.8",
     getFileUrl("test_source-01.js")
   );
 
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_source();
     });
   });
   do_test_pending();
 }
 
 const SOURCE_URL = "http://example.com/foobar.js";
 const SOURCE_CONTENT = "stopMe()";
 
 function test_source()
 {
   DebuggerServer.LONG_STRING_LENGTH = 200;
 
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     gThreadClient.getSources(function (aResponse) {
       do_check_true(!!aResponse);
       do_check_true(!!aResponse.sources);
 
       let source = aResponse.sources.filter(function (s) {
         return s.url === SOURCE_URL;
       })[0];
 
--- a/devtools/server/tests/unit/test_sourcemaps-01.js
+++ b/devtools/server/tests/unit/test_sourcemaps-01.js
@@ -11,18 +11,18 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_simple_source_map();
     });
   });
   do_test_pending();
 }
 
 function test_simple_source_map()
--- a/devtools/server/tests/unit/test_sourcemaps-02.js
+++ b/devtools/server/tests/unit/test_sourcemaps-02.js
@@ -11,18 +11,18 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_simple_source_map();
     });
   });
   do_test_pending();
 }
 
 function test_simple_source_map()
@@ -34,17 +34,17 @@ function test_simple_source_map()
                                  "http://example.com/www/js/c.js"]);
 
   gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     gThreadClient.getSources(function (aResponse) {
       do_check_true(!aResponse.error, "Should not get an error");
 
       for (let s of aResponse.sources) {
         do_check_neq(s.url, "http://example.com/www/js/abc.js",
-                     "Shouldn't get the generated source's url.")
+                     "Shouldn't get the generated source's url.");
         expectedSources.delete(s.url);
       }
 
       do_check_eq(expectedSources.size, 0,
                   "Should have found all the expected sources sources by now.");
 
       finishClient(gClient);
     });
--- a/devtools/server/tests/unit/test_sourcemaps-03.js
+++ b/devtools/server/tests/unit/test_sourcemaps-03.js
@@ -11,28 +11,28 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_simple_source_map();
     });
   });
   do_test_pending();
 }
 
 function testBreakpointMapping(aName, aCallback)
 {
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     let response = yield waitForPause(gThreadClient);
     do_check_eq(response.why.type, "debuggerStatement");
 
     const source = yield getSource(gThreadClient, "http://example.com/www/js/" + aName + ".js");
     response = yield setBreakpoint(source, {
       // Setting the breakpoint on an empty line so that it is pushed down one
       // line and we can check the source mapped actualLocation later.
       line: 3
--- a/devtools/server/tests/unit/test_sourcemaps-04.js
+++ b/devtools/server/tests/unit/test_sourcemaps-04.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_absolute_source_map();
     });
   });
   do_test_pending();
 }
 
 function test_absolute_source_map()
--- a/devtools/server/tests/unit/test_sourcemaps-05.js
+++ b/devtools/server/tests/unit/test_sourcemaps-05.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_relative_source_map();
     });
   });
   do_test_pending();
 }
 
 function test_relative_source_map()
--- a/devtools/server/tests/unit/test_sourcemaps-06.js
+++ b/devtools/server/tests/unit/test_sourcemaps-06.js
@@ -12,18 +12,18 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_source_content();
     });
   });
   do_test_pending();
 }
 
 function test_source_content()
--- a/devtools/server/tests/unit/test_sourcemaps-07.js
+++ b/devtools/server/tests/unit/test_sourcemaps-07.js
@@ -11,18 +11,18 @@ var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_cached_original_sources();
     });
   });
   do_test_pending();
 }
 
 function test_cached_original_sources()
--- a/devtools/server/tests/unit/test_sourcemaps-08.js
+++ b/devtools/server/tests/unit/test_sourcemaps-08.js
@@ -10,18 +10,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_source_maps();
     });
   });
   do_test_pending();
 }
 
 function test_source_maps()
--- a/devtools/server/tests/unit/test_sourcemaps-09.js
+++ b/devtools/server/tests/unit/test_sourcemaps-09.js
@@ -9,18 +9,18 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_minified();
     });
   });
   do_test_pending();
 }
 
 function test_minified()
@@ -48,17 +48,17 @@ function test_minified()
       line: 5
     };
 
     getSource(gThreadClient, "http://example.com/foo.js").then(source => {
       source.setBreakpoint(location, function (aResponse, bpClient) {
         do_check_true(!aResponse.error);
         testHitBreakpoint();
       });
-    })
+    });
   });
 
   // This is the original foo.js, which was then minified with uglifyjs version
   // 2.2.5 and the "--mangle" option.
   //
   // (function () {
   //   debugger;
   //   function foo(n) {
@@ -72,17 +72,17 @@ function test_minified()
   // }());
 
   let code = '(function(){debugger;function r(r){var n=r+r;var u=null;return n}for(var n=0;n<10;n++){r(n)}})();\n//# sourceMappingURL=data:text/json,{"file":"foo.min.js","version":3,"sources":["foo.js"],"names":["foo","n","bar","unused","i"],"mappings":"CAAC,WACC,QACA,SAASA,GAAIC,GACX,GAAIC,GAAMD,EAAIA,CACd,IAAIE,GAAS,IACb,OAAOD,GAET,IAAK,GAAIE,GAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3BJ,EAAII"}';
 
   Components.utils.evalInSandbox(code, gDebuggee, "1.8",
                                  "http://example.com/foo.min.js", 1);
 }
 
-function testHitBreakpoint(timesHit=0) {
+function testHitBreakpoint(timesHit = 0) {
   gClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     ++timesHit;
 
     do_check_eq(aEvent, "paused");
     do_check_eq(aPacket.why.type, "breakpoint");
 
     if (timesHit === 10) {
       gThreadClient.resume(() => finishClient(gClient));
--- a/devtools/server/tests/unit/test_sourcemaps-10.js
+++ b/devtools/server/tests/unit/test_sourcemaps-10.js
@@ -10,18 +10,18 @@ var gClient;
 var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test() {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       promise.resolve(define_code())
         .then(run_code)
         .then(test_frame_location)
         .then(null, error => {
           dump(error + "\n");
           dump(error.stack);
           do_check_true(false);
--- a/devtools/server/tests/unit/test_sourcemaps-11.js
+++ b/devtools/server/tests/unit/test_sourcemaps-11.js
@@ -10,18 +10,18 @@ var gClient;
 var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test() {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       promise.resolve(define_code())
         .then(run_code)
         .then(test_frames)
         .then(null, error => {
           dump(error + "\n");
           dump(error.stack);
           do_check_true(false);
@@ -57,17 +57,17 @@ function define_code() {
 }
 
 function run_code() {
   const d = promise.defer();
   gClient.addOneTimeListener("paused", function () {
     gThreadClient.getFrames(0, 3, function (aResponse) {
       d.resolve(aResponse);
       gThreadClient.resume();
-    })
+    });
   });
   gDebuggee.a();
   return d.promise;
 }
 
 function test_frames({ error, frames }) {
   do_check_true(!error);
   do_check_eq(frames.length, 3);
--- a/devtools/server/tests/unit/test_sourcemaps-12.js
+++ b/devtools/server/tests/unit/test_sourcemaps-12.js
@@ -11,18 +11,18 @@ var gClient;
 var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test() {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       define_code();
     });
   });
   do_test_pending();
 }
 
 function define_code() {
--- a/devtools/server/tests/unit/test_sourcemaps-13.js
+++ b/devtools/server/tests/unit/test_sourcemaps-13.js
@@ -12,18 +12,18 @@ var gTabClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       gTabClient = aTabClient;
       setup_code();
     });
   });
   do_test_pending();
 }
 
--- a/devtools/server/tests/unit/test_sourcemaps-16.js
+++ b/devtools/server/tests/unit/test_sourcemaps-16.js
@@ -9,23 +9,23 @@
 var gDebuggee;
 var gClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-sourcemaps");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
+  gClient.connect().then(function () {
     attachTestThread(gClient, "test-sourcemaps", testSourcemap);
   });
   do_test_pending();
 }
 
-const testSourcemap = Task.async(function*(threadResponse, tabClient, threadClient, tabResponse) {
+const testSourcemap = Task.async(function* (threadResponse, tabClient, threadClient, tabResponse) {
   evalTestCode();
 
   const { sources } = yield getSources(threadClient);
 
   for (let form of sources) {
     let sourceResponse = yield getSourceContent(threadClient.source(form));
     ok(sourceResponse, "Should be able to get the source response");
     ok(sourceResponse.source, "Should have the source text as well");
--- a/devtools/server/tests/unit/test_sourcemaps-17.js
+++ b/devtools/server/tests/unit/test_sourcemaps-17.js
@@ -11,53 +11,53 @@ var gClient;
 var gThreadClient;
 
 const {SourceNode} = require("source-map");
 
 function run_test() {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-source-map");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-source-map", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_source_map();
     });
   });
   do_test_pending();
 }
 
 function test_source_map() {
    // Set up debuggee code.
   const a = new SourceNode(1, 1, "a.js", "function a() { b(); }");
   const b = new SourceNode(null, null, null, "function b() { c(); }");
   const c = new SourceNode(1, 1, "c.js", "function c() { d(); }");
   const d = new SourceNode(null, null, null, "function d() { e(); }");
   const e = new SourceNode(1, 1, "e.js", "function e() { debugger; }");
-  const { map, code } = (new SourceNode(null, null, null, [a,b,c,d,e])).toStringWithSourceMap({
+  const { map, code } = (new SourceNode(null, null, null, [a, b, c, d, e])).toStringWithSourceMap({
     file: "root.js",
     sourceRoot: "root",
   });
   Components.utils.evalInSandbox(
     code + "//# sourceMappingURL=data:text/json;base64," + btoa(map.toString()),
     gDebuggee,
     "1.8",
     "http://example.com/www/js/abc.js",
     1
   );
 
   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
-    gThreadClient.getFrames(0, 50, function({ error, frames }) {
+    gThreadClient.getFrames(0, 50, function ({ error, frames }) {
       do_check_true(!error);
       do_check_eq(frames.length, 4);
       // b.js should be skipped
       do_check_eq(frames[0].where.source.url, "http://example.com/www/root/e.js");
       do_check_eq(frames[1].where.source.url, "http://example.com/www/root/c.js");
       do_check_eq(frames[2].where.source.url, "http://example.com/www/root/a.js");
       do_check_eq(frames[3].where.source.url, null);
 
       finishClient(gClient);
-    })
+    });
   });
 
     // Trigger it.
   gDebuggee.eval("a()");
 }
--- a/devtools/server/tests/unit/test_stepping-01.js
+++ b/devtools/server/tests/unit/test_stepping-01.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-02.js
+++ b/devtools/server/tests/unit/test_stepping-02.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-03.js
+++ b/devtools/server/tests/unit/test_stepping-03.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-04.js
+++ b/devtools/server/tests/unit/test_stepping-04.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-05.js
+++ b/devtools/server/tests/unit/test_stepping-05.js
@@ -13,17 +13,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-06.js
+++ b/devtools/server/tests/unit/test_stepping-06.js
@@ -11,17 +11,17 @@ var gThreadClient;
 var gCallback;
 
 function run_test()
 {
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
   do_test_pending();
-};
+}
 
 function run_test_with_server(aServer, aCallback)
 {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stack", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect().then(function () {
--- a/devtools/server/tests/unit/test_stepping-07.js
+++ b/devtools/server/tests/unit/test_stepping-07.js
@@ -9,51 +9,51 @@ var gDebuggee;
 var gClient;
 var gCallback;
 
 function run_test() {
   do_test_pending();
   run_test_with_server(DebuggerServer, function () {
     run_test_with_server(WorkerDebuggerServer, do_test_finished);
   });
-};
+}
 
 function run_test_with_server(aServer, aCallback) {
   gCallback = aCallback;
   initTestDebuggerServer(aServer);
   gDebuggee = addTestGlobal("test-stepping", aServer);
   gClient = new DebuggerClient(aServer.connectPipe());
   gClient.connect(testSteppingAndReturns);
 }
 
-const testSteppingAndReturns = Task.async(function*() {
+const testSteppingAndReturns = Task.async(function* () {
   const [attachResponse, tabClient, threadClient] = yield attachTestTabAndResume(gClient, "test-stepping");
   ok(!attachResponse.error, "Should not get an error attaching");
 
   dumpn("Evaluating test code and waiting for first debugger statement");
-  const dbgStmt1 = yield executeOnNextTickAndWaitForPause(evaluateTestCode, gClient)
+  const dbgStmt1 = yield executeOnNextTickAndWaitForPause(evaluateTestCode, gClient);
   equal(dbgStmt1.frame.where.line, 3,
-        "Should be at debugger statement on line 3")
+        "Should be at debugger statement on line 3");
 
   dumpn("Testing stepping with implicit return");
   const step1 = yield stepOver(gClient, threadClient);
   equal(step1.frame.where.line, 4, "Should step to line 4");
   const step2 = yield stepOver(gClient, threadClient);
   equal(step2.frame.where.line, 7,
         "Should step to line 7, the implicit return at the last line of the function");
   // This assertion doesn't pass yet. You would need to do *another*
   // step at the end of this function to get the frameFinished.
   // See bug 923975.
   //
   // ok(step2.why.frameFinished, "This should be the implicit function return");
 
   dumpn("Continuing and waiting for second debugger statement");
   const dbgStmt2 = yield resumeAndWaitForPause(gClient, threadClient);
   equal(dbgStmt2.frame.where.line, 12,
-        "Should be at debugger statement on line 3")
+        "Should be at debugger statement on line 3");
 
   dumpn("Testing stepping with explicit return");
   const step3 = yield stepOver(gClient, threadClient);
   equal(step3.frame.where.line, 13, "Should step to line 13");
   const step4 = yield stepOver(gClient, threadClient);
   equal(step4.frame.where.line, 15, "Should step out of the function from line 15");
   // This step is a bit funny, see bug 1013219 for details.
   const step5 = yield stepOver(gClient, threadClient);
--- a/devtools/server/tests/unit/test_symbols-01.js
+++ b/devtools/server/tests/unit/test_symbols-01.js
@@ -7,18 +7,18 @@
 
 const URL = "foo.js";
 
 function run_test() {
   initTestDebuggerServer();
   const debuggee = addTestGlobal("test-symbols");
   const client = new DebuggerClient(DebuggerServer.connectPipe());
 
-  client.connect().then(function() {
-    attachTestTabAndResume(client, "test-symbols", function(response, tabClient, threadClient) {
+  client.connect().then(function () {
+    attachTestTabAndResume(client, "test-symbols", function (response, tabClient, threadClient) {
       add_task(testSymbols.bind(null, client, debuggee));
       run_next_test();
     });
   });
 
   do_test_pending();
 }
 
--- a/devtools/server/tests/unit/test_symbols-02.js
+++ b/devtools/server/tests/unit/test_symbols-02.js
@@ -7,18 +7,18 @@
 
 const URL = "foo.js";
 
 function run_test() {
   initTestDebuggerServer();
   const debuggee = addTestGlobal("test-symbols");
   const client = new DebuggerClient(DebuggerServer.connectPipe());
 
-  client.connect().then(function() {
-    attachTestTabAndResume(client, "test-symbols", function(response, tabClient, threadClient) {
+  client.connect().then(function () {
+    attachTestTabAndResume(client, "test-symbols", function (response, tabClient, threadClient) {
       add_task(testSymbols.bind(null, client, debuggee));
       run_next_test();
     });
   });
 
   do_test_pending();
 }
 
--- a/devtools/server/tests/unit/test_threadlifetime-01.js
+++ b/devtools/server/tests/unit/test_threadlifetime-01.js
@@ -9,50 +9,50 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
 function test_thread_lifetime()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let pauseGrip = aPacket.frame.arguments[0];
 
     // Create a thread-lifetime actor for this object.
-    gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function(aResponse) {
+    gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function (aResponse) {
       // Successful promotion won't return an error.
       do_check_eq(aResponse.error, undefined);
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Verify that the promoted actor is returned again.
         do_check_eq(pauseGrip.actor, aPacket.frame.arguments[0].actor);
         // Now that we've resumed, should get unrecognizePacketType for the
         // promoted grip.
-        gClient.request({ to: pauseGrip.actor, type: "bogusRequest"}, function(aResponse) {
+        gClient.request({ to: pauseGrip.actor, type: "bogusRequest"}, function (aResponse) {
           do_check_eq(aResponse.error, "unrecognizedPacketType");
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         });
       });
       gThreadClient.resume();
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1) {
       debugger;
       debugger;
-    };
+    }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_threadlifetime-02.js
+++ b/devtools/server/tests/unit/test_threadlifetime-02.js
@@ -9,51 +9,51 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
 function test_thread_lifetime()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let pauseGrip = aPacket.frame.arguments[0];
 
     // Create a thread-lifetime actor for this object.
-    gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function(aResponse) {
+    gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function (aResponse) {
       // Successful promotion won't return an error.
       do_check_eq(aResponse.error, undefined);
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Verify that the promoted actor is returned again.
         do_check_eq(pauseGrip.actor, aPacket.frame.arguments[0].actor);
         // Now that we've resumed, release the thread-lifetime grip.
-        gClient.release(pauseGrip.actor, function(aResponse) {
-          gClient.request({ to: pauseGrip.actor, type: "bogusRequest" }, function(aResponse) {
+        gClient.release(pauseGrip.actor, function (aResponse) {
+          gClient.request({ to: pauseGrip.actor, type: "bogusRequest" }, function (aResponse) {
             do_check_eq(aResponse.error, "noSuchActor");
-            gThreadClient.resume(function(aResponse) {
+            gThreadClient.resume(function (aResponse) {
               finishClient(gClient);
             });
           });
         });
       });
       gThreadClient.resume();
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1) {
       debugger;
       debugger;
-    };
+    }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_threadlifetime-03.js
+++ b/devtools/server/tests/unit/test_threadlifetime-03.js
@@ -9,73 +9,73 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
 function test_thread_lifetime()
 {
   // Get three thread-lifetime grips.
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let grips = [];
 
-    let handler = function(aResponse) {
+    let handler = function (aResponse) {
       if (aResponse.error) {
-        do_check_eq(aResponse.error, '');
+        do_check_eq(aResponse.error, "");
         finishClient(gClient);
       }
       grips.push(aResponse.from);
       if (grips.length == 3) {
         test_release_many(grips);
       }
     };
     for (let i = 0; i < 3; i++) {
       gClient.request({ to: aPacket.frame.arguments[i].actor, type: "threadGrip" },
                       handler);
     }
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1, arg2, arg3) {
       debugger;
-    };
+    }
     stopMe({obj: 1}, {obj: 2}, {obj: 3});
   } + ")()");
 }
 
 function test_release_many(grips)
 {
   // Release the first two grips, leave the third alive.
 
   let release = [grips[0], grips[1]];
 
-  gThreadClient.releaseMany(release, function(aResponse) {
+  gThreadClient.releaseMany(release, function (aResponse) {
     // First two actors should return a noSuchActor error, because
     // they're gone now.
-    gClient.request({ to: grips[0], type: "bogusRequest" }, function(aResponse) {
+    gClient.request({ to: grips[0], type: "bogusRequest" }, function (aResponse) {
       do_check_eq(aResponse.error, "noSuchActor");
-      gClient.request({ to: grips[1], type: "bogusRequest" }, function(aResponse) {
+      gClient.request({ to: grips[1], type: "bogusRequest" }, function (aResponse) {
         do_check_eq(aResponse.error, "noSuchActor");
 
         // Last actor should return unrecognizedPacketType, because it's still
         // alive.
-        gClient.request({ to: grips[2], type: "bogusRequest" }, function(aResponse) {
+        gClient.request({ to: grips[2], type: "bogusRequest" }, function (aResponse) {
           do_check_eq(aResponse.error, "unrecognizedPacketType");
-          gThreadClient.resume(function() {
+          gThreadClient.resume(function () {
             finishClient(gClient);
           });
         });
       });
     });
   });
 }
--- a/devtools/server/tests/unit/test_threadlifetime-04.js
+++ b/devtools/server/tests/unit/test_threadlifetime-04.js
@@ -10,17 +10,17 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
+  gClient.connect().then(function () {
     attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
@@ -32,22 +32,22 @@ function test_thread_lifetime()
     gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function (aResponse) {
       // Successful promotion won't return an error.
       do_check_eq(aResponse.error, undefined);
 
       let threadGrip1 = aResponse.from;
 
       gClient.request({ to: pauseGrip.actor, type: "threadGrip" }, function (aResponse) {
         do_check_eq(threadGrip1, aResponse.from);
-        gThreadClient.resume(function() {
+        gThreadClient.resume(function () {
           finishClient(gClient);
         });
       });
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1) {
       debugger;
-    };
+    }
     stopMe({obj: true});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_threadlifetime-05.js
+++ b/devtools/server/tests/unit/test_threadlifetime-05.js
@@ -11,18 +11,18 @@ var gClient;
 var gThreadClient;
 var gPauseGrip;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
 function arg_grips(aFrameArgs, aOnResponse) {
@@ -50,20 +50,20 @@ function test_thread_lifetime()
 
     let frameArgs = [ aPacket.frame.arguments[0], aPacket.frame.arguments[1] ];
     gPauseGrip = aPacket.frame.arguments[2];
     arg_grips(frameArgs, function (aGrips) {
       release_grips(frameArgs, aGrips);
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1, arg2, arg3) {
       debugger;
-    };
+    }
     stopMe({obj: 1}, {obj: 2}, {obj: 3});
   } + ")()");
 }
 
 
 function release_grips(aFrameArgs, aThreadGrips)
 {
   // Release all actors with releaseMany...
--- a/devtools/server/tests/unit/test_threadlifetime-06.js
+++ b/devtools/server/tests/unit/test_threadlifetime-06.js
@@ -10,62 +10,62 @@ var gDebuggee;
 var gClient;
 var gThreadClient;
 
 function run_test()
 {
   initTestDebuggerServer();
   gDebuggee = addTestGlobal("test-grips");
   gClient = new DebuggerClient(DebuggerServer.connectPipe());
-  gClient.connect().then(function() {
-    attachTestTabAndResume(gClient, "test-grips", function(aResponse, aTabClient, aThreadClient) {
+  gClient.connect().then(function () {
+    attachTestTabAndResume(gClient, "test-grips", function (aResponse, aTabClient, aThreadClient) {
       gThreadClient = aThreadClient;
       test_thread_lifetime();
     });
   });
   do_test_pending();
 }
 
 function test_thread_lifetime()
 {
-  gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+  gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
     let actors = [];
     let last;
     for (let aGrip of aPacket.frame.arguments) {
       actors.push(aGrip.actor);
       last = aGrip.actor;
     }
 
     // Create thread-lifetime actors for these objects.
-    gThreadClient.threadGrips(actors, function(aResponse) {
+    gThreadClient.threadGrips(actors, function (aResponse) {
       // Successful promotion won't return an error.
       do_check_eq(aResponse.error, undefined);
 
-      gThreadClient.addOneTimeListener("paused", function(aEvent, aPacket) {
+      gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
         // Verify that the promoted actors are returned again.
-        actors.forEach(function(actor, i) {
+        actors.forEach(function (actor, i) {
           do_check_eq(actor, aPacket.frame.arguments[i].actor);
         });
         // Now that we've resumed, release the thread-lifetime grips.
-        gThreadClient.releaseMany(actors, function(aResponse) {
+        gThreadClient.releaseMany(actors, function (aResponse) {
           // Successful release won't return an error.
           do_check_eq(aResponse.error, undefined);
 
-          gClient.request({ to: last, type: "bogusRequest" }, function(aResponse) {
+          gClient.request({ to: last, type: "bogusRequest" }, function (aResponse) {
             do_check_eq(aResponse.error, "noSuchActor");
-            gThreadClient.resume(function(aResponse) {
+            gThreadClient.resume(function (aResponse) {
               finishClient(gClient);
             });
           });
         });
       });
       gThreadClient.resume();
     });
   });
 
-  gDebuggee.eval("(" + function() {
+  gDebuggee.eval("(" + function () {
     function stopMe(arg1, arg2, arg3) {
       debugger;
       debugger;
-    };
+    }
     stopMe({obj: 1}, {obj: 2}, {obj: 3});
   } + ")()");
 }
--- a/devtools/server/tests/unit/test_unsafeDereference.js
+++ b/devtools/server/tests/unit/test_unsafeDereference.js
@@ -22,73 +22,73 @@ Debugger.Object.prototype.getProperty = 
     throw Error("Debugger.Object.prototype.getProperty: " +
                 "not a value property: " + aName);
   }
   return desc.value;
 };
 
 function run_test() {
   // Create a low-privilege sandbox, and a chrome-privilege sandbox.
-  let contentBox = Components.utils.Sandbox('http://www.example.com');
+  let contentBox = Components.utils.Sandbox("http://www.example.com");
   let chromeBox = Components.utils.Sandbox(this);
 
   // Create an objects in this compartment, and one in each sandbox. We'll
   // refer to the objects as "mainObj", "contentObj", and "chromeObj", in
   // variable and property names.
   var mainObj = { name: "mainObj" };
   Components.utils.evalInSandbox('var contentObj = { name: "contentObj" };',
                                  contentBox);
   Components.utils.evalInSandbox('var chromeObj = { name: "chromeObj" };',
                                  chromeBox);
 
   // Give each global a pointer to all the other globals' objects.
   contentBox.mainObj = chromeBox.mainObj = mainObj;
   var contentObj = chromeBox.contentObj = contentBox.contentObj;
-  var chromeObj  = contentBox.chromeObj = chromeBox.chromeObj;
+  var chromeObj = contentBox.chromeObj = chromeBox.chromeObj;
 
   // First, a whole bunch of basic sanity checks, to ensure that JavaScript
   // evaluated in various scopes really does see the world the way this
   // test expects it to.
 
   // The objects appear as global variables in the sandbox, and as
   // the sandbox object's properties in chrome.
-  do_check_true(Components.utils.evalInSandbox('mainObj', contentBox)
+  do_check_true(Components.utils.evalInSandbox("mainObj", contentBox)
                 === contentBox.mainObj);
-  do_check_true(Components.utils.evalInSandbox('contentObj', contentBox)
+  do_check_true(Components.utils.evalInSandbox("contentObj", contentBox)
                 === contentBox.contentObj);
-  do_check_true(Components.utils.evalInSandbox('chromeObj', contentBox)
+  do_check_true(Components.utils.evalInSandbox("chromeObj", contentBox)
                 === contentBox.chromeObj);
-  do_check_true(Components.utils.evalInSandbox('mainObj', chromeBox)
+  do_check_true(Components.utils.evalInSandbox("mainObj", chromeBox)
                 === chromeBox.mainObj);
-  do_check_true(Components.utils.evalInSandbox('contentObj', chromeBox)
+  do_check_true(Components.utils.evalInSandbox("contentObj", chromeBox)
                 === chromeBox.contentObj);
-  do_check_true(Components.utils.evalInSandbox('chromeObj', chromeBox)
+  do_check_true(Components.utils.evalInSandbox("chromeObj", chromeBox)
                 === chromeBox.chromeObj);
 
   // We (the main global) can see properties of all objects in all globals.
   do_check_true(contentBox.mainObj.name === "mainObj");
   do_check_true(contentBox.contentObj.name === "contentObj");
   do_check_true(contentBox.chromeObj.name === "chromeObj");
 
   // chromeBox can see properties of all objects in all globals.
-  do_check_eq(Components.utils.evalInSandbox('mainObj.name', chromeBox),
-              'mainObj');
-  do_check_eq(Components.utils.evalInSandbox('contentObj.name', chromeBox),
-              'contentObj');
-  do_check_eq(Components.utils.evalInSandbox('chromeObj.name', chromeBox),
-              'chromeObj');
+  do_check_eq(Components.utils.evalInSandbox("mainObj.name", chromeBox),
+              "mainObj");
+  do_check_eq(Components.utils.evalInSandbox("contentObj.name", chromeBox),
+              "contentObj");
+  do_check_eq(Components.utils.evalInSandbox("chromeObj.name", chromeBox),
+              "chromeObj");
 
   // contentBox can see properties of the content object, but not of either
   // chrome object, because by default, content -> chrome wrappers hide all
   // object properties.
-  do_check_eq(Components.utils.evalInSandbox('mainObj.name', contentBox),
+  do_check_eq(Components.utils.evalInSandbox("mainObj.name", contentBox),
               undefined);
-  do_check_eq(Components.utils.evalInSandbox('contentObj.name', contentBox),
-              'contentObj');
-  do_check_eq(Components.utils.evalInSandbox('chromeObj.name', contentBox),
+  do_check_eq(Components.utils.evalInSandbox("contentObj.name", contentBox),
+              "contentObj");
+  do_check_eq(Components.utils.evalInSandbox("chromeObj.name", contentBox),
               undefined);
 
   // When viewing an object in compartment A from the vantage point of
   // compartment B, Debugger should give the same results as debuggee code
   // would.
 
   // Create a debugger, debugging our two sandboxes.
   let dbg = new Debugger;
@@ -96,39 +96,39 @@ function run_test() {
   // Create Debugger.Object instances referring to the two sandboxes, as
   // seen from their own compartments.
   let contentBoxDO = dbg.addDebuggee(contentBox);
   let chromeBoxDO = dbg.addDebuggee(chromeBox);
 
   // Use Debugger to view the objects from contentBox. We should get the
   // same D.O instance from both getProperty and makeDebuggeeValue, and the
   // same property visibility we checked for above.
-  let mainFromContentDO = contentBoxDO.getProperty('mainObj');
+  let mainFromContentDO = contentBoxDO.getProperty("mainObj");
   do_check_eq(mainFromContentDO, contentBoxDO.makeDebuggeeValue(mainObj));
-  do_check_eq(mainFromContentDO.getProperty('name'), undefined);
+  do_check_eq(mainFromContentDO.getProperty("name"), undefined);
   do_check_eq(mainFromContentDO.unsafeDereference(), mainObj);
 
-  let contentFromContentDO = contentBoxDO.getProperty('contentObj');
+  let contentFromContentDO = contentBoxDO.getProperty("contentObj");
   do_check_eq(contentFromContentDO, contentBoxDO.makeDebuggeeValue(contentObj));
-  do_check_eq(contentFromContentDO.getProperty('name'), 'contentObj');
+  do_check_eq(contentFromContentDO.getProperty("name"), "contentObj");
   do_check_eq(contentFromContentDO.unsafeDereference(), contentObj);
 
-  let chromeFromContentDO = contentBoxDO.getProperty('chromeObj');
+  let chromeFromContentDO = contentBoxDO.getProperty("chromeObj");
   do_check_eq(chromeFromContentDO, contentBoxDO.makeDebuggeeValue(chromeObj));
-  do_check_eq(chromeFromContentDO.getProperty('name'), undefined);
+  do_check_eq(chromeFromContentDO.getProperty("name"), undefined);
   do_check_eq(chromeFromContentDO.unsafeDereference(), chromeObj);
 
   // Similarly, viewing from chromeBox.
-  let mainFromChromeDO = chromeBoxDO.getProperty('mainObj');
+  let mainFromChromeDO = chromeBoxDO.getProperty("mainObj");
   do_check_eq(mainFromChromeDO, chromeBoxDO.makeDebuggeeValue(mainObj));
-  do_check_eq(mainFromChromeDO.getProperty('name'), 'mainObj');
+  do_check_eq(mainFromChromeDO.getProperty("name"), "mainObj");
   do_check_eq(mainFromChromeDO.unsafeDereference(), mainObj);
 
-  let contentFromChromeDO = chromeBoxDO.getProperty('contentObj');
+  let contentFromChromeDO = chromeBoxDO.getProperty("contentObj");
   do_check_eq(contentFromChromeDO, chromeBoxDO.makeDebuggeeValue(contentObj));
-  do_check_eq(contentFromChromeDO.getProperty('name'), 'contentObj');
+  do_check_eq(contentFromChromeDO.getProperty("name"), "contentObj");
   do_check_eq(contentFromChromeDO.unsafeDereference(), contentObj);
 
-  let chromeFromChromeDO = chromeBoxDO.getProperty('chromeObj');
+  let chromeFromChromeDO = chromeBoxDO.getProperty("chromeObj");
   do_check_eq(chromeFromChromeDO, chromeBoxDO.makeDebuggeeValue(chromeObj));
-  do_check_eq(chromeFromChromeDO.getProperty('name'), 'chromeObj');
+  do_check_eq(chromeFromChromeDO.getProperty("name"), "chromeObj");
   do_check_eq(chromeFromChromeDO.unsafeDereference(), chromeObj);
 }
--- a/devtools/server/tests/unit/test_xpcshell_debugging.js
+++ b/devtools/server/tests/unit/test_xpcshell_debugging.js
@@ -14,17 +14,17 @@ function run_test() {
   let client = new DebuggerClient(transport);
   client.connect().then(() => {
     // Even though we have no tabs, listTabs gives us the chromeDebugger.
     client.getProcess().then(response => {
       let actor = response.form.actor;
       client.attachTab(actor, (response, tabClient) => {
         tabClient.attachThread(null, (response, threadClient) => {
           threadClient.addOneTimeListener("paused", (event, packet) => {
-          equal(packet.why.type, "breakpoint",
+            equal(packet.why.type, "breakpoint",
                 "yay - hit the breakpoint at the first line in our script");
             // Resume again - next stop should be our "debugger" statement.
             threadClient.addOneTimeListener("paused", (event, packet) => {
               equal(packet.why.type, "debuggerStatement",
                     "yay - hit the 'debugger' statement in our script");
               threadClient.resume(() => {
                 finishClient(client);
               });
--- a/devtools/server/tests/unit/testactors.js
+++ b/devtools/server/tests/unit/testactors.js
@@ -5,29 +5,29 @@ const { ActorPool, appendExtraActors, cr
 const { RootActor } = require("devtools/server/actors/root");
 const { ThreadActor } = require("devtools/server/actors/script");
 const { DebuggerServer } = require("devtools/server/main");
 const { TabSources } = require("devtools/server/actors/utils/TabSources");
 const promise = require("promise");
 const makeDebugger = require("devtools/server/actors/utils/make-debugger");
 
 var gTestGlobals = [];
-DebuggerServer.addTestGlobal = function(aGlobal) {
+DebuggerServer.addTestGlobal = function (aGlobal) {
   gTestGlobals.push(aGlobal);
 };
 
-DebuggerServer.getTestGlobal = function(name) {
+DebuggerServer.getTestGlobal = function (name) {
   for (let g of gTestGlobals) {
     if (g.__name == name) {
       return g;
     }
   }
 
   return null;
-}
+};
 
 // A mock tab list, for use by tests. This simply presents each global in
 // gTestGlobals as a tab, and the list is fixed: it never calls its
 // onListChanged handler.
 //
 // As implemented now, we consult gTestGlobals when we're constructed, not
 // when we're iterated over, so tests have to add their globals before the
 // root actor is created.
@@ -104,56 +104,56 @@ TestTabActor.prototype = {
 
   get sources() {
     if (!this._sources) {
       this._sources = new TabSources(this.threadActor);
     }
     return this._sources;
   },
 
-  form: function() {
+  form: function () {
     let response = { actor: this.actorID, title: this._global.__name };
 
     // Walk over tab actors added by extensions and add them to a new ActorPool.
     let actorPool = new ActorPool(this.conn);
     this._createExtraActors(DebuggerServer.tabActorFactories, actorPool);
     if (!actorPool.isEmpty()) {
       this._tabActorPool = actorPool;
       this.conn.addActorPool(this._tabActorPool);
     }
 
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onAttach: function(aRequest) {
+  onAttach: function (aRequest) {
     this._attached = true;
 
     let response = { type: "tabAttached", threadActor: this.threadActor.actorID };
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onDetach: function(aRequest) {
+  onDetach: function (aRequest) {
     if (!this._attached) {
       return { "error":"wrongState" };
     }
     return { type: "detached" };
   },
 
-  onReload: function(aRequest) {
+  onReload: function (aRequest) {
     this.sources.reset({ sourceMaps: true });
     this.threadActor.clearDebuggees();
     this.threadActor.dbg.addDebuggees();
     return {};
   },
 
-  removeActorByName: function(aName) {
+  removeActorByName: function (aName) {
     const actor = this._extraActors[aName];
     if (this._tabActorPool) {
       this._tabActorPool.removeActor(actor);
     }
     delete this._extraActors[aName];
   },
 
   /* Support for DebuggerServer.addTabActor. */
@@ -162,15 +162,15 @@ TestTabActor.prototype = {
 };
 
 TestTabActor.prototype.requestTypes = {
   "attach": TestTabActor.prototype.onAttach,
   "detach": TestTabActor.prototype.onDetach,
   "reload": TestTabActor.prototype.onReload
 };
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.setRootActor(createRootActor);
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.setRootActor(null);
 };
--- a/devtools/server/tests/unit/xpcshell_debugging_script.js
+++ b/devtools/server/tests/unit/xpcshell_debugging_script.js
@@ -1,9 +1,9 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // This is a file that test_xpcshell_debugging.js debugs.
 
 // We should hit this dump as it is the first debuggable line
-dump("hello from the debugee!\n")
+dump("hello from the debugee!\n");
 
 debugger; // and why not check we hit this!?
--- a/devtools/server/worker.js
+++ b/devtools/server/worker.js
@@ -1,9 +1,9 @@
-"use strict"
+"use strict";
 
 // This function is used to do remote procedure calls from the worker to the
 // main thread. It is exposed as a built-in global to every module by the
 // worker loader. To make sure the worker loader can access it, it needs to be
 // defined before loading the worker loader script below.
 this.rpc = function (method, ...params) {
   let id = nextId++;
 
@@ -33,78 +33,78 @@ DebuggerServer.init();
 DebuggerServer.createRootActor = function () {
   throw new Error("Should never get here!");
 };
 
 var connections = Object.create(null);
 var nextId = 0;
 var rpcDeferreds = [];
 
-this.addEventListener("message",  function (event) {
+this.addEventListener("message", function (event) {
   let packet = JSON.parse(event.data);
   switch (packet.type) {
-  case "connect":
+    case "connect":
     // Step 3: Create a connection to the parent.
-    let connection = DebuggerServer.connectToParent(packet.id, this);
-    connections[packet.id] = {
-      connection : connection,
-      rpcs: []
-    };
+      let connection = DebuggerServer.connectToParent(packet.id, this);
+      connections[packet.id] = {
+        connection : connection,
+        rpcs: []
+      };
 
     // Step 4: Create a thread actor for the connection to the parent.
-    let pool = new ActorPool(connection);
-    connection.addActorPool(pool);
+      let pool = new ActorPool(connection);
+      connection.addActorPool(pool);
 
-    let sources = null;
+      let sources = null;
+
+      let parent = {
+        actorID: packet.id,
 
-    let parent = {
-      actorID: packet.id,
+        makeDebugger: makeDebugger.bind(null, {
+          findDebuggees: () => {
+            return [this.global];
+          },
 
-      makeDebugger: makeDebugger.bind(null, {
-        findDebuggees: () => {
-          return [this.global];
+          shouldAddNewGlobalAsDebuggee: () => {
+            return true;
+          },
+        }),
+
+        get sources() {
+          if (sources === null) {
+            sources = new TabSources(threadActor);
+          }
+          return sources;
         },
 
-        shouldAddNewGlobalAsDebuggee: () => {
-          return true;
-        },
-      }),
+        window: global
+      };
 
-      get sources() {
-        if (sources === null) {
-          sources = new TabSources(threadActor);
-        }
-        return sources;
-      },
+      let threadActor = new ThreadActor(parent, global);
+      pool.addActor(threadActor);
 
-      window: global
-    };
-
-    let threadActor = new ThreadActor(parent, global);
-    pool.addActor(threadActor);
-
-    let consoleActor = new WebConsoleActor(connection, parent);
-    pool.addActor(consoleActor);
+      let consoleActor = new WebConsoleActor(connection, parent);
+      pool.addActor(consoleActor);
 
     // Step 5: Send a response packet to the parent to notify
     // it that a connection has been established.
-    postMessage(JSON.stringify({
-      type: "connected",
-      id: packet.id,
-      threadActor: threadActor.actorID,
-      consoleActor: consoleActor.actorID,
-    }));
-    break;
+      postMessage(JSON.stringify({
+        type: "connected",
+        id: packet.id,
+        threadActor: threadActor.actorID,
+        consoleActor: consoleActor.actorID,
+      }));
+      break;
 
-  case "disconnect":
-    connections[packet.id].connection.close();
-    break;
+    case "disconnect":
+      connections[packet.id].connection.close();
+      break;
 
-  case "rpc":
-    let deferred = rpcDeferreds[packet.id];
-    delete rpcDeferreds[packet.id];
-    if (packet.error) {
+    case "rpc":
+      let deferred = rpcDeferreds[packet.id];
+      delete rpcDeferreds[packet.id];
+      if (packet.error) {
         deferred.reject(packet.error);
-    }
-    deferred.resolve(packet.result);
-    break;
-  };
+      }
+      deferred.resolve(packet.result);
+      break;
+  }
 });
--- a/devtools/shared/DevToolsUtils.js
+++ b/devtools/shared/DevToolsUtils.js
@@ -130,29 +130,29 @@ exports.yieldingEach = function yielding
  * @param Function aCallback
  *        The callback that will be called to determine the value. Will be
  *        called with the |this| value of the current instance.
  */
 exports.defineLazyPrototypeGetter =
 function defineLazyPrototypeGetter(aObject, aKey, aCallback) {
   Object.defineProperty(aObject, aKey, {
     configurable: true,
-    get: function() {
+    get: function () {
       const value = aCallback.call(this);
 
       Object.defineProperty(this, aKey, {
         configurable: true,
         writable: true,
         value: value
       });
 
       return value;
     }
   });
-}
+};
 
 /**
  * Safely get the property value from a Debugger.Object for a given key. Walks
  * the prototype chain until the property is found.
  *
  * @param Debugger.Object aObject
  *        The Debugger.Object to get the value from.
  * @param String aKey
@@ -189,17 +189,17 @@ exports.getProperty = function getProper
  *         Whether a safe getter was found.
  */
 exports.hasSafeGetter = function hasSafeGetter(aDesc) {
   // Scripted functions that are CCWs will not appear scripted until after
   // unwrapping.
   try {
     let fn = aDesc.get.unwrap();
     return fn && fn.callable && fn.class == "Function" && fn.script === undefined;
-  } catch(e) {
+  } catch (e) {
     // Avoid exception 'Object in compartment marked as invisible to Debugger'
     return false;
   }
 };
 
 /**
  * Check if it is safe to read properties and execute methods from the given JS
  * object. Safety is defined as being protected from unintended code execution
@@ -240,17 +240,17 @@ exports.dumpn = function dumpn(str) {
 
 // We want wantLogging to be writable. The exports object is frozen by the
 // loader, so define it on dumpn instead.
 exports.dumpn.wantLogging = false;
 
 /**
  * A verbose logger for low-level tracing.
  */
-exports.dumpv = function(msg) {
+exports.dumpv = function (msg) {
   if (exports.dumpv.wantVerbose) {
     exports.dumpn(msg);
   }
 };
 
 // We want wantLogging to be writable. The exports object is frozen by the
 // loader, so define it on dumpn instead.
 exports.dumpv.wantVerbose = false;
@@ -395,17 +395,17 @@ exports.defineLazyGetter(this, "NetworkH
  *           - contentType: the content type of the document
  *
  *          If an error occurs, the promise is rejected with that error.
  *
  * XXX: It may be better to use nsITraceableChannel to get to the sources
  * without relying on caching when we can (not for eval, etc.):
  * http://www.softwareishard.com/blog/firebug/nsitraceablechannel-intercept-http-traffic/
  */
-function mainThreadFetch(aURL, aOptions={ loadFromCache: true,
+function mainThreadFetch(aURL, aOptions = { loadFromCache: true,
                                           policy: Ci.nsIContentPolicy.TYPE_OTHER,
                                           window: null,
                                           charset: null,
                                           principal: null,
                                           cacheKey: null }) {
   // Create a channel.
   let url = aURL.split(" -> ").pop();
   let channel;
@@ -524,17 +524,17 @@ function newChannelForURL(url, { policy,
       if (nc) {
         try {
           var lc = nc.getInterface(Ci.nsILoadContext);
           if (lc) {
             if (lc.usePrivateBrowsing) {
               securityFlags |= Ci.nsILoadInfo.SEC_FORCE_PRIVATE_BROWSING;
             }
           }
-        } catch(ex) {}
+        } catch (ex) {}
       }
     }
   }
 
   let channelOptions = {
     contentPolicyType: policy,
     loadUsingSystemPrincipal: true,
     securityFlags: securityFlags,
@@ -585,17 +585,17 @@ if (!this.isWorker) {
  *
  * @return A new promise that is fulfilled when all values have settled
  *         (resolved or rejected). Its resolution value will be an array of all
  *         resolved values in the given order, or undefined if values is an
  *         empty array. The reject reason will be forwarded from the first
  *         promise in the list of given promises to be rejected.
  */
 exports.settleAll = values => {
-  if (values === null || typeof(values[Symbol.iterator]) != "function") {
+  if (values === null || typeof (values[Symbol.iterator]) != "function") {
     throw new Error("settleAll() expects an iterable.");
   }
 
   let deferred = promise.defer();
 
   values = Array.isArray(values) ? values : [...values];
   let countdown = values.length;
   let resolutionValues = new Array(countdown);
@@ -628,37 +628,37 @@ exports.settleAll = values => {
     let rejecter = error => {
       if (!rejectionOccurred) {
         rejectionValue = error;
         rejectionOccurred = true;
       }
       checkForCompletion();
     };
 
-    if (value && typeof(value.then) == "function") {
+    if (value && typeof (value.then) == "function") {
       value.then(resolver, rejecter);
     } else {
       // Given value is not a promise, forward it as a resolution value.
       resolver(value);
     }
   }
 
   return deferred.promise;
 };
 
 /**
  * When the testing flag is set, various behaviors may be altered from
  * production mode, typically to enable easier testing or enhanced debugging.
  */
 var testing = false;
 Object.defineProperty(exports, "testing", {
-  get: function() {
+  get: function () {
     return testing;
   },
-  set: function(state) {
+  set: function (state) {
     testing = state;
   }
 });
 
 /**
  * Open the file at the given path for reading.
  *
  * @param {String} filePath
--- a/devtools/shared/Loader.jsm
+++ b/devtools/shared/Loader.jsm
@@ -24,17 +24,17 @@ this.EXPORTED_SYMBOLS = ["DevToolsLoader
 var sharedGlobalBlocklist = ["sdk/indexed-db"];
 
 /**
  * Used when the tools should be loaded from the Firefox package itself.
  * This is the default case.
  */
 function BuiltinProvider() {}
 BuiltinProvider.prototype = {
-  load: function() {
+  load: function () {
     const paths = {
       // ⚠ DISCUSSION ON DEV-DEVELOPER-TOOLS REQUIRED BEFORE MODIFYING ⚠
       "": "resource://gre/modules/commonjs/",
       // ⚠ DISCUSSION ON DEV-DEVELOPER-TOOLS REQUIRED BEFORE MODIFYING ⚠
       "devtools": "resource://devtools",
       // ⚠ DISCUSSION ON DEV-DEVELOPER-TOOLS REQUIRED BEFORE MODIFYING ⚠
       "gcli": "resource://devtools/shared/gcli/source/lib/gcli",
       // ⚠ DISCUSSION ON DEV-DEVELOPER-TOOLS REQUIRED BEFORE MODIFYING ⚠
@@ -59,17 +59,17 @@ BuiltinProvider.prototype = {
       id: "fx-devtools",
       paths,
       invisibleToDebugger: this.invisibleToDebugger,
       sharedGlobal: true,
       sharedGlobalBlocklist,
     });
   },
 
-  unload: function(reason) {
+  unload: function (reason) {
     Loader.unload(this.loader, reason);
     delete this.loader;
   },
 };
 
 var gNextLoaderID = 0;
 
 /**
@@ -101,27 +101,27 @@ DevToolsLoader.prototype = {
     }
   },
 
   /**
    * A dummy version of require, in case a provider hasn't been chosen yet when
    * this is first called.  This will then be replaced by the real version.
    * @see setProvider
    */
-  require: function() {
+  require: function () {
     if (!this._provider) {
       this._loadProvider();
     }
     return this.require.apply(this, arguments);
   },
 
   /**
    * Override the provider used to load the tools.
    */
-  setProvider: function(provider) {
+  setProvider: function (provider) {
     if (provider === this._provider) {
       return;
     }
 
     if (this._provider) {
       delete this.require;
       this._provider.unload("newprovider");
     }
@@ -160,27 +160,27 @@ DevToolsLoader.prototype = {
     this.lazyImporter = globals.loader.lazyImporter;
     this.lazyServiceGetter = globals.loader.lazyServiceGetter;
     this.lazyRequireGetter = globals.loader.lazyRequireGetter;
   },
 
   /**
    * Choose a default tools provider based on the preferences.
    */
-  _loadProvider: function() {
+  _loadProvider: function () {
     this.setProvider(new BuiltinProvider());
   },
 
   /**
    * Handles "devtools-unload" event
    *
    * @param String data
    *    reason passed to modules when unloaded
    */
-  observe: function(subject, topic, data) {
+  observe: function (subject, topic, data) {
     if (topic != "devtools-unload") {
       return;
     }
     Services.obs.removeObserver(this, "devtools-unload");
 
     if (this._provider) {
       this._provider.unload(data);
       delete this._provider;
--- a/devtools/shared/ThreadSafeDevToolsUtils.js
+++ b/devtools/shared/ThreadSafeDevToolsUtils.js
@@ -25,17 +25,17 @@
  *
  *     // However, the original is not modified.
  *     assert(original.baz === 2);
  *     assert(original.bang === undefined);
  *
  * @param {...Object} ...objs
  * @returns {Object}
  */
-exports.immutableUpdate = function(...objs) {
+exports.immutableUpdate = function (...objs) {
   return Object.freeze(Object.assign({}, ...objs));
 };
 
 /**
  * Utility function for updating an object with the properties of
  * other objects.
  *
  * DEPRECATED: Just use Object.assign() instead!
@@ -90,18 +90,18 @@ exports.reportException = function repor
  *      A handler function, which may throw.
  * @param aName string
  *      A name for handler, for use in error messages. If omitted, we use
  *      handler.name.
  *
  * (SpiderMonkey does generate good names for anonymous functions, but we
  * don't have a way to get at them from JavaScript at the moment.)
  */
-exports.makeInfallible = function(handler, name = handler.name) {
-  return function(/* arguments */) {
+exports.makeInfallible = function (handler, name = handler.name) {
+  return function (/* arguments */) {
     try {
       return handler.apply(this, arguments);
     } catch (ex) {
       let who = "Handler function";
       if (name) {
         who += " " + name;
       }
       exports.reportException(who, ex);
@@ -110,17 +110,17 @@ exports.makeInfallible = function(handle
   };
 };
 
 /**
  * Turn the |error| into a string, without fail.
  *
  * @param {Error|any} error
  */
-exports.safeErrorString = function(error) {
+exports.safeErrorString = function (error) {
   try {
     let errorString = error.toString();
     if (typeof errorString == "string") {
       // Attempt to attach a stack to |errorString|. If it throws an error, or
       // isn't a string, don't use it.
       try {
         if (error.stack) {
           let stack = error.stack.toString();
@@ -149,17 +149,17 @@ exports.safeErrorString = function(error
  * a zip. In the case of arrays with different sizes, undefined values will be
  * interleaved at the end along with the extra values of the larger array.
  *
  * @param Array a
  * @param Array b
  * @returns Array
  *          The combined array, in the form [a1, b1, a2, b2, ...]
  */
-exports.zip = function(a, b) {
+exports.zip = function (a, b) {
   if (!b) {
     return a;
   }
   if (!a) {
     return b;
   }
   const pairs = [];
   for (let i = 0, aLength = a.length, bLength = b.length;
@@ -181,17 +181,17 @@ exports.zip = function(a, b) {
 exports.entries = function entries(obj) {
   return Object.keys(obj).map(k => [k, obj[k]]);
 };
 
 /*
  * Takes an array of 2-element arrays as key/values pairs and
  * constructs an object using them.
  */
-exports.toObject = function(arr) {
+exports.toObject = function (arr) {
   const obj = {};
   for (let [k, v] of arr) {
     obj[k] = v;
   }
   return obj;
 };
 
 /**
@@ -242,22 +242,22 @@ exports.isPromise = function (p) {
  */
 exports.isSavedFrame = function (thing) {
   return Object.prototype.toString.call(thing) === "[object SavedFrame]";
 };
 
 /**
  * Return true iff `thing` is a `Set` object (possibly from another global).
  */
-exports.isSet = function(thing) {
+exports.isSet = function (thing) {
   return Object.prototype.toString.call(thing) === "[object Set]";
 };
 
 /**
  * Given a list of lists, flatten it. Only flattens one level; does not
  * recursively flatten all levels.
  *
  * @param {Array<Array<Any>>} lists
  * @return {Array<Any>}
  */
-exports.flatten = function(lists) {
+exports.flatten = function (lists) {
   return Array.prototype.concat.apply([], lists);
 };
--- a/devtools/shared/apps/app-actor-front.js
+++ b/devtools/shared/apps/app-actor-front.js
@@ -189,27 +189,27 @@ function uploadPackageBulk(client, webap
       type: "stream",
       length: fileSize
     });
 
     request.on("bulk-send-ready", ({copyFrom}) => {
       NetUtil.asyncFetch({
         uri: NetUtil.newURI(packageFile),
         loadUsingSystemPrincipal: true
-      }, function(inputStream) {
-          let copying = copyFrom(inputStream);
-          copying.on("progress", (e, progress) => {
-            progressCallback(progress);
-          });
-          copying.then(() => {
-            console.log("Bulk upload done");
-            inputStream.close();
-            deferred.resolve(actor);
-          });
+      }, function (inputStream) {
+        let copying = copyFrom(inputStream);
+        copying.on("progress", (e, progress) => {
+          progressCallback(progress);
         });
+        copying.then(() => {
+          console.log("Bulk upload done");
+          inputStream.close();
+          deferred.resolve(actor);
+        });
+      });
     });
   }
 
   return deferred.promise;
 }
 
 function removeServerTemporaryFile(client, fileActor) {
   let request = {
@@ -229,17 +229,17 @@ function removeServerTemporaryFile(clien
 function installPackaged(client, webappsActor, packagePath, appId, progressCallback) {
   let deferred = promise.defer();
   let file = FileUtils.File(packagePath);
   let packagePromise;
   if (file.isDirectory()) {
     let tmpZipFile = FileUtils.getDir("TmpD", [], true);
     tmpZipFile.append("application.zip");
     tmpZipFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
-    packagePromise = zipDirectory(tmpZipFile, file)
+    packagePromise = zipDirectory(tmpZipFile, file);
   } else {
     packagePromise = promise.resolve(file);
   }
   packagePromise.then((zipFile) => {
     uploadPackage(client, webappsActor, zipFile, progressCallback)
         .then((fileActor) => {
           let request = {
             to: webappsActor,
@@ -304,34 +304,34 @@ function getTargetForApp(client, webapps
   if (existingTarget)
     return promise.resolve(existingTarget);
 
   let deferred = promise.defer();
   let request = {
     to: webappsActor,
     type: "getAppActor",
     manifestURL: manifestURL,
-  }
+  };
   client.request(request, (res) => {
     if (res.error) {
       deferred.reject(res.error);
     } else {
       let options = {
         form: res.actor,
         client: client,
         chrome: false
       };
 
       TargetFactory.forRemoteTab(options).then((target) => {
         target.isApp = true;
         appTargets.set(manifestURL, target);
         target.on("close", () => {
           appTargets.delete(manifestURL);
         });
-        deferred.resolve(target)
+        deferred.resolve(target);
       }, (error) => {
         deferred.reject(error);
       });
     }
   });
   return deferred.promise;
 }
 exports.getTargetForApp = getTargetForApp;
@@ -347,17 +347,17 @@ function reloadApp(client, webappsActor,
         type: "reload",
         options: {
           force: true
         },
         manifestURL: manifestURL
       };
       return client.request(request);
     }, () => {
-     throw new Error("Not running");
+      throw new Error("Not running");
     });
 }
 exports.reloadApp = reloadApp;
 
 function launchApp(client, webappsActor, manifestURL) {
   return client.request({
     to: webappsActor,
     type: "launch",
@@ -380,17 +380,17 @@ function getTarget(client, form) {
   let options = {
     form: form,
     client: client,
     chrome: false
   };
 
   TargetFactory.forRemoteTab(options).then((target) => {
     target.isApp = true;
-    deferred.resolve(target)
+    deferred.resolve(target);
   }, (error) => {
     deferred.reject(error);
   });
   return deferred.promise;
 }
 
 /**
  * `App` instances are client helpers to manage a given app
@@ -445,17 +445,17 @@ App.prototype = {
 
   reload: function () {
     return reloadApp(this.client, this.webappsActor,
                      this.manifest.manifestURL);
   },
 
   close: function () {
     return closeApp(this.client, this.webappsActor,
-                    this.manifest.manifestURL)
+                    this.manifest.manifestURL);
   },
 
   getIcon: function () {
     if (this.iconURL) {
       return promise.resolve(this.iconURL);
     }
 
     let deferred = promise.defer();
@@ -679,17 +679,17 @@ AppActorFront.prototype = {
     let { manifestURL } = message;
 
     // Reset the app object to get a fresh copy when we (re)install the app.
     if (type == "appInstall" && this._apps && this._apps.has(manifestURL)) {
       this._apps.delete(manifestURL);
     }
 
     this._getApp(manifestURL).then((app) => {
-      switch(type) {
+      switch (type) {
         case "appOpen":
           app.running = true;
           this._notifyListeners("appOpen", app);
           break;
         case "appClose":
           app.running = false;
           this._notifyListeners("appClose", app);
           break;
@@ -824,11 +824,11 @@ AppActorFront.prototype = {
                            manifest)
         .then(response => ({
           appId: response.appId,
           manifestURL: manifestURL
         }));
     };
     return this._install(request);
   }
-}
+};
 
 exports.AppActorFront = AppActorFront;
--- a/devtools/shared/apps/tests/debugger-protocol-helper.js
+++ b/devtools/shared/apps/tests/debugger-protocol-helper.js
@@ -112,17 +112,17 @@ addMessageListener("install", function (
     let zip = FileUtils.getDir("TmpD", ["b2g", appId], true, true);
     zip.append("application.zip");
     downloadURL(url, zip);
 
     let request = {type: "install", appId: appId};
     webappActorRequest(request, function (aResponse) {
       sendAsyncMessage("installed", aResponse);
     });
-  } catch(e) {
+  } catch (e) {
     dump("installTestApp exception: " + e + "\n");
   }
 });
 
 addMessageListener("getAppActor", function (aMessage) {
   let { manifestURL } = aMessage;
   let request = {type: "getAppActor", manifestURL: manifestURL};
   webappActorRequest(request, function (aResponse) {
@@ -147,17 +147,17 @@ addMessageListener("addFrame", function 
   }
   doc.documentElement.appendChild(frame);
   Frames.push(frame);
   sendAsyncMessage("frameAdded");
 });
 
 addMessageListener("tweak-app-object", function (aMessage) {
   let appId = aMessage.appId;
-  Cu.import('resource://gre/modules/Webapps.jsm');
+  Cu.import("resource://gre/modules/Webapps.jsm");
   let reg = DOMApplicationRegistry;
   if ("removable" in aMessage) {
     reg.webapps[appId].removable = aMessage.removable;
   }
   if ("sideloaded" in aMessage) {
     reg.webapps[appId].sideloaded = aMessage.sideloaded;
   }
 });
--- a/devtools/shared/apps/tests/unit/head_apps.js
+++ b/devtools/shared/apps/tests/unit/head_apps.js
@@ -60,32 +60,32 @@ function installTestApp(zipName, appId, 
     }
     if ("message" in aResponse) {
       do_throw("Error message: " + aResponse.message);
     }
     do_check_false("error" in aResponse);
 
     onDone();
   });
-};
+}
 
 function setup() {
   // We have to setup a profile, otherwise indexed db used by webapps
   // will throw random exception when trying to get profile folder
   do_get_profile();
 
   // The webapps dir isn't registered on b2g xpcshell tests,
   // we have to manually set it to the directory service.
   do_get_webappsdir();
 
   // We also need a valid nsIXulAppInfo service as Webapps.jsm is querying it
   Components.utils.import("resource://testing-common/AppInfo.jsm");
   updateAppInfo();
 
-  Components.utils.import('resource://gre/modules/Webapps.jsm');
+  Components.utils.import("resource://gre/modules/Webapps.jsm");
 
   // Enable launch/close method of the webapps actor
   let {WebappsActor} = require("devtools/server/actors/webapps");
   WebappsActor.prototype.supportsLaunch = true;
 }
 
 function do_get_webappsdir() {
   var webappsDir = Services.dirsvc.get("ProfD", Ci.nsILocalFile);
@@ -96,27 +96,27 @@ function do_get_webappsdir() {
   var coreAppsDir = Services.dirsvc.get("ProfD", Ci.nsILocalFile);
   coreAppsDir.append("test_coreapps");
   if (!coreAppsDir.exists())
     coreAppsDir.create(Ci.nsIFile.DIRECTORY_TYPE, parseInt("755", 8));
 
   // Register our own provider for the profile directory.
   // It will return our special docshell profile directory.
   var provider = {
-    getFile: function(prop, persistent) {
+    getFile: function (prop, persistent) {
       persistent.value = true;
       if (prop == "webappsDir") {
         return webappsDir.clone();
       }
       else if (prop == "coreAppsDir") {
         return coreAppsDir.clone();
       }
       throw Cr.NS_ERROR_FAILURE;
     },
-    QueryInterface: function(iid) {
+    QueryInterface: function (iid) {
       if (iid.equals(Ci.nsIDirectoryServiceProvider) ||
           iid.equals(Ci.nsISupports)) {
         return this;
       }
       throw Cr.NS_ERROR_NO_INTERFACE;
     }
   };
   Services.dirsvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider);
--- a/devtools/shared/apps/tests/unit/test_webappsActor.js
+++ b/devtools/shared/apps/tests/unit/test_webappsActor.js
@@ -110,17 +110,17 @@ add_test(function testCloseApp() {
     do_check_false("error" in aResponse);
     run_next_test();
   });
 });
 
 // The 128px icon is a single red pixel and the 64px one is a blue one
 // bug 899177: there is a bug with xhr and app:// and jar:// uris
 // that ends up forcing the content type to application/xml
-var red1px =  "data:application/xml;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4z8AAAAMBAQAY3Y2wAAAAAElFTkSuQmCC";
+var red1px = "data:application/xml;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4z8AAAAMBAQAY3Y2wAAAAAElFTkSuQmCC";
 var blue1px = "data:application/xml;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12MwZDgHAAFlAQBDpjhLAAAAAElFTkSuQmCC";
 
 add_test(function testGetIcon() {
   let manifestURL = APP_ORIGIN + "/manifest.webapp";
   let request = {
     type: "getIconAsDataURL",
     manifestURL: manifestURL
   };
--- a/devtools/shared/async-storage.js
+++ b/devtools/shared/async-storage.js
@@ -38,17 +38,17 @@
  * values into a single object. The properties of this object may not include
  * DOM elements, but they may include things like Blobs and typed arrays.
  *
  */
 const {Cc, Ci, Cu, Cr} = require("chrome");
 const {indexedDB} = require("sdk/indexed-db");
 const Promise = require("promise");
 
-module.exports = (function() {
+module.exports = (function () {
   "use strict";
 
   var DBNAME = "devtools-async-storage";
   var DBVERSION = 1;
   var STORENAME = "keyvaluepairs";
   var db = null;
 
   function withStore(type, onsuccess, onerror) {
@@ -130,17 +130,17 @@ module.exports = (function() {
   }
 
   function length() {
     return new Promise((resolve, reject) => {
       var req;
       withStore("readonly", (store) => {
         store.transaction.oncomplete = function onComplete() {
           resolve(req.result);
-        }
+        };
         req = store.count();
         req.onerror = function lengthOnError() {
           reject("Error in asyncStorage.length(): ", req.error.name);
         };
       }, reject);
     });
   }
 
--- a/devtools/shared/async-utils.js
+++ b/devtools/shared/async-utils.js
@@ -24,17 +24,17 @@ var Promise = require("promise");
  *
  * @param Function func
  *        The generator function that to wrap as an async function.
  * @return Function
  *         The async function.
  */
 exports.asyncOnce = function asyncOnce(func) {
   const promises = new WeakMap();
-  return function(...args) {
+  return function (...args) {
     let promise = promises.get(this);
     if (!promise) {
       promise = Task.spawn(func.apply(this, args));
       promises.set(this, promise);
     }
     return promise;
   };
 };
@@ -48,21 +48,21 @@ exports.asyncOnce = function asyncOnce(f
  *         The name of the event type to listen for
  * @param  Boolean useCapture
  *         Should we initiate the capture phase?
  * @return Promise
  *         The promise resolved with the event object when the event first
  *         happens
  */
 exports.listenOnce = function listenOnce(element, event, useCapture) {
-  return new Promise(function(resolve, reject) {
-    var onEvent = function(ev) {
+  return new Promise(function (resolve, reject) {
+    var onEvent = function (ev) {
       element.removeEventListener(event, onEvent, useCapture);
       resolve(ev);
-    }
+    };
     element.addEventListener(event, onEvent, useCapture);
   });
 };
 
 /**
  * Call a function that expects a callback as the last argument and returns a
  * promise for the result. This simplifies using callback APIs from tasks and
  * async functions.
--- a/devtools/shared/builtin-modules.js
+++ b/devtools/shared/builtin-modules.js
@@ -102,26 +102,26 @@ function defineLazyServiceGetter(aObject
  *        An object which acts on behalf of the module to be imported until
  *        the module has been imported.
  */
 function defineLazyModuleGetter(aObject, aName, aResource, aSymbol,
                                 aPreLambda, aPostLambda, aProxy)
 {
   let proxy = aProxy || {};
 
-  if (typeof(aPreLambda) === "function") {
+  if (typeof (aPreLambda) === "function") {
     aPreLambda.apply(proxy);
   }
 
   defineLazyGetter(aObject, aName, function XPCU_moduleLambda() {
     var temp = {};
     try {
       Cu.import(aResource, temp);
 
-      if (typeof(aPostLambda) === "function") {
+      if (typeof (aPostLambda) === "function") {
         aPostLambda.apply(proxy);
       }
     } catch (ex) {
       Cu.reportError("Failed to load module " + aResource + ".");
       throw ex;
     }
     return temp[aSymbol || aName];
   });
@@ -175,17 +175,17 @@ exports.modules = {
   ThreadSafeChromeUtils,
   HeapSnapshot,
 };
 
 defineLazyGetter(exports.modules, "Debugger", () => {
   // addDebuggerToGlobal only allows adding the Debugger object to a global. The
   // this object is not guaranteed to be a global (in particular on B2G, due to
   // compartment sharing), so add the Debugger object to a sandbox instead.
-  let sandbox = Cu.Sandbox(CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')());
+  let sandbox = Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")());
   Cu.evalInSandbox(
     "Components.utils.import('resource://gre/modules/jsdebugger.jsm');" +
     "addDebuggerToGlobal(this);",
     sandbox
   );
   return sandbox.Debugger;
 });
 
@@ -201,35 +201,35 @@ defineLazyGetter(exports.modules, "Timer
 defineLazyGetter(exports.modules, "xpcInspector", () => {
   return Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
 });
 
 defineLazyGetter(exports.modules, "indexedDB", () => {
   // On xpcshell, we can't instantiate indexedDB without crashing
   try {
     let sandbox
-      = Cu.Sandbox(CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')(),
+      = Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")(),
                    {wantGlobalProperties: ["indexedDB"]});
     return sandbox.indexedDB;
 
-  } catch(e) {
+  } catch (e) {
     return {};
   }
 });
 
 defineLazyGetter(exports.modules, "CSS", () => {
   let sandbox
-    = Cu.Sandbox(CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')(),
+    = Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")(),
                  {wantGlobalProperties: ["CSS"]});
   return sandbox.CSS;
 });
 
 defineLazyGetter(exports.modules, "URL", () => {
   let sandbox
-    = Cu.Sandbox(CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')(),
+    = Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")(),
                  {wantGlobalProperties: ["URL"]});
   return sandbox.URL;
 });
 
 // List of all custom globals exposed to devtools modules.
 // Changes here should be mirrored to devtools/.eslintrc.
 const globals = exports.globals = {
   isWorker: false,
--- a/devtools/shared/client/connection-manager.js
+++ b/devtools/shared/client/connection-manager.js
@@ -78,43 +78,43 @@ const REMOTE_TIMEOUT = "devtools.debugge
  *  . Connection.Events.HOST_CHANGED    Host has changed
  *  . Connection.Events.PORT_CHANGED    Port has changed
  *  . Connection.Events.NEW_LOG         A new log line is available
  *
  */
 
 var ConnectionManager = {
   _connections: new Set(),
-  createConnection: function(host, port) {
+  createConnection: function (host, port) {
     let c = new Connection(host, port);
     c.once("destroy", (event) => this.destroyConnection(c));
     this._connections.add(c);
     this.emit("new", c);
     return c;
   },
-  destroyConnection: function(connection) {
+  destroyConnection: function (connection) {
     if (this._connections.has(connection)) {
       this._connections.delete(connection);
       if (connection.status != Connection.Status.DESTROYED) {
         connection.destroy();
       }
     }
   },
   get connections() {
     return [...this._connections];
   },
   getFreeTCPPort: function () {
-    let serv = Cc['@mozilla.org/network/server-socket;1']
+    let serv = Cc["@mozilla.org/network/server-socket;1"]
                  .createInstance(Ci.nsIServerSocket);
     serv.init(-1, true, -1);
     let port = serv.port;
     serv.close();
     return port;
   },
-}
+};
 
 EventEmitter.decorate(ConnectionManager);
 
 var lastID = -1;
 
 function Connection(host, port) {
   EventEmitter.decorate(this);
   this.uid = ++lastID;
@@ -128,61 +128,61 @@ function Connection(host, port) {
 }
 
 Connection.Status = {
   CONNECTED: "connected",
   DISCONNECTED: "disconnected",
   CONNECTING: "connecting",
   DISCONNECTING: "disconnecting",
   DESTROYED: "destroyed",
-}
+};
 
 Connection.Events = {
   CONNECTED: Connection.Status.CONNECTED,
   DISCONNECTED: Connection.Status.DISCONNECTED,
   CONNECTING: Connection.Status.CONNECTING,
   DISCONNECTING: Connection.Status.DISCONNECTING,
   DESTROYED: Connection.Status.DESTROYED,
   TIMEOUT: "timeout",
   STATUS_CHANGED: "status-changed",
   HOST_CHANGED: "host-changed",
   PORT_CHANGED: "port-changed",
   NEW_LOG: "new_log"
-}
+};
 
 Connection.prototype = {
   logs: "",
-  log: function(str) {
+  log: function (str) {
     let d = new Date();
     let hours = ("0" + d.getHours()).slice(-2);
     let minutes = ("0" + d.getMinutes()).slice(-2);
     let seconds = ("0" + d.getSeconds()).slice(-2);
     let timestamp = [hours, minutes, seconds].join(":") + ": ";
     str = timestamp + str;
-    this.logs +=  "\n" + str;
+    this.logs += "\n" + str;
     this.emit(Connection.Events.NEW_LOG, str);
   },
 
   get client() {
-    return this._client
+    return this._client;
   },
 
   get host() {
-    return this._host
+    return this._host;
   },
 
   set host(value) {
     if (this._host && this._host == value)
       return;
     this._host = value;
     this.emit(Connection.Events.HOST_CHANGED);
   },
 
   get port() {
-    return this._port
+    return this._port;
   },
 
   set port(value) {
     if (this._port && this._port == value)
       return;
     this._port = value;
     this.emit(Connection.Events.PORT_CHANGED);
   },
@@ -241,32 +241,32 @@ Connection.prototype = {
   resetOptions() {
     this.keepConnecting = false;
     this.timeoutDelay = Services.prefs.getIntPref(REMOTE_TIMEOUT);
     this.encryption = false;
     this.authentication = null;
     this.advertisement = null;
   },
 
-  disconnect: function(force) {
+  disconnect: function (force) {
     if (this.status == Connection.Status.DESTROYED) {
       return;
     }
     clearTimeout(this._timeoutID);
     if (this.status == Connection.Status.CONNECTED ||
         this.status == Connection.Status.CONNECTING) {
       this.log("disconnecting");
       this._setStatus(Connection.Status.DISCONNECTING);
       if (this._client) {
         this._client.close();
       }
     }
   },
 
-  connect: function(transport) {
+  connect: function (transport) {
     if (this.status == Connection.Status.DESTROYED) {
       return;
     }
     if (!this._client) {
       this._customTransport = transport;
       if (this._customTransport) {
         this.log("connecting (custom transport)");
       } else {
@@ -280,28 +280,28 @@ Connection.prototype = {
       this._clientConnect();
     } else {
       let msg = "Can't connect. Client is not fully disconnected";
       this.log(msg);
       throw new Error(msg);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.log("killing connection");
     clearTimeout(this._timeoutID);
     this.keepConnecting = false;
     if (this._client) {
       this._client.close();
       this._client = null;
     }
     this._setStatus(Connection.Status.DESTROYED);
   },
 
-  _getTransport: Task.async(function*() {
+  _getTransport: Task.async(function* () {
     if (this._customTransport) {
       return this._customTransport;
     }
     if (!this.host) {
       return DebuggerServer.connectPipe();
     }
     let settings = this.socketSettings;
     let transport = yield DebuggerClient.socketConnect(settings);
@@ -327,28 +327,28 @@ Connection.prototype = {
       // It occurs when we connect agressively to the simulator,
       // and keep trying to open a socket to the server being started in
       // the simulator.
       this._onDisconnected();
     });
   },
 
   get status() {
-    return this._status
+    return this._status;
   },
 
-  _setStatus: function(value) {
+  _setStatus: function (value) {
     if (this._status && this._status == value)
       return;
     this._status = value;
     this.emit(value);
     this.emit(Connection.Events.STATUS_CHANGED, value);
   },
 
-  _onDisconnected: function() {
+  _onDisconnected: function () {
     this._client = null;
     this._customTransport = null;
 
     if (this._status == Connection.Status.CONNECTING && this.keepConnecting) {
       setTimeout(() => this._clientConnect(), 100);
       return;
     }
 
@@ -362,23 +362,23 @@ Connection.prototype = {
         this.log("connection error. Possible causes: USB port not connected, port not forwarded (adb forward), wrong host or port, remote debugging not enabled on the device.");
         break;
       default:
         this.log("disconnected");
     }
     this._setStatus(Connection.Status.DISCONNECTED);
   },
 
-  _onConnected: function() {
+  _onConnected: function () {
     this.log("connected");
     clearTimeout(this._timeoutID);
     this._setStatus(Connection.Status.CONNECTED);
   },
 
-  _onTimeout: function() {
+  _onTimeout: function () {
     this.log("connection timeout. Possible causes: didn't click on 'accept' (prompt).");
     this.emit(Connection.Events.TIMEOUT);
     this.disconnect();
   },
-}
+};
 
 exports.ConnectionManager = ConnectionManager;
 exports.Connection = Connection;
--- a/devtools/shared/client/main.js
+++ b/devtools/shared/client/main.js
@@ -85,17 +85,17 @@ function eventSource(aProto) {
       return;
     }
 
     if (!aListener) {
       this._listeners[aName] = [];
     }
     else {
       this._listeners[aName] =
-        this._listeners[aName].filter(function (l) { return l != aListener });
+        this._listeners[aName].filter(function (l) { return l != aListener; });
     }
   };
 
   /**
    * Returns the listeners for the specified event name. If none are defined it
    * initializes an empty list and returns that.
    *
    * @param aName string
@@ -129,17 +129,17 @@ function eventSource(aProto) {
     for (let listener of listeners) {
       try {
         listener.apply(null, arguments);
       } catch (e) {
         // Prevent a bad listener from interfering with the others.
         DevToolsUtils.reportException("notify event '" + name + "'", e);
       }
     }
-  }
+  };
 }
 
 /**
  * Set of protocol messages that affect thread state, and the
  * state the actor is in after each message.
  */
 const ThreadStateTypes = {
   "paused": "paused",
@@ -221,17 +221,17 @@ const DebuggerClient = exports.DebuggerC
    * As the first thing on the connection, expect a greeting packet from
    * the connection's root actor.
    */
   this.mainRoot = null;
   this.expectReply("root", (aPacket) => {
     this.mainRoot = new RootClient(this, aPacket);
     this.emit("connected", aPacket.applicationType, aPacket.traits);
   });
-}
+};
 
 /**
  * A declarative helper for defining methods that send requests to the server.
  *
  * @param aPacketSkeleton
  *        The form of the packet to send. Can specify fields to be filled from
  *        the parameters by using the |args| function.
  * @param telemetry
@@ -244,17 +244,17 @@ const DebuggerClient = exports.DebuggerC
  *        The function to call after the response is received. It is passed the
  *        response, and the return value is considered the new response that
  *        will be passed to the callback. The |this| context is the instance of
  *        the client object we are defining a method for.
  * @return Request
  *         The `Request` object that is a Promise object and resolves once
  *         we receive the response. (See request method for more details)
  */
-DebuggerClient.requester = function (aPacketSkeleton, config={}) {
+DebuggerClient.requester = function (aPacketSkeleton, config = {}) {
   let { telemetry, before, after } = config;
   return DevToolsUtils.makeInfallible(function (...args) {
     let histogram, startTime;
     if (telemetry) {
       let transportType = this._transport.onOutputStreamReady === undefined
         ? "LOCAL_"
         : "REMOTE_";
       let histogramId = "DEVTOOLS_DEBUGGER_RDP_"
@@ -314,17 +314,17 @@ DebuggerClient.Argument = function (aPos
 DebuggerClient.Argument.prototype.getArgument = function (aParams) {
   if (!(this.position in aParams)) {
     throw new Error("Bad index into params: " + this.position);
   }
   return aParams[this.position];
 };
 
 // Expose these to save callers the trouble of importing DebuggerSocket
-DebuggerClient.socketConnect = function(options) {
+DebuggerClient.socketConnect = function (options) {
   // Defined here instead of just copying the function to allow lazy-load
   return DebuggerSocket.connect(options);
 };
 DevToolsUtils.defineLazyGetter(DebuggerClient, "Authenticators", () => {
   return Authentication.Authenticators;
 });
 DevToolsUtils.defineLazyGetter(DebuggerClient, "AuthenticationResult", () => {
   return Authentication.AuthenticationResult;
@@ -388,17 +388,17 @@ DebuggerClient.prototype = {
       cleanup();
       if (aOnClosed) {
         aOnClosed();
       }
       return;
     }
 
     if (aOnClosed) {
-      this.addOneTimeListener('closed', function (aEvent) {
+      this.addOneTimeListener("closed", function (aEvent) {
         aOnClosed();
       });
     }
 
     // Call each client's `detach` method by calling
     // lastly registered ones first to give a chance
     // to detach child clients first.
     let clients = [...this._clients.values()];
@@ -561,17 +561,17 @@ DebuggerClient.prototype = {
    *        The actor ID for the thread to attach.
    * @param function aOnResponse
    *        Called with the response packet and a ThreadClient
    *        (which will be undefined on error).
    * @param object aOptions
    *        Configuration options.
    *        - useSourceMaps: whether to use source maps or not.
    */
-  attachThread: function (aThreadActor, aOnResponse = noop, aOptions={}) {
+  attachThread: function (aThreadActor, aOnResponse = noop, aOptions = {}) {
     if (this._clients.has(aThreadActor)) {
       let client = this._clients.get(aThreadActor);
       DevToolsUtils.executeSoon(() => aOnResponse({}, client));
       return promise.resolve([{}, client]);
     }
 
     let packet = {
       to: aThreadActor,
@@ -625,18 +625,18 @@ DebuggerClient.prototype = {
    * @param number aId
    *        The ID for the process to attach (returned by `listProcesses`).
    *        Connected to the main process if omitted, or is 0.
    */
   getProcess: function (aId) {
     let packet = {
       to: "root",
       type: "getProcess"
-    }
-    if (typeof(aId) == "number") {
+    };
+    if (typeof (aId) == "number") {
       packet.id = aId;
     }
     return this.request(packet);
   },
 
   /**
    * Release an object actor.
    *
@@ -820,17 +820,17 @@ DebuggerClient.prototype = {
    *             @param  output nsIAsyncOutputStream
    *                     The stream to copy to.
    *             @return Promise
    *                     The promise is resolved when copying completes or
    *                     rejected if any (unexpected) errors occur.
    *                     This object also emits "progress" events for each chunk
    *                     that is copied.  See stream-utils.js.
    */
-  startBulkRequest: function(request) {
+  startBulkRequest: function (request) {
     if (!this.traits.bulk) {
       throw Error("Server doesn't support bulk transfers");
     }
     if (!this.mainRoot) {
       throw Error("Have not yet received a hello packet from the server.");
     }
     if (!request.type) {
       throw Error("Bulk packet is missing the required 'type' field.");
@@ -1050,17 +1050,17 @@ DebuggerClient.prototype = {
    *          @param  output nsIAsyncOutputStream
    *                  The stream to copy to.
    *          @return Promise
    *                  The promise is resolved when copying completes or rejected
    *                  if any (unexpected) errors occur.
    *                  This object also emits "progress" events for each chunk
    *                  that is copied.  See stream-utils.js.
    */
-  onBulkPacket: function(packet) {
+  onBulkPacket: function (packet) {
     let { actor, type, length } = packet;
 
     if (!actor) {
       DevToolsUtils.reportException(
         "onBulkPacket",
         new Error("Server did not specify an actor, dropping bulk packet: " +
                   JSON.stringify(packet)));
       return;
@@ -1090,17 +1090,17 @@ DebuggerClient.prototype = {
    *        The status code that corresponds to the reason for closing
    *        the stream.
    */
   onClosed: function (aStatus) {
     this._closed = true;
     this.emit("closed");
 
     // Reject all pending and active requests
-    let reject = function(type, request, actor) {
+    let reject = function (type, request, actor) {
       // Server can send packets on its own and client only pass a callback
       // to expectReply, so that there is no request object.
       let msg;
       if (request.request) {
         msg = "'" + request.request.type + "' " + type + " request packet" +
               " to '" + actor + "' " +
               "can't be sent as the connection just closed.";
       } else {
@@ -1148,17 +1148,17 @@ DebuggerClient.prototype = {
       throw new Error("DebuggerServer.registerClient expects " +
                       "a client instance with an `actor` attribute.");
     }
     if (!Array.isArray(client.events)) {
       throw new Error("DebuggerServer.registerClient expects " +
                       "a client instance with an `events` attribute " +
                       "that is an array.");
     }
-    if (client.events.length > 0 && typeof(client.emit) != "function") {
+    if (client.events.length > 0 && typeof (client.emit) != "function") {
       throw new Error("DebuggerServer.registerClient expects " +
                       "a client instance with non-empty `events` array to" +
                       "have an `emit` function.");
     }
     if (this._clients.has(actorID)) {
       throw new Error("DebuggerServer.registerClient already registered " +
                       "a client for this actor.");
     }
@@ -1203,39 +1203,39 @@ DebuggerClient.prototype = {
     }
     return null;
   },
 
   /**
    * Currently attached addon.
    */
   activeAddon: null
-}
+};
 
 eventSource(DebuggerClient.prototype);
 
 function Request(request) {
   this.request = request;
 }
 
 Request.prototype = {
 
-  on: function(type, listener) {
+  on: function (type, listener) {
     events.on(this, type, listener);
   },
 
-  off: function(type, listener) {
+  off: function (type, listener) {
     events.off(this, type, listener);
   },
 
-  once: function(type, listener) {
+  once: function (type, listener) {
     events.once(this, type, listener);
   },
 
-  emit: function(type, ...args) {
+  emit: function (type, ...args) {
     events.emit(this, type, ...args);
   },
 
   get actor() { return this.request.to || this.request.actor; }
 
 };
 
 /**
@@ -1256,30 +1256,30 @@ function TabClient(aClient, aForm) {
   this.cacheDisabled = aForm.cacheDisabled;
   this.thread = null;
   this.request = this.client.request;
   this.traits = aForm.traits || {};
   this.events = ["workerListChanged"];
 }
 
 TabClient.prototype = {
-  get actor() { return this._actor },
+  get actor() { return this._actor; },
   get _transport() { return this.client._transport; },
 
   /**
    * Attach to a thread actor.
    *
    * @param object aOptions
    *        Configuration options.
    *        - useSourceMaps: whether to use source maps or not.
    * @param function aOnResponse
    *        Called with the response packet and a ThreadClient
    *        (which will be undefined on error).
    */
-  attachThread: function(aOptions={}, aOnResponse = noop) {
+  attachThread: function (aOptions = {}, aOnResponse = noop) {
     if (this.thread) {
       DevToolsUtils.executeSoon(() => aOnResponse({}, this.thread));
       return promise.resolve([{}, this.thread]);
     }
 
     let packet = {
       to: this._threadActor,
       type: "attach",
@@ -1326,17 +1326,17 @@ TabClient.prototype = {
 
   /**
    * Reload the page in this tab.
    *
    * @param [optional] object options
    *        An object with a `force` property indicating whether or not
    *        this reload should skip the cache
    */
-  reload: function(options = { force: false }) {
+  reload: function (options = { force: false }) {
     return this._reload(options);
   },
   _reload: DebuggerClient.requester({
     type: "reload",
     options: args(0)
   }, {
     telemetry: "RELOAD"
   }),
@@ -1436,17 +1436,17 @@ WorkerClient.prototype = {
       }
       this.client.unregisterClient(this);
       return aResponse;
     },
 
     telemetry: "WORKERDETACH"
   }),
 
-  attachThread: function(aOptions = {}, aOnResponse = noop) {
+  attachThread: function (aOptions = {}, aOnResponse = noop) {
     if (this.thread) {
       let response = [{
         type: "connected",
         threadActor: this.thread._actor,
         consoleActor: this.consoleActor,
       }, this.thread];
       DevToolsUtils.executeSoon(() => aOnResponse(response));
       return response;
@@ -1516,19 +1516,19 @@ AddonClient.prototype = {
    * Detach the client from the addon actor.
    *
    * @param function aOnResponse
    *        Called with the response packet.
    */
   detach: DebuggerClient.requester({
     type: "detach"
   }, {
-    after: function(aResponse) {
+    after: function (aResponse) {
       if (this._client.activeAddon === this) {
-        this._client.activeAddon = null
+        this._client.activeAddon = null;
       }
       this._client.unregisterClient(this);
       return aResponse;
     },
     telemetry: "ADDONDETACH"
   })
 };
 
@@ -1622,19 +1622,19 @@ RootClient.prototype = {
    */
   getTab: function (aFilter) {
     let packet = {
       to: this.actor,
       type: "getTab"
     };
 
     if (aFilter) {
-      if (typeof(aFilter.outerWindowID) == "number") {
+      if (typeof (aFilter.outerWindowID) == "number") {
         packet.outerWindowID = aFilter.outerWindowID;
-      } else if (typeof(aFilter.tabId) == "number") {
+      } else if (typeof (aFilter.tabId) == "number") {
         packet.tabId = aFilter.tabId;
       } else if ("tab" in aFilter) {
         let browser = aFilter.tab.linkedBrowser;
         if (browser.frameLoader.tabParent) {
           // Tabs in child process
           packet.tabId = browser.frameLoader.tabParent.tabId;
         } else {
           // Tabs in parent process
@@ -1654,25 +1654,25 @@ RootClient.prototype = {
   },
 
   /**
    * Description of protocol's actors and methods.
    *
    * @param function aOnResponse
    *        Called with the response packet.
    */
-   protocolDescription: DebuggerClient.requester({ type: "protocolDescription" },
+  protocolDescription: DebuggerClient.requester({ type: "protocolDescription" },
                                                  { telemetry: "PROTOCOLDESCRIPTION" }),
 
   /*
    * Methods constructed by DebuggerClient.requester require these forwards
    * on their 'this'.
    */
   get _transport() { return this._client._transport; },
-  get request()    { return this._client.request;    }
+  get request() { return this._client.request; }
 };
 
 /**
  * Creates a thread client for the remote debugging protocol server. This client
  * is a front to the thread actor created in the server side, hiding the
  * protocol details in a traditional JavaScript API.
  *
  * @param aClient DebuggerClient|TabClient
@@ -1818,27 +1818,27 @@ ThreadClient.prototype = {
   },
 
   /**
    * Immediately interrupt a running thread.
    *
    * @param function aOnResponse
    *        Called with the response packet.
    */
-  interrupt: function(aOnResponse) {
+  interrupt: function (aOnResponse) {
     return this._doInterrupt(null, aOnResponse);
   },
 
   /**
    * Pause execution right before the next JavaScript bytecode is executed.
    *
    * @param function aOnResponse
    *        Called with the response packet.
    */
-  breakOnNext: function(aOnResponse) {
+  breakOnNext: function (aOnResponse) {
     return this._doInterrupt("onNext", aOnResponse);
   },
 
   /**
    * Interrupt a running thread.
    *
    * @param function aOnResponse
    *        Called with the response packet.
@@ -1860,17 +1860,17 @@ ThreadClient.prototype = {
    */
   pauseOnExceptions: function (aPauseOnExceptions,
                                aIgnoreCaughtExceptions,
                                aOnResponse = noop) {
     this._pauseOnExceptions = aPauseOnExceptions;
     this._ignoreCaughtExceptions = aIgnoreCaughtExceptions;
 
     // Otherwise send the flag using a standard resume request.
-    if(!this.paused) {
+    if (!this.paused) {
       return this.interrupt(aResponse => {
         if (aResponse.error) {
           // Can't continue if pausing failed.
           aOnResponse(aResponse);
           return aResponse;
         }
         return this.resume(aOnResponse);
       });
@@ -2015,17 +2015,17 @@ ThreadClient.prototype = {
   }),
 
   /**
    * Clear the thread's source script cache. A scriptscleared event
    * will be sent.
    */
   _clearScripts: function () {
     if (Object.keys(this._scriptCache).length > 0) {
-      this._scriptCache = {}
+      this._scriptCache = {};
       this.emit("scriptscleared");
     }
   },
 
   /**
    * Request frames from the callstack for the current thread.
    *
    * @param aStart integer
@@ -2066,17 +2066,17 @@ ThreadClient.prototype = {
    * sent when the stack frame cache is updated.
    *
    * @param aTotal number
    *        The minimum number of stack frames to be included.
    * @param aCallback function
    *        Optional callback function called when frames have been loaded
    * @returns true if a framesadded notification should be expected.
    */
-  fillFrames: function (aTotal, aCallback=noop) {
+  fillFrames: function (aTotal, aCallback = noop) {
     this._assertPaused("fillFrames");
     if (this._frameCache.length >= aTotal) {
       return false;
     }
 
     let numFrames = this._frameCache.length;
 
     this.getFrames(numFrames, aTotal - numFrames, (aResponse) => {
@@ -2214,24 +2214,24 @@ ThreadClient.prototype = {
    * Handle thread state change by doing necessary cleanup and notifying all
    * registered listeners.
    */
   _onThreadState: function (aPacket) {
     this._state = ThreadStateTypes[aPacket.type];
     // The debugger UI may not be initialized yet so we want to keep
     // the packet around so it knows what to pause state to display
     // when it's initialized
-    this._lastPausePacket = aPacket.type === 'resumed' ? null : aPacket;
+    this._lastPausePacket = aPacket.type === "resumed" ? null : aPacket;
     this._clearFrames();
     this._clearPauseGrips();
     aPacket.type === ThreadStateTypes.detached && this._clearThreadGrips();
     this.client._eventsEnabled && this.emit(aPacket.type, aPacket);
   },
 
-  getLastPausePacket: function() {
+  getLastPausePacket: function () {
     return this._lastPausePacket;
   },
 
   /**
    * Return an EnvironmentClient instance for the given environment actor form.
    */
   environment: function (aForm) {
     return new EnvironmentClient(this.client, aForm);
@@ -2285,17 +2285,17 @@ function TraceClient(aClient, aActor) {
   this._activeTraces = new Set();
   this._waitingPackets = new Map();
   this._expectedPacket = 0;
   this.request = this._client.request;
   this.events = [];
 }
 
 TraceClient.prototype = {
-  get actor()   { return this._actor; },
+  get actor() { return this._actor; },
   get tracing() { return this._activeTraces.size > 0; },
 
   get _transport() { return this._client._transport; },
 
   /**
    * Detach from the trace actor.
    */
   detach: DebuggerClient.requester({
@@ -2380,17 +2380,17 @@ function ObjectClient(aClient, aGrip)
 {
   this._grip = aGrip;
   this._client = aClient;
   this.request = this._client.request;
 }
 exports.ObjectClient = ObjectClient;
 
 ObjectClient.prototype = {
-  get actor() { return this._grip.actor },
+  get actor() { return this._grip.actor; },
   get _transport() { return this._client._transport; },
 
   valid: true,
 
   get isFrozen() {
     return this._grip.frozen;
   },
   get isSealed() {
@@ -2473,17 +2473,17 @@ ObjectClient.prototype = {
    *          If true, the iterator will sort the properties by name
    *          before dispatching them.
    * @param aOnResponse function Called with the client instance.
    */
   enumProperties: DebuggerClient.requester({
     type: "enumProperties",
     options: args(0)
   }, {
-    after: function(aResponse) {
+    after: function (aResponse) {
       if (aResponse.iterator) {
         return { iterator: new PropertyIteratorClient(this._client, aResponse.iterator) };
       }
       return aResponse;
     },
     telemetry: "ENUMPROPERTIES"
   }),
 
@@ -2491,23 +2491,23 @@ ObjectClient.prototype = {
    * Request a PropertyIteratorClient instance to enumerate entries in a
    * Map/Set-like object.
    *
    * @param aOnResponse function Called with the request's response.
    */
   enumEntries: DebuggerClient.requester({
     type: "enumEntries"
   }, {
-    before: function(packet) {
+    before: function (packet) {
       if (!["Map", "WeakMap", "Set", "WeakSet"].includes(this._grip.class)) {
         throw new Error("enumEntries is only valid for Map/Set-like grips.");
       }
       return packet;
     },
-    after: function(response) {
+    after: function (response) {
       if (response.iterator) {
         return {
           iterator: new PropertyIteratorClient(this._client, response.iterator)
         };
       }
       return response;
     }
   }),
@@ -2565,61 +2565,61 @@ ObjectClient.prototype = {
   }),
 
   /**
    * Request the promises directly depending on the current promise.
    */
   getDependentPromises: DebuggerClient.requester({
     type: "dependentPromises"
   }, {
-    before: function(aPacket) {
+    before: function (aPacket) {
       if (this._grip.class !== "Promise") {
         throw new Error("getDependentPromises is only valid for promise " +
           "grips.");
       }
       return aPacket;
     }
   }),
 
   /**
    * Request the stack to the promise's allocation point.
    */
   getPromiseAllocationStack: DebuggerClient.requester({
     type: "allocationStack"
   }, {
-    before: function(aPacket) {
+    before: function (aPacket) {
       if (this._grip.class !== "Promise") {
         throw new Error("getAllocationStack is only valid for promise grips.");
       }
       return aPacket;
     }
   }),
 
   /**
    * Request the stack to the promise's fulfillment point.
    */
   getPromiseFulfillmentStack: DebuggerClient.requester({
     type: "fulfillmentStack"
   }, {
-    before: function(packet) {
+    before: function (packet) {
       if (this._grip.class !== "Promise") {
         throw new Error("getPromiseFulfillmentStack is only valid for " +
           "promise grips.");
       }
       return packet;
     }
   }),
 
   /**
    * Request the stack to the promise's rejection point.
    */
   getPromiseRejectionStack: DebuggerClient.requester({
     type: "rejectionStack"
   }, {
-    before: function(packet) {
+    before: function (packet) {
       if (this._grip.class !== "Promise") {
         throw new Error("getPromiseRejectionStack is only valid for " +
           "promise grips.");
       }
       return packet;
     }
   })
 };
@@ -2814,17 +2814,17 @@ SourceClient.prototype = {
   }),
 
   /**
    * Get Executable Lines from a source
    *
    * @param aCallback Function
    *        The callback function called when we receive the response from the server.
    */
-  getExecutableLines: function(cb = noop){
+  getExecutableLines: function (cb = noop) {
     let packet = {
       to: this._form.actor,
       type: "getExecutableLines"
     };
 
     return this._client.request(packet).then(res => {
       cb(res.lines);
       return res.lines;
@@ -2835,17 +2835,17 @@ SourceClient.prototype = {
    * Get a long string grip for this SourceClient's source.
    */
   source: function (aCallback = noop) {
     let packet = {
       to: this._form.actor,
       type: "source"
     };
     return this._client.request(packet).then(aResponse => {
-      return this._onSourceResponse(aResponse, aCallback)
+      return this._onSourceResponse(aResponse, aCallback);
     });
   },
 
   /**
    * Pretty print this source's text.
    */
   prettyPrint: function (aIndent, aCallback = noop) {
     const packet = {
@@ -3027,17 +3027,17 @@ BreakpointClient.prototype = {
     type: "delete"
   }, {
     telemetry: "DELETE"
   }),
 
   /**
    * Determines if this breakpoint has a condition
    */
-  hasCondition: function() {
+  hasCondition: function () {
     let root = this._client.mainRoot;
     // XXX bug 990137: We will remove support for client-side handling of
     // conditional breakpoints
     if (root.traits.conditionalBreakpoints) {
       return "condition" in this;
     } else {
       return "conditionalExpression" in this;
     }
@@ -3045,29 +3045,29 @@ BreakpointClient.prototype = {
 
   /**
    * Get the condition of this breakpoint. Currently we have to
    * support locally emulated conditional breakpoints until the
    * debugger servers are updated (see bug 990137). We used a
    * different property when moving it server-side to ensure that we
    * are testing the right code.
    */
-  getCondition: function() {
+  getCondition: function () {
     let root = this._client.mainRoot;
     if (root.traits.conditionalBreakpoints) {
       return this.condition;
     } else {
       return this.conditionalExpression;
     }
   },
 
   /**
    * Set the condition of this breakpoint
    */
-  setCondition: function(gThreadClient, aCondition) {
+  setCondition: function (gThreadClient, aCondition) {
     let root = this._client.mainRoot;
     let deferred = promise.defer();
 
     if (root.traits.conditionalBreakpoints) {
       let info = {
         line: this.location.line,
         column: this.location.column,
         condition: aCondition
--- a/devtools/shared/content-observer.js
+++ b/devtools/shared/content-observer.js
@@ -21,51 +21,51 @@ function ContentObserver(tabActor) {
 }
 
 module.exports.ContentObserver = ContentObserver;
 
 ContentObserver.prototype = {
   /**
    * Starts listening for the required observer messages.
    */
-  startListening: function() {
+  startListening: function () {
     Services.obs.addObserver(
       this._onContentGlobalCreated, "content-document-global-created", false);
     Services.obs.addObserver(
       this._onInnerWindowDestroyed, "inner-window-destroyed", false);
   },
 
   /**
    * Stops listening for the required observer messages.
    */
-  stopListening: function() {
+  stopListening: function () {
     Services.obs.removeObserver(
       this._onContentGlobalCreated, "content-document-global-created", false);
     Services.obs.removeObserver(
       this._onInnerWindowDestroyed, "inner-window-destroyed", false);
   },
 
   /**
    * Fired immediately after a web content document window has been set up.
    */
-  _onContentGlobalCreated: function(subject, topic, data) {
+  _onContentGlobalCreated: function (subject, topic, data) {
     if (subject == this._contentWindow) {
       events.emit(this, "global-created", subject);
     }
   },
 
   /**
    * Fired when an inner window is removed from the backward/forward cache.
    */
-  _onInnerWindowDestroyed: function(subject, topic, data) {
+  _onInnerWindowDestroyed: function (subject, topic, data) {
     let id = subject.QueryInterface(Ci.nsISupportsPRUint64).data;
     events.emit(this, "global-destroyed", id);
   }
 };
 
 // Utility functions.
 
-ContentObserver.GetInnerWindowID = function(window) {
+ContentObserver.GetInnerWindowID = function (window) {
   return window
     .QueryInterface(Ci.nsIInterfaceRequestor)
     .getInterface(Ci.nsIDOMWindowUtils)
     .currentInnerWindowID;
 };
--- a/devtools/shared/deprecated-sync-thenables.js
+++ b/devtools/shared/deprecated-sync-thenables.js
@@ -5,32 +5,32 @@
 /**
  * THIS MODULE IS DEPRECATED. IMPORT "Promise.jsm" INSTEAD.
  */
 
 "use strict";
 
 this.Promise = {};
 
-if (typeof(require) === "function") {
+if (typeof (require) === "function") {
   module.exports = Promise;
 } else {
   this.EXPORTED_SYMBOLS = ["Promise"];
 }
 
 function fulfilled(value) {
   return { then: function then(fulfill) { fulfill(value); } };
 }
 
 function rejected(reason) {
   return { then: function then(fulfill, reject) { reject(reason); } };
 }
 
 function isPromise(value) {
-  return value && typeof(value.then) === 'function';
+  return value && typeof (value.then) === "function";
 }
 
 function defer() {
   var observers = [];
   var result = null;
   var promise = {
     then: function then(onFulfill, onError) {
       var deferred = defer();
@@ -92,28 +92,28 @@ Promise.resolve = resolve;
 
 function reject(reason) {
   var deferred = defer();
   deferred.reject(reason);
   return deferred.promise;
 }
 Promise.reject = reject;
 
-var promised = (function() {
+var promised = (function () {
   var call = Function.call;
   var concat = Array.prototype.concat;
-  function execute(args) { return call.apply(call, args) }
+  function execute(args) { return call.apply(call, args); }
   function promisedConcat(promises, unknown) {
-    return promises.then(function(values) {
-      return resolve(unknown).then(function(value) {
+    return promises.then(function (values) {
+      return resolve(unknown).then(function (value) {
         return values.concat([ value ]);
       });
     });
   }
   return function promised(f) {
     return function promised() {
       return concat.apply([ f, this ], arguments).
         reduce(promisedConcat, resolve([])).
         then(execute);
     };
-  }
+  };
 })();
 Promise.all = promised(Array);
--- a/devtools/shared/discovery/discovery.js
+++ b/devtools/shared/discovery/discovery.js
@@ -75,66 +75,66 @@ function log(msg) {
  *        The port to listen on for incoming UDP multicast packets.
  */
 function Transport(port) {
   EventEmitter.decorate(this);
   try {
     this.socket = new UDPSocket(port, false, Services.scriptSecurityManager.getSystemPrincipal());
     this.socket.joinMulticast(ADDRESS);
     this.socket.asyncListen(this);
-  } catch(e) {
+  } catch (e) {
     log("Failed to start new socket: " + e);
   }
 }
 
 Transport.prototype = {
 
   /**
    * Send a object to some UDP port.
    * @param object object
    *        Object which is the message to send
    * @param port integer
    *        UDP port to send the message to
    */
-  send: function(object, port) {
+  send: function (object, port) {
     if (logging) {
       log("Send to " + port + ":\n" + JSON.stringify(object, null, 2));
     }
     let message = JSON.stringify(object);
     let rawMessage = converter.convertToByteArray(message);
     try {
       this.socket.send(ADDRESS, port, rawMessage, rawMessage.length);
-    } catch(e) {
+    } catch (e) {
       log("Failed to send message: " + e);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     this.socket.close();
   },
 
   // nsIUDPSocketListener
 
-  onPacketReceived: function(socket, message) {
+  onPacketReceived: function (socket, message) {
     let messageData = message.data;
     let object = JSON.parse(messageData);
     object.from = message.fromAddr.address;
     let port = message.fromAddr.port;
     if (port == this.socket.port) {
       log("Ignoring looped message");
       return;
     }
     if (logging) {
       log("Recv on " + this.socket.port + ":\n" +
           JSON.stringify(object, null, 2));
     }
     this.emit("message", object);
   },
 
-  onStopListening: function() {}
+  onStopListening: function () {}
 
 };
 
 /**
  * Manages the local device's name.  The name can be generated in serveral
  * platform-specific ways (see |_generate|).  The aim is for each device on the
  * same local network to have a unique name.  If the Settings API is available,
  * the name is saved there to persist across reboots.
@@ -149,17 +149,17 @@ function LocalDevice() {
   this._get(); // Trigger |_get| to load name eagerly
 }
 
 LocalDevice.SETTING = "devtools.discovery.device";
 LocalDevice.UNKNOWN = "unknown";
 
 LocalDevice.prototype = {
 
-  _get: function() {
+  _get: function () {
     if (!this._settings) {
       // Without Settings API, just generate a name and stop, since the value
       // can't be persisted.
       this._generate();
       return;
     }
     // Initial read of setting value
     this._settings.createLock().get(LocalDevice.SETTING, {
@@ -175,17 +175,17 @@ LocalDevice.prototype = {
       handleError: () => log("Failed to get device name setting")
     });
   },
 
   /**
    * Generate a new device name from various platform-specific properties.
    * Triggers the |name| setter to persist if needed.
    */
-  _generate: function() {
+  _generate: function () {
     if (Services.appinfo.widgetToolkit == "gonk") {
       // For Firefox OS devices, create one from the device name plus a little
       // randomness.  The goal is just to distinguish devices in an office
       // environment where many people may have the same device model for
       // testing purposes (which would otherwise all report the same name).
       let name = libcutils.property_get("ro.product.device");
       // Pick a random number from [0, 2^32)
       let randomID = Math.floor(Math.random() * Math.pow(2, 32));
@@ -199,17 +199,17 @@ LocalDevice.prototype = {
     } else {
       this.name = sysInfo.get("host");
     }
   },
 
   /**
    * Observe any changes that might be made via the Settings app
    */
-  observe: function(subject, topic, data) {
+  observe: function (subject, topic, data) {
     if (topic !== "mozsettings-changed") {
       return;
     }
     if ("wrappedJSObject" in subject) {
       subject = subject.wrappedJSObject;
     }
     if (subject.key !== LocalDevice.SETTING) {
       return;
@@ -268,124 +268,124 @@ Discovery.prototype = {
 
   /**
    * Add a new service offered by this device.
    * @param service string
    *        Name of the service
    * @param info object
    *        Arbitrary data about the service to announce to scanning devices
    */
-  addService: function(service, info) {
+  addService: function (service, info) {
     log("ADDING LOCAL SERVICE");
     if (Object.keys(this.localServices).length === 0) {
       this._startListeningForScan();
     }
     this.localServices[service] = info;
   },
 
   /**
    * Remove a service offered by this device.
    * @param service string
    *        Name of the service
    */
-  removeService: function(service) {
+  removeService: function (service) {
     delete this.localServices[service];
     if (Object.keys(this.localServices).length === 0) {
       this._stopListeningForScan();
     }
   },
 
   /**
    * Scan for service updates from other devices.
    */
-  scan: function() {
+  scan: function () {
     this._startListeningForUpdate();
     this._waitForReplies();
     // TODO Bug 1027457: Use timer to debounce
     this._sendStatusTo(SCAN_PORT);
   },
 
   /**
    * Get a list of all remote devices currently offering some service.:w
    */
-  getRemoteDevices: function() {
+  getRemoteDevices: function () {
     let devices = new Set();
     for (let service in this.remoteServices) {
       for (let device in this.remoteServices[service]) {
         devices.add(device);
       }
     }
     return [...devices];
   },
 
   /**
    * Get a list of all remote devices currently offering a particular service.
    */
-  getRemoteDevicesWithService: function(service) {
+  getRemoteDevicesWithService: function (service) {
     let devicesWithService = this.remoteServices[service] || {};
     return Object.keys(devicesWithService);
   },
 
   /**
    * Get service info (any details registered by the remote device) for a given
    * service on a device.
    */
-  getRemoteService: function(service, device) {
+  getRemoteService: function (service, device) {
     let devicesWithService = this.remoteServices[service] || {};
     return devicesWithService[device];
   },
 
-  _waitForReplies: function() {
+  _waitForReplies: function () {
     clearTimeout(this._expectingReplies.timer);
     this._expectingReplies.from = new Set(this.getRemoteDevices());
     this._expectingReplies.timer =
       setTimeout(this._purgeMissingDevices, this.replyTimeout);
   },
 
   get Transport() {
     return this._factories.Transport;
   },
 
-  _startListeningForScan: function() {
+  _startListeningForScan: function () {
     if (this._transports.scan) {
       return; // Already listening
     }
     log("LISTEN FOR SCAN");
     this._transports.scan = new this.Transport(SCAN_PORT);
     this._transports.scan.on("message", this._onRemoteScan);
   },
 
-  _stopListeningForScan: function() {
+  _stopListeningForScan: function () {
     if (!this._transports.scan) {
       return; // Not listening
     }
     this._transports.scan.off("message", this._onRemoteScan);
     this._transports.scan.destroy();
     this._transports.scan = null;
   },
 
-  _startListeningForUpdate: function() {
+  _startListeningForUpdate: function () {
     if (this._transports.update) {
       return; // Already listening
     }
     log("LISTEN FOR UPDATE");
     this._transports.update = new this.Transport(UPDATE_PORT);
     this._transports.update.on("message", this._onRemoteUpdate);
   },
 
-  _stopListeningForUpdate: function() {
+  _stopListeningForUpdate: function () {
     if (!this._transports.update) {
       return; // Not listening
     }
     this._transports.update.off("message", this._onRemoteUpdate);
     this._transports.update.destroy();
     this._transports.update = null;
   },
 
-  observe: function(subject, topic, data) {
+  observe: function (subject, topic, data) {
     if (topic !== "network-active-changed") {
       return;
     }
     let activeNetworkInfo = subject;
     if (!activeNetworkInfo) {
       log("No active network info");
       return;
     }
@@ -393,17 +393,17 @@ Discovery.prototype = {
     log("Active network changed to: " + activeNetworkInfo.type);
     // UDP sockets go down when the device goes offline, so we'll restart them
     // when the active network goes back to WiFi.
     if (activeNetworkInfo.type === Ci.nsINetworkInfo.NETWORK_TYPE_WIFI) {
       this._restartListening();
     }
   },
 
-  _restartListening: function() {
+  _restartListening: function () {
     if (this._transports.scan) {
       this._stopListeningForScan();
       this._startListeningForScan();
     }
     if (this._transports.update) {
       this._stopListeningForUpdate();
       this._startListeningForUpdate();
     }
@@ -418,31 +418,31 @@ Discovery.prototype = {
       return this._transports.scan;
     }
     if (this._transports.update) {
       return this._transports.update;
     }
     return null;
   },
 
-  _sendStatusTo: function(port) {
+  _sendStatusTo: function (port) {
     let status = {
       device: this.device.name,
       services: this.localServices
     };
     this._outgoingTransport.send(status, port);
   },
 
-  _onRemoteScan: function() {
+  _onRemoteScan: function () {
     // Send my own status in response
     log("GOT SCAN REQUEST");
     this._sendStatusTo(UPDATE_PORT);
   },
 
-  _onRemoteUpdate: function(e, update) {
+  _onRemoteUpdate: function (e, update) {
     log("GOT REMOTE UPDATE");
 
     let remoteDevice = update.device;
     let remoteHost = update.from;
 
     // Record the reply as received so it won't be purged as missing
     this._expectingReplies.from.delete(remoteDevice);
 
@@ -488,17 +488,17 @@ Discovery.prototype = {
       if (!newDevice &&
           JSON.stringify(oldDeviceInfo) != JSON.stringify(newDeviceInfo)) {
         log("UPDATED " + service + ", DEVICE " + remoteDevice);
         this.emit(service + "-device-updated", remoteDevice, newDeviceInfo);
       }
     }
   },
 
-  _purgeMissingDevices: function() {
+  _purgeMissingDevices: function () {
     log("PURGING MISSING DEVICES");
     for (let service in this.remoteServices) {
       let devicesWithService = this.remoteServices[service];
       for (let remoteDevice in devicesWithService) {
         // If we're still expecting a reply from a remote device when it's time
         // to purge, then the service is removed.
         if (this._expectingReplies.from.has(remoteDevice)) {
           delete devicesWithService[remoteDevice];
--- a/devtools/shared/discovery/tests/unit/test_discovery.js
+++ b/devtools/shared/discovery/tests/unit/test_discovery.js
@@ -33,58 +33,58 @@ var gTestTransports = {};
 function TestTransport(port) {
   EventEmitter.decorate(this);
   this.port = port;
   gTestTransports[this.port] = this;
 }
 
 TestTransport.prototype = {
 
-  send: function(object, port) {
+  send: function (object, port) {
     log("Send to " + port + ":\n" + JSON.stringify(object, null, 2));
     if (!gTestTransports[port]) {
       log("No listener on port " + port);
       return;
     }
     let message = JSON.stringify(object);
     gTestTransports[port].onPacketReceived(null, message);
   },
 
-  destroy: function() {
+  destroy: function () {
     delete gTestTransports[this.port];
   },
 
   // nsIUDPSocketListener
 
-  onPacketReceived: function(socket, message) {
+  onPacketReceived: function (socket, message) {
     let object = JSON.parse(message);
     object.from = "localhost";
     log("Recv on " + this.port + ":\n" + JSON.stringify(object, null, 2));
     this.emit("message", object);
   },
 
-  onStopListening: function(socket, status) {}
+  onStopListening: function (socket, status) {}
 
 };
 
 // Use TestTransport instead of the usual Transport
 discovery._factories.Transport = TestTransport;
 
 // Ignore name generation on b2g and force a fixed value
 Object.defineProperty(discovery.device, "name", {
-  get: function() {
+  get: function () {
     return "test-device";
   }
 });
 
 function run_test() {
   run_next_test();
 }
 
-add_task(function*() {
+add_task(function* () {
   // At startup, no remote devices are known
   deepEqual(discovery.getRemoteDevicesWithService("devtools"), []);
   deepEqual(discovery.getRemoteDevicesWithService("penguins"), []);
 
   discovery.scan();
 
   // No services added yet, still empty
   deepEqual(discovery.getRemoteDevicesWithService("devtools"), []);
@@ -107,17 +107,17 @@ add_task(function*() {
 
   deepEqual(discovery.getRemoteDevicesWithService("devtools"), ["test-device"]);
   deepEqual(discovery.getRemoteDevicesWithService("penguins"), ["test-device"]);
   deepEqual(discovery.getRemoteDevices(), ["test-device"]);
 
   deepEqual(discovery.getRemoteService("devtools", "test-device"),
             { port: 1234, host: "localhost" });
   deepEqual(discovery.getRemoteService("penguins", "test-device"),
-            { tux: true,  host: "localhost" });
+            { tux: true, host: "localhost" });
 
   discovery.removeService("devtools");
   yield scanForChange("devtools", "removed");
 
   discovery.addService("penguins", { tux: false });
   yield scanForChange("penguins", "updated");
 
   // Scan again, but nothing should be removed
--- a/devtools/shared/event-emitter.js
+++ b/devtools/shared/event-emitter.js
@@ -5,229 +5,229 @@
 /**
  * EventEmitter.
  */
 
 (function (factory) { // Module boilerplate
   if (this.module && module.id.indexOf("event-emitter") >= 0) { // require
     factory.call(this, require, exports, module);
   } else { // Cu.import
-      this.isWorker = false;
+    this.isWorker = false;
       // Bug 1259045: This module is loaded early in firefox startup as a JSM,
       // but it doesn't depends on any real module. We can save a few cycles
       // and bytes by not loading Loader.jsm.
-      let require = function(module) {
-        const Cu = Components.utils;
-        switch(module) {
-          case "promise":
-            return Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
-          case "Services":
-            return Cu.import("resource://gre/modules/Services.jsm", {}).Services;
-          case "chrome":
-            return {
-              Cu,
-              components: Components
-            };
-        }
-        return null;
+    let require = function (module) {
+      const Cu = Components.utils;
+      switch (module) {
+        case "promise":
+          return Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
+        case "Services":
+          return Cu.import("resource://gre/modules/Services.jsm", {}).Services;
+        case "chrome":
+          return {
+            Cu,
+            components: Components
+          };
       }
-      factory.call(this, require, this, { exports: this });
-      this.EXPORTED_SYMBOLS = ["EventEmitter"];
+      return null;
+    };
+    factory.call(this, require, this, { exports: this });
+    this.EXPORTED_SYMBOLS = ["EventEmitter"];
   }
 }).call(this, function (require, exports, module) {
 
-this.EventEmitter = function EventEmitter() {};
-module.exports = EventEmitter;
+  this.EventEmitter = function EventEmitter() {};
+  module.exports = EventEmitter;
 
 // See comment in JSM module boilerplate when adding a new dependency.
-const { Cu, components } = require("chrome");
-const Services = require("Services");
-const promise = require("promise");
-var loggingEnabled = true;
+  const { Cu, components } = require("chrome");
+  const Services = require("Services");
+  const promise = require("promise");
+  var loggingEnabled = true;
 
-if (!isWorker) {
-  loggingEnabled = Services.prefs.getBoolPref("devtools.dump.emit");
-  Services.prefs.addObserver("devtools.dump.emit", {
-    observe: () => {
-      loggingEnabled = Services.prefs.getBoolPref("devtools.dump.emit");
-    }
-  }, false);
-}
+  if (!isWorker) {
+    loggingEnabled = Services.prefs.getBoolPref("devtools.dump.emit");
+    Services.prefs.addObserver("devtools.dump.emit", {
+      observe: () => {
+        loggingEnabled = Services.prefs.getBoolPref("devtools.dump.emit");
+      }
+    }, false);
+  }
 
 /**
  * Decorate an object with event emitter functionality.
  *
  * @param Object aObjectToDecorate
  *        Bind all public methods of EventEmitter to
  *        the aObjectToDecorate object.
  */
-EventEmitter.decorate = function EventEmitter_decorate (aObjectToDecorate) {
-  let emitter = new EventEmitter();
-  aObjectToDecorate.on = emitter.on.bind(emitter);
-  aObjectToDecorate.off = emitter.off.bind(emitter);
-  aObjectToDecorate.once = emitter.once.bind(emitter);
-  aObjectToDecorate.emit = emitter.emit.bind(emitter);
-};
+  EventEmitter.decorate = function EventEmitter_decorate(aObjectToDecorate) {
+    let emitter = new EventEmitter();
+    aObjectToDecorate.on = emitter.on.bind(emitter);
+    aObjectToDecorate.off = emitter.off.bind(emitter);
+    aObjectToDecorate.once = emitter.once.bind(emitter);
+    aObjectToDecorate.emit = emitter.emit.bind(emitter);
+  };
 
-EventEmitter.prototype = {
+  EventEmitter.prototype = {
   /**
    * Connect a listener.
    *
    * @param string aEvent
    *        The event name to which we're connecting.
    * @param function aListener
    *        Called when the event is fired.
    */
-  on: function EventEmitter_on(aEvent, aListener) {
-    if (!this._eventEmitterListeners)
-      this._eventEmitterListeners = new Map();
-    if (!this._eventEmitterListeners.has(aEvent)) {
-      this._eventEmitterListeners.set(aEvent, []);
-    }
-    this._eventEmitterListeners.get(aEvent).push(aListener);
-  },
+    on: function EventEmitter_on(aEvent, aListener) {
+      if (!this._eventEmitterListeners)
+        this._eventEmitterListeners = new Map();
+      if (!this._eventEmitterListeners.has(aEvent)) {
+        this._eventEmitterListeners.set(aEvent, []);
+      }
+      this._eventEmitterListeners.get(aEvent).push(aListener);
+    },
 
   /**
    * Listen for the next time an event is fired.
    *
    * @param string aEvent
    *        The event name to which we're connecting.
    * @param function aListener
    *        (Optional) Called when the event is fired. Will be called at most
    *        one time.
    * @return promise
    *        A promise which is resolved when the event next happens. The
    *        resolution value of the promise is the first event argument. If
    *        you need access to second or subsequent event arguments (it's rare
    *        that this is needed) then use aListener
    */
-  once: function EventEmitter_once(aEvent, aListener) {
-    let deferred = promise.defer();
+    once: function EventEmitter_once(aEvent, aListener) {
+      let deferred = promise.defer();
 
-    let handler = (aEvent, aFirstArg, ...aRest) => {
-      this.off(aEvent, handler);
-      if (aListener) {
-        aListener.apply(null, [aEvent, aFirstArg, ...aRest]);
-      }
-      deferred.resolve(aFirstArg);
-    };
+      let handler = (aEvent, aFirstArg, ...aRest) => {
+        this.off(aEvent, handler);
+        if (aListener) {
+          aListener.apply(null, [aEvent, aFirstArg, ...aRest]);
+        }
+        deferred.resolve(aFirstArg);
+      };
 
-    handler._originalListener = aListener;
-    this.on(aEvent, handler);
+      handler._originalListener = aListener;
+      this.on(aEvent, handler);
 
-    return deferred.promise;
-  },
+      return deferred.promise;
+    },
 
   /**
    * Remove a previously-registered event listener.  Works for events
    * registered with either on or once.
    *
    * @param string aEvent
    *        The event name whose listener we're disconnecting.
    * @param function aListener
    *        The listener to remove.
    */
-  off: function EventEmitter_off(aEvent, aListener) {
-    if (!this._eventEmitterListeners)
-      return;
-    let listeners = this._eventEmitterListeners.get(aEvent);
-    if (listeners) {
-      this._eventEmitterListeners.set(aEvent, listeners.filter(l => {
-        return l !== aListener && l._originalListener !== aListener;
-      }));
-    }
-  },
+    off: function EventEmitter_off(aEvent, aListener) {
+      if (!this._eventEmitterListeners)
+        return;
+      let listeners = this._eventEmitterListeners.get(aEvent);
+      if (listeners) {
+        this._eventEmitterListeners.set(aEvent, listeners.filter(l => {
+          return l !== aListener && l._originalListener !== aListener;
+        }));
+      }
+    },
 
   /**
    * Emit an event.  All arguments to this method will
    * be sent to listener functions.
    */
-  emit: function EventEmitter_emit(aEvent) {
-    this.logEvent(aEvent, arguments);
+    emit: function EventEmitter_emit(aEvent) {
+      this.logEvent(aEvent, arguments);
 
-    if (!this._eventEmitterListeners || !this._eventEmitterListeners.has(aEvent)) {
-      return;
-    }
+      if (!this._eventEmitterListeners || !this._eventEmitterListeners.has(aEvent)) {
+        return;
+      }
 
-    let originalListeners = this._eventEmitterListeners.get(aEvent);
-    for (let listener of this._eventEmitterListeners.get(aEvent)) {
+      let originalListeners = this._eventEmitterListeners.get(aEvent);
+      for (let listener of this._eventEmitterListeners.get(aEvent)) {
       // If the object was destroyed during event emission, stop
       // emitting.
-      if (!this._eventEmitterListeners) {
-        break;
-      }
+        if (!this._eventEmitterListeners) {
+          break;
+        }
 
       // If listeners were removed during emission, make sure the
       // event handler we're going to fire wasn't removed.
-      if (originalListeners === this._eventEmitterListeners.get(aEvent) ||
+        if (originalListeners === this._eventEmitterListeners.get(aEvent) ||
           this._eventEmitterListeners.get(aEvent).some(l => l === listener)) {
-        try {
-          listener.apply(null, arguments);
-        }
+          try {
+            listener.apply(null, arguments);
+          }
         catch (ex) {
           // Prevent a bad listener from interfering with the others.
           let msg = ex + ": " + ex.stack;
           console.error(msg);
           dump(msg + "\n");
         }
+        }
       }
-    }
-  },
+    },
 
-  logEvent: function(aEvent, args) {
-    if (!loggingEnabled) {
-      return;
-    }
+    logEvent: function (aEvent, args) {
+      if (!loggingEnabled) {
+        return;
+      }
 
-    let caller, func, path;
-    if (!isWorker) {
-      caller = components.stack.caller.caller;
-      func = caller.name;
-      let file = caller.filename;
-      if (file.includes(" -> ")) {
-        file = caller.filename.split(/ -> /)[1];
+      let caller, func, path;
+      if (!isWorker) {
+        caller = components.stack.caller.caller;
+        func = caller.name;
+        let file = caller.filename;
+        if (file.includes(" -> ")) {
+          file = caller.filename.split(/ -> /)[1];
+        }
+        path = file + ":" + caller.lineNumber;
       }
-      path = file + ":" + caller.lineNumber;
-    }
 
-    let argOut = "(";
-    if (args.length === 1) {
-      argOut += aEvent;
-    }
+      let argOut = "(";
+      if (args.length === 1) {
+        argOut += aEvent;
+      }
 
-    let out = "EMITTING: ";
+      let out = "EMITTING: ";
 
     // We need this try / catch to prevent any dead object errors.
-    try {
-      for (let i = 1; i < args.length; i++) {
-        if (i === 1) {
-          argOut = "(" + aEvent + ", ";
-        } else {
-          argOut += ", ";
-        }
+      try {
+        for (let i = 1; i < args.length; i++) {
+          if (i === 1) {
+            argOut = "(" + aEvent + ", ";
+          } else {
+            argOut += ", ";
+          }
 
-        let arg = args[i];
-        argOut += arg;
+          let arg = args[i];
+          argOut += arg;
 
-        if (arg && arg.nodeName) {
-          argOut += " (" + arg.nodeName;
-          if (arg.id) {
-            argOut += "#" + arg.id;
+          if (arg && arg.nodeName) {
+            argOut += " (" + arg.nodeName;
+            if (arg.id) {
+              argOut += "#" + arg.id;
+            }
+            if (arg.className) {
+              argOut += "." + arg.className;
+            }
+            argOut += ")";
           }
-          if (arg.className) {
-            argOut += "." + arg.className;
-          }
-          argOut += ")";
         }
-      }
-    } catch(e) {
+      } catch (e) {
       // Object is dead so the toolbox is most likely shutting down,
       // do nothing.
-    }
+      }
 
-    argOut += ")";
-    out += "emit" + argOut + " from " + func + "() -> " + path + "\n";
+      argOut += ")";
+      out += "emit" + argOut + " from " + func + "() -> " + path + "\n";
 
-    dump(out);
-  },
-};
+      dump(out);
+    },
+  };
 
 });
--- a/devtools/shared/event-parsers.js
+++ b/devtools/shared/event-parsers.js
@@ -12,17 +12,17 @@ const {Cc, Ci, Cu} = require("chrome");
 loader.lazyGetter(this, "eventListenerService", () => {
   return Cc["@mozilla.org/eventlistenerservice;1"]
            .getService(Ci.nsIEventListenerService);
 });
 
 var parsers = [
   {
     id: "jQuery events",
-    getListeners: function(node) {
+    getListeners: function (node) {
       let global = node.ownerGlobal.wrappedJSObject;
       let hasJQuery = global.jQuery && global.jQuery.fn && global.jQuery.fn.jquery;
 
       if (!hasJQuery) {
         return;
       }
 
       let jQuery = global.jQuery;
@@ -79,23 +79,23 @@ var parsers = [
         }
       }
 
       return handlers;
     }
   },
   {
     id: "jQuery live events",
-    hasListeners: function(node) {
+    hasListeners: function (node) {
       return jQueryLiveGetListeners(node, true);
     },
-    getListeners: function(node) {
+    getListeners: function (node) {
       return jQueryLiveGetListeners(node, false);
     },
-    normalizeHandler: function(handlerDO) {
+    normalizeHandler: function (handlerDO) {
       let paths = [
         [".event.proxy/", ".event.proxy/", "*"],
         [".proxy/", "*"]
       ];
 
       let name = handlerDO.displayName;
 
       if (!name) {
@@ -131,34 +131,34 @@ var parsers = [
         }
       }
 
       return handlerDO;
     }
   },
   {
     id: "DOM events",
-    hasListeners: function(node) {
+    hasListeners: function (node) {
       let listeners;
 
       if (node.nodeName.toLowerCase() === "html") {
         listeners = eventListenerService.getListenerInfoFor(node.ownerGlobal) || [];
       } else {
         listeners = eventListenerService.getListenerInfoFor(node) || [];
       }
 
       for (let listener of listeners) {
         if (listener.listenerObject && listener.type) {
           return true;
         }
       }
 
       return false;
     },
-    getListeners: function(node) {
+    getListeners: function (node) {
       let handlers = [];
       let listeners = eventListenerService.getListenerInfoFor(node);
 
       // The Node actor's getEventListenerInfo knows that when an html tag has
       // been passed we need the window object so we don't need to account for
       // event hoisting here as we did in hasListeners.
 
       for (let listenerObj of listeners) {
@@ -218,17 +218,17 @@ function jQueryLiveGetListeners(node, bo
 
         if (!selector || !node.ownerDocument) {
           continue;
         }
 
         let matches;
         try {
           matches = node.matches && node.matches(selector);
-        } catch(e) {
+        } catch (e) {
           // Invalid selector, do nothing.
         }
 
         if (boolOnEventFound && matches) {
           return true;
         }
 
         if (!matches) {
@@ -326,17 +326,17 @@ EventParsers.prototype = {
    *       type: "click",
    *       origin: "http://www.mozilla.com",
    *       searchString: 'onclick="doSomething()"',
    *       DOM0: true,
    *       capturing: true
    *     }
    *   }
    */
-  registerEventParser: function(parserObj) {
+  registerEventParser: function (parserObj) {
     let parserId = parserObj.id;
 
     if (!parserId) {
       throw new Error("Cannot register new event parser with id " + parserId);
     }
     if (this._eventParsers.has(parserId)) {
       throw new Error("Duplicate event parser id " + parserId);
     }
@@ -349,21 +349,21 @@ EventParsers.prototype = {
   },
 
   /**
    * Removes parser that matches a given parserId.
    *
    * @param {String} parserId
    *        id of the event parser to unregister.
    */
-  unregisterEventParser: function(parserId) {
+  unregisterEventParser: function (parserId) {
     this._eventParsers.delete(parserId);
   },
 
   /**
    * Tidy up parsers.
    */
-  destroy: function() {
+  destroy: function () {
     for (let [id] of this._eventParsers) {
       this.unregisterEventParser(id, true);
     }
   }
 };
--- a/devtools/shared/heapsnapshot/CensusUtils.js
+++ b/devtools/shared/heapsnapshot/CensusUtils.js
@@ -1,22 +1,22 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const { flatten } = require("resource://devtools/shared/ThreadSafeDevToolsUtils.js");
 
-/*** Visitor ****************************************************************/
+/** * Visitor ****************************************************************/
 
 /**
  * A Visitor visits each node and edge of a census report tree as the census
  * report is being traversed by `walk`.
  */
-function Visitor() { };
+function Visitor() { }
 exports.Visitor = Visitor;
 
 /**
  * The `enter` method is called when a new sub-report is entered in traversal.
  *
  * @param {Object} breakdown
  *        The breakdown for the sub-report that is being entered by traversal.
  *
@@ -53,19 +53,19 @@ Visitor.prototype.exit = function (break
  *
  * @param {Object} report
  *        The report generated by a breakdown by "count".
  *
  * @param {any|null} edge
  *        The edge leading to this count report. The edge is null if we are
  *        entering the root report.
  */
-Visitor.prototype.count = function (breakdown, report, edge) { }
+Visitor.prototype.count = function (breakdown, report, edge) { };
 
-/*** getReportEdges *********************************************************/
+/** * getReportEdges *********************************************************/
 
 const EDGES = Object.create(null);
 
 EDGES.count = function (breakdown, report) {
   return [];
 };
 
 EDGES.bucket = function (breakdown, report) {
@@ -88,17 +88,17 @@ EDGES.objectClass = function (breakdown,
   }));
 };
 
 EDGES.coarseType = function (breakdown, report) {
   return [
     { edge: "objects", referent: report.objects, breakdown: breakdown.objects },
     { edge: "scripts", referent: report.scripts, breakdown: breakdown.scripts },
     { edge: "strings", referent: report.strings, breakdown: breakdown.strings },
-    { edge: "other",   referent: report.other,   breakdown: breakdown.other   },
+    { edge: "other", referent: report.other, breakdown: breakdown.other },
   ];
 };
 
 EDGES.allocationStack = function (breakdown, report) {
   const edges = [];
   report.forEach((value, key) => {
     edges.push({
       edge: key,
@@ -127,31 +127,31 @@ EDGES.filename = function (breakdown, re
  * @param {Object} report
  *        The census report.
  */
 function getReportEdges(breakdown, report) {
   return EDGES[breakdown.by](breakdown, report);
 }
 exports.getReportEdges = getReportEdges;
 
-/*** walk *******************************************************************/
+/** * walk *******************************************************************/
 
 function recursiveWalk(breakdown, edge, report, visitor) {
   if (breakdown.by === "count") {
     visitor.enter(breakdown, report, edge);
     visitor.count(breakdown, report, edge);
     visitor.exit(breakdown, report, edge);
   } else {
     visitor.enter(breakdown, report, edge);
     for (let { edge, referent, breakdown: subBreakdown } of getReportEdges(breakdown, report)) {
       recursiveWalk(subBreakdown, edge, referent, visitor);
     }
     visitor.exit(breakdown, report, edge);
   }
-};
+}
 
 /**
  * Walk the given `report` that was generated by taking a census with the
  * specified `breakdown`.
  *
  * @param {Object} breakdown
  *        The census breakdown.
  *
@@ -161,17 +161,17 @@ function recursiveWalk(breakdown, edge, 
  * @param {Visitor} visitor
  *        The Visitor instance to call into while traversing.
  */
 function walk(breakdown, report, visitor) {
   recursiveWalk(breakdown, null, report, visitor);
 }
 exports.walk = walk;
 
-/*** diff *******************************************************************/
+/** * diff *******************************************************************/
 
 /**
  * Return true if the object is a Map, false otherwise. Works with Map objects
  * from other globals, unlike `instanceof`.
  *
  * @returns {Boolean}
  */
 function isMap(obj) {
@@ -360,17 +360,17 @@ DiffVisitor.prototype.results = function
  *            - {Number} basisTotalBytes: the total number of bytes in the start
  *                                        census.
  *            - {Number} basisTotalCount: the total count in the start census.
  */
 function diff(breakdown, startCensus, endCensus) {
   const visitor = new DiffVisitor(endCensus);
   walk(breakdown, startCensus, visitor);
   return visitor.results();
-};
+}
 exports.diff = diff;
 
 /**
  * Creates a hash map mapping node IDs to its parent node.
  *
  * @param {CensusTreeNode} node
  * @param {Object<number, TreeNode>} aggregator
  *
@@ -394,17 +394,17 @@ const BUCKET = Object.freeze({ by: "buck
 
 /**
  * Convert a breakdown whose leaves are { by: "count" } to an identical
  * breakdown, except with { by: "bucket" } leaves.
  *
  * @param {Object} breakdown
  * @returns {Object}
  */
-exports.countToBucketBreakdown = function(breakdown) {
+exports.countToBucketBreakdown = function (breakdown) {
   if (typeof breakdown !== "object" || !breakdown) {
     return breakdown;
   }
 
   if (breakdown.by === "count") {
     return BUCKET;
   }
 
@@ -431,59 +431,59 @@ function GetLeavesVisitor(targetIndices)
   this._leaves = [];
 }
 
 GetLeavesVisitor.prototype = Object.create(Visitor.prototype);
 
 /**
  * @overrides Visitor.prototype.enter
  */
-GetLeavesVisitor.prototype.enter = function(breakdown, report, edge) {
+GetLeavesVisitor.prototype.enter = function (breakdown, report, edge) {
   this._index++;
   if (this._targetIndices.has(this._index)) {
     this._leaves.push(report);
   }
 };
 
 /**
  * Get the accumulated report leaves after traversal.
  */
-GetLeavesVisitor.prototype.leaves = function() {
+GetLeavesVisitor.prototype.leaves = function () {
   if (this._index === -1) {
     throw new Error("Attempt to call `leaves` before traversing report!");
   }
   return this._leaves;
 };
 
 /**
  * Given a set of indices of leaves in a pre-order depth-first traversal of the
  * given census report, return the leaves.
  *
  * @param {Set<Number>} indices
  * @param {Object} breakdown
  * @param {Object} report
  *
  * @returns {Array<Object>}
  */
-exports.getReportLeaves = function(indices, breakdown, report) {
+exports.getReportLeaves = function (indices, breakdown, report) {
   const visitor = new GetLeavesVisitor(indices);
   walk(breakdown, report, visitor);
   return visitor.leaves();
 };
 
 /**
  * Get a list of the individual node IDs that belong to the census report leaves
  * of the given indices.
  *
  * @param {Set<Number>} indices
  * @param {Object} breakdown
  * @param {HeapSnapshot} snapshot
  *
  * @returns {Array<NodeId>}
  */
-exports.getCensusIndividuals = function(indices, countBreakdown, snapshot) {
+exports.getCensusIndividuals = function (indices, countBreakdown, snapshot) {
   const bucketBreakdown = exports.countToBucketBreakdown(countBreakdown);
   const bucketReport = snapshot.takeCensus({ breakdown: bucketBreakdown });
   const buckets = exports.getReportLeaves(indices,
                                           bucketBreakdown,
                                           bucketReport);
   return flatten(buckets);
 };
--- a/devtools/shared/heapsnapshot/HeapAnalysesClient.js
+++ b/devtools/shared/heapsnapshot/HeapAnalysesClient.js
@@ -72,17 +72,17 @@ HeapAnalysesClient.prototype.deleteHeapS
  * @return {Number?}
  *        The unix timestamp of the creation time of the snapshot, or null if
  *        snapshot does not exist.
  */
 HeapAnalysesClient.prototype.getCreationTime = function (snapshotFilePath) {
   return this._worker.performTask("getCreationTime", snapshotFilePath);
 };
 
-/*** Censuses *****************************************************************/
+/** * Censuses *****************************************************************/
 
 /**
  * Ask the worker to perform a census analysis on the heap snapshot with the
  * given path. The heap snapshot at the given path must have already been read
  * into memory by the worker (see `readHeapSnapshot`).
  *
  * @param {String} snapshotFilePath
  *
@@ -111,17 +111,17 @@ HeapAnalysesClient.prototype.getCreation
  *            CensusTreeNode generated by the given census breakdown if
  *            `asTreeNode` is true.
  *          - parentMap:
  *            The result of calling CensusUtils.createParentMap on the generated
  *            report. Only exists if asTreeNode or asInvertedTreeNode are set.
  */
 HeapAnalysesClient.prototype.takeCensus = function (snapshotFilePath,
                                                     censusOptions,
-                                                    requestOptions={}) {
+                                                    requestOptions = {}) {
   return this._worker.performTask("takeCensus", {
     snapshotFilePath,
     censusOptions,
     requestOptions,
   });
 };
 
 /**
@@ -144,17 +144,17 @@ HeapAnalysesClient.prototype.takeCensus 
  * @returns {Promise<Object>}
  *          A promise of an object with the following properties:
  *          - {Array<DominatorTreeNode>} nodes: An array of `DominatorTreeNode`s
  *            with their shortest paths attached, and without any dominator tree
  *            child/parent information attached. The results are sorted by
  *            retained size.
  *
  */
-HeapAnalysesClient.prototype.getCensusIndividuals = function(opts) {
+HeapAnalysesClient.prototype.getCensusIndividuals = function (opts) {
   return this._worker.performTask("getCensusIndividuals", opts);
 };
 
 /**
  * Request that the worker take a census on the heap snapshots with the given
  * paths and then return the difference between them. Both heap snapshots must
  * have already been read into memory by the worker (see `readHeapSnapshot`).
  *
@@ -197,17 +197,17 @@ HeapAnalysesClient.prototype.takeCensusD
   return this._worker.performTask("takeCensusDiff", {
     firstSnapshotFilePath,
     secondSnapshotFilePath,
     censusOptions,
     requestOptions
   });
 };
 
-/*** Dominator Trees **********************************************************/
+/** * Dominator Trees **********************************************************/
 
 /**
  * Compute the dominator tree of the heap snapshot loaded from the given file
  * path. Returns the id of the computed dominator tree.
  *
  * @param {String} snapshotFilePath
  *
  * @returns {Promise<DominatorTreeId>}
--- a/devtools/shared/heapsnapshot/HeapAnalysesWorker.js
+++ b/devtools/shared/heapsnapshot/HeapAnalysesWorker.js
@@ -1,12 +1,12 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-/*global ThreadSafeChromeUtils*/
+/* global ThreadSafeChromeUtils*/
 
 // This is a worker which reads offline heap snapshots into memory and performs
 // heavyweight analyses on them without blocking the main thread. A
 // HeapAnalysesWorker is owned and communicated with by a HeapAnalysesClient
 // instance. See HeapAnalysesClient.js.
 
 "use strict";
 
--- a/devtools/shared/heapsnapshot/census-tree-node.js
+++ b/devtools/shared/heapsnapshot/census-tree-node.js
@@ -464,33 +464,33 @@ CensusTreeNode.prototype = null;
  * @param {CensusTreeNode} node2
  *
  * @returns {Number}
  *          A number suitable for using with Array.prototype.sort.
  */
 function compareByTotal(node1, node2) {
   return Math.abs(node2.totalBytes) - Math.abs(node1.totalBytes)
       || Math.abs(node2.totalCount) - Math.abs(node1.totalCount)
-      || Math.abs(node2.bytes)      - Math.abs(node1.bytes)
-      || Math.abs(node2.count)      - Math.abs(node1.count);
+      || Math.abs(node2.bytes) - Math.abs(node1.bytes)
+      || Math.abs(node2.count) - Math.abs(node1.count);
 }
 
 /**
  * Compare the given nodes by their `bytes` properties, and breaking ties with
  * the `count`, `totalBytes`, and `totalCount` properties (in that order).
  *
  * @param {CensusTreeNode} node1
  * @param {CensusTreeNode} node2
  *
  * @returns {Number}
  *          A number suitable for using with Array.prototype.sort.
  */
 function compareBySelf(node1, node2) {
-  return Math.abs(node2.bytes)      - Math.abs(node1.bytes)
-      || Math.abs(node2.count)      - Math.abs(node1.count)
+  return Math.abs(node2.bytes) - Math.abs(node1.bytes)
+      || Math.abs(node2.count) - Math.abs(node1.count)
       || Math.abs(node2.totalBytes) - Math.abs(node1.totalBytes)
       || Math.abs(node2.totalCount) - Math.abs(node1.totalCount);
 }
 
 /**
  * Given a parent cache value from a tree we are building and a child node from
  * a tree we are basing the new tree off of, if we already have a corresponding
  * node in the parent's children cache, merge this node's counts with
@@ -643,17 +643,17 @@ function filter(tree, predicate) {
   }
 
   filtered.node.count = tree.count;
   filtered.node.totalCount = tree.totalCount;
   filtered.node.bytes = tree.bytes;
   filtered.node.totalBytes = tree.totalBytes;
 
   return filtered.node;
-};
+}
 
 /**
  * Given a filter string, return a predicate function that takes a node and
  * returns true iff the node matches the filter.
  *
  * @param {String} filterString
  * @returns {Function}
  */
--- a/devtools/shared/heapsnapshot/tests/unit/Census.jsm
+++ b/devtools/shared/heapsnapshot/tests/unit/Census.jsm
@@ -28,17 +28,17 @@ this.Census = (function () {
   //   subject.
   //
   // - check(value): Check |value|, a leaf in the subject.
   //
   // Walker methods are expected to simply throw if a node we visit doesn't look
   // right.
   Census.walkCensus = (subject, name, walker) => walk(subject, name, walker, 0);
   function walk(subject, name, walker, count) {
-    if (typeof subject === 'object') {
+    if (typeof subject === "object") {
       dumpn(name);
       for (let prop in subject) {
         count = walk(subject[prop],
                      name + "[" + uneval(prop) + "]",
                      walker.enter(prop),
                      count);
       }
       walker.done();
@@ -83,17 +83,17 @@ this.Census = (function () {
   // - missing(prop, value): Called when the subject is missing a property named
   //   |prop| which is present in the basis with value |value|.
   //
   // - extra(prop): Called when the subject has a property named |prop|, but the
   //   basis has no such property. This should return a walker that can check
   //   the subject's value.
   function makeBasisChecker({compare, missing, extra}) {
     return function makeWalker(basis) {
-      if (typeof basis === 'object') {
+      if (typeof basis === "object") {
         var unvisited = new Set(Object.getOwnPropertyNames(basis));
         return {
           enter: prop => {
             unvisited.delete(prop);
             if (prop in basis) {
               return makeWalker(basis[prop]);
             } else {
               return extra(prop);
@@ -119,17 +119,17 @@ this.Census = (function () {
 
   function extraProp(prop) {
     throw new Error("Census mismatch: subject has property not present in basis: " + prop);
   }
 
   // Return a walker that checks that the subject census has counts all equal to
   // |basis|.
   Census.assertAllEqual = makeBasisChecker({
-    compare: (a, b) => { if (a !== b) throw new Error("Census mismatch: expected " + a + " got " + b)},
+    compare: (a, b) => { if (a !== b) throw new Error("Census mismatch: expected " + a + " got " + b);},
     missing: missingProp,
     extra: extraProp
   });
 
   function ok(val) {
     if (!val) {
       throw new Error("Census mismatch: expected truthy, got " + val);
     }
@@ -154,12 +154,12 @@ this.Census = (function () {
   // Return a walker that checks that the subject census has within |fudge|
   // items of each category of the count in |basis|.
   Census.assertAllWithin = function (fudge, basis) {
     return makeBasisChecker({
       compare: (subject, basis) => ok(Math.abs(subject - basis) <= fudge),
       missing: missingProp,
       extra: () => Census.walkAnything
     })(basis);
-  }
+  };
 
   return Census;
 }());
--- a/devtools/shared/heapsnapshot/tests/unit/head_heapsnapshot.js
+++ b/devtools/shared/heapsnapshot/tests/unit/head_heapsnapshot.js
@@ -90,17 +90,17 @@ function assertThrowsValue(f, val, msg) 
     fullmsg += " - " + msg;
   throw new Error(fullmsg);
 }
 
 /**
  * Returns the full path of the file with the specified name in a
  * platform-independent and URL-like form.
  */
-function getFilePath(aName, aAllowMissing=false, aUsePlatformPathSeparator=false)
+function getFilePath(aName, aAllowMissing = false, aUsePlatformPathSeparator = false)
 {
   let file = do_get_file(aName, aAllowMissing);
   let path = Services.io.newFileURI(file).spec;
   let filePrePath = "file://";
   if ("nsILocalFileWin" in Ci &&
       file instanceof Ci.nsILocalFileWin) {
     filePrePath += "/";
   }
@@ -142,17 +142,17 @@ function readHeapSnapshot(filePath) {
  *        the Debugger's debuggees. If null, serialize the whole heap graph.
  *
  * @param {String} fileName
  *        The file name to save the heap snapshot's core dump file to, within
  *        the current directory.
  *
  * @returns Census
  */
-function saveHeapSnapshotAndTakeCensus(dbg=null, censusOptions=undefined) {
+function saveHeapSnapshotAndTakeCensus(dbg = null, censusOptions = undefined) {
   const snapshotOptions = dbg ? { debugger: dbg } : { runtime: true };
   const filePath = saveNewHeapSnapshot(snapshotOptions);
   const snapshot = readHeapSnapshot(filePath);
 
   equal(typeof snapshot.takeCensus, "function", "snapshot should have a takeCensus method");
 
   return snapshot.takeCensus(censusOptions);
 }
@@ -206,31 +206,31 @@ function savedFrameReplacer(key, val) {
  *        The census report.
  *
  * @param {Object} expected
  *        The expected CensusTreeNode result.
  *
  * @param {Object} options
  *        The options to pass through to `censusReportToCensusTreeNode`.
  */
-function compareCensusViewData (breakdown, report, expected, options) {
+function compareCensusViewData(breakdown, report, expected, options) {
   dumpn("Generating CensusTreeNode from report:");
   dumpn("breakdown: " + JSON.stringify(breakdown, null, 4));
   dumpn("report: " + JSON.stringify(report, null, 4));
   dumpn("expected: " + JSON.stringify(expected, savedFrameReplacer, 4));
 
   const actual = censusReportToCensusTreeNode(breakdown, report, options);
   dumpn("actual: " + JSON.stringify(actual, savedFrameReplacer, 4));
 
   assertStructurallyEquivalent(actual, expected);
 }
 
 // Deep structural equivalence that can handle Map objects in addition to plain
 // objects.
-function assertStructurallyEquivalent(actual, expected, path="root") {
+function assertStructurallyEquivalent(actual, expected, path = "root") {
   if (actual === expected) {
     equal(actual, expected, "actual and expected are the same");
     return;
   }
 
   equal(typeof actual, typeof expected, `${path}: typeof should be the same`);
 
   if (actual && typeof actual === "object") {
--- a/devtools/shared/heapsnapshot/tests/unit/test_DominatorTreeNode_insert_03.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_DominatorTreeNode_insert_03.js
@@ -105,13 +105,13 @@ const expected = {
       shallowSize: 1,
       retainedSize: 1,
       parentId: 666,
       moreChildrenAvailable: true,
       children: undefined
     }
   ],
   moreChildrenAvailable: false
-}
+};
 
 function run_test() {
   assertDominatorTreeNodeInsertion(tree, path, newChildren, moreChildrenAvailable, expected);
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_04.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_04.js
@@ -25,17 +25,17 @@ add_task(function* test() {
   // Create one allocationMarker with tracking turned off,
   // so it will have no associated stack.
   g.f();
 
   dbg.memory.allocationSamplingProbability = 1;
 
   for (let [func, n] of [ [g.f, 20],
                           [g.g, 10],
-                          [g.h,  5] ]) {
+                          [g.h, 5] ]) {
     for (let i = 0; i < n; i++) {
       dbg.memory.trackingAllocationSites = true;
       // All allocations of allocationMarker occur with this line as the oldest
       // stack frame.
       func();
       dbg.memory.trackingAllocationSites = false;
     }
   }
@@ -45,23 +45,23 @@ add_task(function* test() {
   const snapshotFilePath = saveNewHeapSnapshot({ debugger: dbg });
   yield client.readHeapSnapshot(snapshotFilePath);
   ok(true, "Should have read the heap snapshot");
 
   // Run a census broken down by class name -> allocation stack so we can grab
   // only the AllocationMarker objects we have complete control over.
 
   const { report } = yield client.takeCensus(snapshotFilePath, {
-    breakdown: { by: 'objectClass',
-                 then: { by: 'allocationStack',
-                         then: { by: 'count',
+    breakdown: { by: "objectClass",
+                 then: { by: "allocationStack",
+                         then: { by: "count",
                                  bytes: true,
                                  count: true
                                },
-                         noStack: { by: 'count',
+                         noStack: { by: "count",
                                     bytes: true,
                                     count: true
                                   }
                        }
                }
   });
 
   // Test the generated report.
@@ -69,43 +69,43 @@ add_task(function* test() {
   ok(report, "Should get a report");
 
   const map = report.AllocationMarker;
   ok(map, "Should get AllocationMarkers in the report.");
   // From a module with a different global, and therefore a different Map
   // constructor, so we can't use instanceof.
   equal(map.__proto__.constructor.name, "Map");
 
-  equal(map.size, 4, "Should have 4 allocation stacks (including the lack of a stack)")
+  equal(map.size, 4, "Should have 4 allocation stacks (including the lack of a stack)");
 
   // Gather the stacks we are expecting to appear as keys, and
   // check that there are no unexpected keys.
   let stacks = {};
 
   map.forEach((v, k) => {
-    if (k === 'noStack') {
+    if (k === "noStack") {
       // No need to save this key.
-    } else if (k.functionDisplayName === 'f' &&
-               k.parent.functionDisplayName === 'test') {
+    } else if (k.functionDisplayName === "f" &&
+               k.parent.functionDisplayName === "test") {
       stacks.f = k;
-    } else if (k.functionDisplayName === 'g' &&
-               k.parent.functionDisplayName === 'test') {
+    } else if (k.functionDisplayName === "g" &&
+               k.parent.functionDisplayName === "test") {
       stacks.g = k;
-    } else if (k.functionDisplayName === 'h' &&
-               k.parent.functionDisplayName === 'test') {
+    } else if (k.functionDisplayName === "h" &&
+               k.parent.functionDisplayName === "test") {
       stacks.h = k;
     } else {
-      dumpn("Unexpected allocation stack:")
+      dumpn("Unexpected allocation stack:");
       k.toString().split(/\n/g).forEach(s => dumpn(s));
       ok(false);
     }
   });
 
-  ok(map.get('noStack'));
-  equal(map.get('noStack').count, 1);
+  ok(map.get("noStack"));
+  equal(map.get("noStack").count, 1);
 
   ok(stacks.f);
   ok(map.get(stacks.f));
   equal(map.get(stacks.f).count, 20);
 
   ok(stacks.g);
   ok(map.get(stacks.g));
   equal(map.get(stacks.g).count, 10);
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_01.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_01.js
@@ -3,26 +3,26 @@
 
 // HeapSnapshot.prototype.takeCensus returns a value of an appropriate
 // shape. Ported from js/src/jit-tests/debug/Memory-takeCensus-01.js
 
 function run_test() {
   var dbg = new Debugger;
 
   function checkProperties(census) {
-    equal(typeof census, 'object');
+    equal(typeof census, "object");
     for (prop of Object.getOwnPropertyNames(census)) {
       var desc = Object.getOwnPropertyDescriptor(census, prop);
       equal(desc.enumerable, true);
       equal(desc.configurable, true);
       equal(desc.writable, true);
-      if (typeof desc.value === 'object')
+      if (typeof desc.value === "object")
         checkProperties(desc.value);
       else
-        equal(typeof desc.value, 'number');
+        equal(typeof desc.value, "number");
     }
   }
 
   checkProperties(saveHeapSnapshotAndTakeCensus(dbg));
 
   var g = newGlobal();
   dbg.addDebuggee(g);
   checkProperties(saveHeapSnapshotAndTakeCensus(dbg));
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_02.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_02.js
@@ -32,26 +32,26 @@ function run_test() {
     return g;
   }
 
   // Allocate a large number of various types of objects, and check that census
   // finds them.
   var g = newGlobalWithDefs();
   dbg.addDebuggee(g);
 
-  g.eval('var objs = times(100, () => ({}));');
-  g.eval('var rxs  = times(200, () => /foo/);');
-  g.eval('var ars  = times(400, () => []);');
-  g.eval('var fns  = times(800, () => () => {});');
+  g.eval("var objs = times(100, () => ({}));");
+  g.eval("var rxs  = times(200, () => /foo/);");
+  g.eval("var ars  = times(400, () => []);");
+  g.eval("var fns  = times(800, () => () => {});");
 
-  var census1 =  dbg.memory.takeCensus(dbg);
+  var census1 = dbg.memory.takeCensus(dbg);
   Census.walkCensus(census1, "census1",
                     Census.assertAllNotLessThan(
-                      { 'objects':
-                        { 'Object':   { count: 100 },
-                          'RegExp':   { count: 200 },
-                          'Array':    { count: 400 },
-                          'Function': { count: 800 }
+                      { "objects":
+                        { "Object":   { count: 100 },
+                          "RegExp":   { count: 200 },
+                          "Array":    { count: 400 },
+                          "Function": { count: 800 }
                         }
                       }));
 
   do_test_finished();
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_06.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_06.js
@@ -8,118 +8,118 @@
 function run_test() {
   var Pattern = Match.Pattern;
 
   var g = newGlobal();
   var dbg = new Debugger(g);
 
   Pattern({ count: Pattern.NATURAL,
             bytes: Pattern.NATURAL })
-    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count' } }));
+    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count" } }));
 
-  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count', count: false, bytes: false } });
-  equal('count' in census, false);
-  equal('bytes' in census, false);
+  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count", count: false, bytes: false } });
+  equal("count" in census, false);
+  equal("bytes" in census, false);
 
-  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count', count: true,  bytes: false } });
-  equal('count' in census, true);
-  equal('bytes' in census, false);
+  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count", count: true, bytes: false } });
+  equal("count" in census, true);
+  equal("bytes" in census, false);
 
-  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count', count: false, bytes: true } });
-  equal('count' in census, false);
-  equal('bytes' in census, true);
+  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count", count: false, bytes: true } });
+  equal("count" in census, false);
+  equal("bytes" in census, true);
 
-  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count', count: true,  bytes: true } });
-  equal('count' in census, true);
-  equal('bytes' in census, true);
+  census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count", count: true, bytes: true } });
+  equal("count" in census, true);
+  equal("bytes" in census, true);
 
 
   // Pattern doesn't mind objects with extra properties, so we'll restrict this
   // list to the object classes we're pretty sure are going to stick around for
   // the forseeable future.
   Pattern({
-            Function:       { count: Pattern.NATURAL },
-            Object:         { count: Pattern.NATURAL },
-            Debugger:       { count: Pattern.NATURAL },
-            Sandbox:        { count: Pattern.NATURAL },
+    Function:       { count: Pattern.NATURAL },
+    Object:         { count: Pattern.NATURAL },
+    Debugger:       { count: Pattern.NATURAL },
+    Sandbox:        { count: Pattern.NATURAL },
 
             // The below are all Debugger prototype objects.
-            Source:         { count: Pattern.NATURAL },
-            Environment:    { count: Pattern.NATURAL },
-            Script:         { count: Pattern.NATURAL },
-            Memory:         { count: Pattern.NATURAL },
-            Frame:          { count: Pattern.NATURAL }
-          })
-    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'objectClass' } }));
+    Source:         { count: Pattern.NATURAL },
+    Environment:    { count: Pattern.NATURAL },
+    Script:         { count: Pattern.NATURAL },
+    Memory:         { count: Pattern.NATURAL },
+    Frame:          { count: Pattern.NATURAL }
+  })
+    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "objectClass" } }));
 
   Pattern({
-            objects:        { count: Pattern.NATURAL },
-            scripts:        { count: Pattern.NATURAL },
-            strings:        { count: Pattern.NATURAL },
-            other:          { count: Pattern.NATURAL }
-          })
-    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'coarseType' } }));
+    objects:        { count: Pattern.NATURAL },
+    scripts:        { count: Pattern.NATURAL },
+    strings:        { count: Pattern.NATURAL },
+    other:          { count: Pattern.NATURAL }
+  })
+    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "coarseType" } }));
 
   // As for { by: 'objectClass' }, restrict our pattern to the types
   // we predict will stick around for a long time.
   Pattern({
-            JSString:             { count: Pattern.NATURAL },
-            'js::Shape':          { count: Pattern.NATURAL },
-            JSObject:             { count: Pattern.NATURAL },
-            JSScript:             { count: Pattern.NATURAL }
-          })
-    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'internalType' } }));
+    JSString:             { count: Pattern.NATURAL },
+    "js::Shape":          { count: Pattern.NATURAL },
+    JSObject:             { count: Pattern.NATURAL },
+    JSScript:             { count: Pattern.NATURAL }
+  })
+    .assert(saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "internalType" } }));
 
 
   // Nested breakdowns.
 
   let coarseTypePattern = {
     objects:        { count: Pattern.NATURAL },
     scripts:        { count: Pattern.NATURAL },
     strings:        { count: Pattern.NATURAL },
     other:          { count: Pattern.NATURAL }
   };
 
   Pattern({
-            JSString:    coarseTypePattern,
-            'js::Shape': coarseTypePattern,
-            JSObject:    coarseTypePattern,
-            JSScript:    coarseTypePattern,
-          })
+    JSString:    coarseTypePattern,
+    "js::Shape": coarseTypePattern,
+    JSObject:    coarseTypePattern,
+    JSScript:    coarseTypePattern,
+  })
     .assert(saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'internalType',
-                   then: { by: 'coarseType' }
+      breakdown: { by: "internalType",
+                   then: { by: "coarseType" }
       }
     }));
 
   Pattern({
-            Function:       { count: Pattern.NATURAL },
-            Object:         { count: Pattern.NATURAL },
-            Debugger:       { count: Pattern.NATURAL },
-            Sandbox:        { count: Pattern.NATURAL },
-            other:          coarseTypePattern
-          })
+    Function:       { count: Pattern.NATURAL },
+    Object:         { count: Pattern.NATURAL },
+    Debugger:       { count: Pattern.NATURAL },
+    Sandbox:        { count: Pattern.NATURAL },
+    other:          coarseTypePattern
+  })
     .assert(saveHeapSnapshotAndTakeCensus(dbg, {
       breakdown: {
-        by: 'objectClass',
-        then:  { by: 'count' },
-        other: { by: 'coarseType' }
+        by: "objectClass",
+        then:  { by: "count" },
+        other: { by: "coarseType" }
       }
     }));
 
   Pattern({
-            objects: { count: Pattern.NATURAL, label: "object" },
-            scripts: { count: Pattern.NATURAL, label: "scripts" },
-            strings: { count: Pattern.NATURAL, label: "strings" },
-            other:   { count: Pattern.NATURAL, label: "other" }
-          })
+    objects: { count: Pattern.NATURAL, label: "object" },
+    scripts: { count: Pattern.NATURAL, label: "scripts" },
+    strings: { count: Pattern.NATURAL, label: "strings" },
+    other:   { count: Pattern.NATURAL, label: "other" }
+  })
     .assert(saveHeapSnapshotAndTakeCensus(dbg, {
       breakdown: {
-        by: 'coarseType',
-        objects: { by: 'count', label: 'object' },
-        scripts: { by: 'count', label: 'scripts' },
-        strings: { by: 'count', label: 'strings' },
-        other:   { by: 'count', label: 'other' }
+        by: "coarseType",
+        objects: { by: "count", label: "object" },
+        scripts: { by: "count", label: "scripts" },
+        strings: { by: "count", label: "strings" },
+        other:   { by: "count", label: "other" }
       }
     }));
 
   do_test_finished();
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_07.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_07.js
@@ -7,76 +7,76 @@
 // Ported from js/src/jit-test/tests/debug/Memory-takeCensus-07.js
 
 function run_test() {
   var g = newGlobal();
   var dbg = new Debugger(g);
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { get by() { throw "ಠ_ಠ" } }
+      breakdown: { get by() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
 
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'count', get count() { throw "ಠ_ಠ" } }
+      breakdown: { by: "count", get count() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'count', get bytes() { throw "ಠ_ಠ" } }
+      breakdown: { by: "count", get bytes() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
 
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'objectClass', get then() { throw "ಠ_ಠ" } }
+      breakdown: { by: "objectClass", get then() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'objectClass', get other() { throw "ಠ_ಠ" } }
+      breakdown: { by: "objectClass", get other() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
 
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'coarseType', get objects() { throw "ಠ_ಠ" } }
+      breakdown: { by: "coarseType", get objects() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'coarseType', get scripts() { throw "ಠ_ಠ" } }
+      breakdown: { by: "coarseType", get scripts() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'coarseType', get strings() { throw "ಠ_ಠ" } }
+      breakdown: { by: "coarseType", get strings() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'coarseType', get other() { throw "ಠ_ಠ" } }
+      breakdown: { by: "coarseType", get other() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
 
 
   assertThrowsValue(() => {
     saveHeapSnapshotAndTakeCensus(dbg, {
-      breakdown: { by: 'internalType', get then() { throw "ಠ_ಠ" } }
+      breakdown: { by: "internalType", get then() { throw "ಠ_ಠ"; } }
     });
   }, "ಠ_ಠ");
 
   do_test_finished();
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_08.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_08.js
@@ -50,19 +50,19 @@ function run_test() {
     let oldBaseline = baseline;
 
     // Since a census counts only reachable objects, one might assume that calling
     // GC here would have no effect on the census results. But GC also throws away
     // JIT code and any objects it might be holding (template objects, say);
     // takeCensus reaches those. Shake everything loose that we can, to make the
     // census approximate reachability a bit more closely, and make our results a
     // bit more predictable.
-    gc(g, 'shrinking');
+    gc(g, "shrinking");
 
-    baseline = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'count' } }).count;
+    baseline = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "count" } }).count;
     return baseline >= oldBaseline + n;
   }
 
   countIncreasedByAtLeast(0);
 
   g.add(100, g.obj);
   ok(countIncreasedByAtLeast(g.obj.factor * 100));
 
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js
@@ -27,66 +27,66 @@ function run_test() {
       dbg.memory.trackingAllocationSites = true;
       // All allocations of allocationMarker occur with this line as the oldest
       // stack frame.
       func();
       dbg.memory.trackingAllocationSites = false;
     }
   }
 
-  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'objectClass',
-                                                                 then: { by: 'allocationStack',
-                                                                         then: { by: 'count',
-                                                                                 label: 'haz stack'
+  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "objectClass",
+                                                                 then: { by: "allocationStack",
+                                                                         then: { by: "count",
+                                                                                 label: "haz stack"
                                                                                },
-                                                                         noStack: { by: 'count',
-                                                                                    label: 'no haz stack'
+                                                                         noStack: { by: "count",
+                                                                                    label: "no haz stack"
                                                                                   }
                                                                        }
                                                                }
                                                   });
 
   let map = census.AllocationMarker;
   ok(map instanceof Map, "Should be a Map instance");
-  equal(map.size, 4, "Should have 4 allocation stacks (including the lack of a stack)")
+  equal(map.size, 4, "Should have 4 allocation stacks (including the lack of a stack)");
 
   // Gather the stacks we are expecting to appear as keys, and
   // check that there are no unexpected keys.
   let stacks = { };
 
   map.forEach((v, k) => {
-    if (k === 'noStack') {
+    if (k === "noStack") {
       // No need to save this key.
-    } else if (k.functionDisplayName === 'f' &&
-               k.parent.functionDisplayName === 'run_test') {
+    } else if (k.functionDisplayName === "f" &&
+               k.parent.functionDisplayName === "run_test") {
       stacks.f = k;
-    } else if (k.functionDisplayName === 'f' &&
-               k.parent.functionDisplayName === 'g' &&
-               k.parent.parent.functionDisplayName === 'run_test') {
+    } else if (k.functionDisplayName === "f" &&
+               k.parent.functionDisplayName === "g" &&
+               k.parent.parent.functionDisplayName === "run_test") {
       stacks.fg = k;
-    } else if (k.functionDisplayName === 'f' &&
-               k.parent.functionDisplayName === 'h' &&
-               k.parent.parent.functionDisplayName === 'run_test') {
+    } else if (k.functionDisplayName === "f" &&
+               k.parent.functionDisplayName === "h" &&
+               k.parent.parent.functionDisplayName === "run_test") {
       stacks.fh = k;
     } else {
-      dumpn("Unexpected allocation stack:")
+      dumpn("Unexpected allocation stack:");
       k.toString().split(/\n/g).forEach(s => dumpn(s));
       ok(false);
     }
   });
 
-  equal(map.get('noStack').label, 'no haz stack');
-  equal(map.get('noStack').count, 1);
+  equal(map.get("noStack").label, "no haz stack");
+  equal(map.get("noStack").count, 1);
 
   ok(stacks.f);
-  equal(map.get(stacks.f).label, 'haz stack');
+  equal(map.get(stacks.f).label, "haz stack");
   equal(map.get(stacks.f).count, 20);
 
   ok(stacks.fg);
-  equal(map.get(stacks.fg).label, 'haz stack');
+  equal(map.get(stacks.fg).label, "haz stack");
   equal(map.get(stacks.fg).count, 10);
 
   ok(stacks.fh);
-  equal(map.get(stacks.fh).label, 'haz stack');
+  equal(map.get(stacks.fh).label, "haz stack");
   equal(map.get(stacks.fh).count, 5);
 
   do_test_finished();
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_10.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_10.js
@@ -7,18 +7,18 @@
 
 function run_test() {
   let g = newGlobal();
   let dbg = new Debugger(g);
 
   let sizeOfAM = byteSize(allocationMarker());
 
   // Allocate a single allocation marker, and check that we can find it.
-  g.eval('var hold = allocationMarker();');
-  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: 'objectClass' } });
+  g.eval("var hold = allocationMarker();");
+  let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "objectClass" } });
   equal(census.AllocationMarker.count, 1);
   equal(census.AllocationMarker.bytes, sizeOfAM);
   g.hold = null;
 
   g.eval(`                                  // 1
          var objs = [];                     // 2
          function fnerd() {                 // 3
            objs.push(allocationMarker());   // 4
@@ -28,41 +28,41 @@ function run_test() {
          `);                                // 8
 
   dbg.memory.allocationSamplingProbability = 1;
   dbg.memory.trackingAllocationSites = true;
   g.fnerd();
   dbg.memory.trackingAllocationSites = false;
 
   census = saveHeapSnapshotAndTakeCensus(dbg, {
-    breakdown: { by: 'objectClass',
-                 then: { by: 'allocationStack' }
+    breakdown: { by: "objectClass",
+                 then: { by: "allocationStack" }
                }
   });
 
   let seen = 0;
   census.AllocationMarker.forEach((v, k) => {
-    equal(k.functionDisplayName, 'fnerd');
+    equal(k.functionDisplayName, "fnerd");
     switch (k.line) {
-    case 4:
-      equal(v.count, 1);
-      equal(v.bytes, sizeOfAM);
-      seen++;
-      break;
+      case 4:
+        equal(v.count, 1);
+        equal(v.bytes, sizeOfAM);
+        seen++;
+        break;
 
-    case 6:
-      equal(v.count, 10);
-      equal(v.bytes, 10 * sizeOfAM);
-      seen++;
-      break;
+      case 6:
+        equal(v.count, 10);
+        equal(v.bytes, 10 * sizeOfAM);
+        seen++;
+        break;
 
-    default:
-      dumpn("Unexpected stack:");
-      k.toString().split(/\n/g).forEach(s => dumpn(s));
-      ok(false);
-      break;
+      default:
+        dumpn("Unexpected stack:");
+        k.toString().split(/\n/g).forEach(s => dumpn(s));
+        ok(false);
+        break;
     }
   });
 
   equal(seen, 2);
 
   do_test_finished();
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_11.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_11.js
@@ -22,46 +22,46 @@ function doLiveAndOfflineCensus(g, dbg, 
     offline: saveHeapSnapshotAndTakeCensus(dbg, opts)
   };
 }
 
 function run_test() {
   var g = newGlobal();
   var dbg = new Debugger(g);
 
-  g.eval('this.markers = []');
+  g.eval("this.markers = []");
   const markerSize = byteSize(allocationMarker());
 
   // First, test that we get the same counts and sizes as we allocate and retain
   // more things.
 
   let prevCount = 0;
   let prevBytes = 0;
 
   for (var i = 0; i < 10; i++) {
     const { live, offline } = doLiveAndOfflineCensus(g, dbg, {
-      breakdown: { by: 'objectClass',
-                   then: { by: 'count'} }
+      breakdown: { by: "objectClass",
+                   then: { by: "count"} }
     });
 
     equal(live.AllocationMarker.count, offline.AllocationMarker.count);
     equal(live.AllocationMarker.bytes, offline.AllocationMarker.bytes);
     equal(live.AllocationMarker.count, prevCount + 100);
     equal(live.AllocationMarker.bytes, prevBytes + 100 * markerSize);
 
     prevCount = live.AllocationMarker.count;
     prevBytes = live.AllocationMarker.bytes;
   }
 
   // Second, test that the reported allocation stacks and counts and sizes at
   // those allocation stacks match up.
 
   const { live, offline } = doLiveAndOfflineCensus(g, dbg, {
-    breakdown: { by: 'objectClass',
-                 then: { by: 'allocationStack'} }
+    breakdown: { by: "objectClass",
+                 then: { by: "allocationStack"} }
   });
 
   equal(live.AllocationMarker.size, offline.AllocationMarker.size);
   // One stack with the loop further above, and another stack featuring the call
   // right above.
   equal(live.AllocationMarker.size, 2);
 
   // Note that because SavedFrame stacks reconstructed from an offline heap
@@ -69,28 +69,28 @@ function run_test() {
   // a live stack, the live and offline allocation stacks won't be identity
   // equal, but should be structurally the same.
 
   const liveEntries = [];
   live.AllocationMarker.forEach((v, k) => {
     dumpn("Allocation stack:");
     k.toString().split(/\n/g).forEach(s => dumpn(s));
 
-    equal(k.functionDisplayName, 'unsafeAtAnySpeed');
+    equal(k.functionDisplayName, "unsafeAtAnySpeed");
     equal(k.line, 4);
 
     liveEntries.push([k.toString(), v]);
   });
 
   const offlineEntries = [];
   offline.AllocationMarker.forEach((v, k) => {
     dumpn("Allocation stack:");
     k.toString().split(/\n/g).forEach(s => dumpn(s));
 
-    equal(k.functionDisplayName, 'unsafeAtAnySpeed');
+    equal(k.functionDisplayName, "unsafeAtAnySpeed");
     equal(k.line, 4);
 
     offlineEntries.push([k.toString(), v]);
   });
 
   const sortEntries = (a, b) => {
     if (a[0] < b[0]) {
       return -1;
--- a/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
@@ -49,17 +49,17 @@ function testBadParameters() {
   throws(() => ChromeUtils.saveHeapSnapshot({ debugger: Debugger.prototype }),
          "Should throw if debugger is the Debugger.prototype object.");
 
   throws(() => ChromeUtils.saveHeapSnapshot({ get globals() { return [this]; } }),
          "Should throw if boundaries property is a getter.");
 }
 
 const makeNewSandbox = () =>
-  Cu.Sandbox(CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')());
+  Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")());
 
 function testGoodParameters() {
   let sandbox = makeNewSandbox();
   let dbg = new Debugger(sandbox);
 
   ChromeUtils.saveHeapSnapshot({ debugger: dbg });
   ok(true, "Should be able to save a snapshot for a debuggee global.");
 
--- a/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-04.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-04.js
@@ -27,21 +27,21 @@ function run_test() {
       }());
       stack4 = saveStack(2);
     }());
   }());
 
   stack5 = saveStack(1);
 
   const REPORT = new Map([
-    [stack1,    { bytes: 10, count: 1 }],
-    [stack2,    { bytes: 20, count: 2 }],
-    [stack3,    { bytes: 30, count: 3 }],
-    [stack4,    { bytes: 40, count: 4 }],
-    [stack5,    { bytes: 50, count: 5 }],
+    [stack1, { bytes: 10, count: 1 }],
+    [stack2, { bytes: 20, count: 2 }],
+    [stack3, { bytes: 30, count: 3 }],
+    [stack4, { bytes: 40, count: 4 }],
+    [stack5, { bytes: 50, count: 5 }],
     ["noStack", { bytes: 60, count: 6 }],
   ]);
 
   const EXPECTED = {
     name: null,
     bytes: 0,
     totalBytes: 210,
     count: 0,
--- a/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-05.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-05.js
@@ -24,17 +24,17 @@ function run_test() {
     (function b() {
       (function c() {
         stack = saveStack(3);
       }());
     }());
   }());
 
   const REPORT = new Map([
-    [stack,     { Foo:   { bytes: 10, count: 1 },
+    [stack, { Foo:   { bytes: 10, count: 1 },
                   Bar:   { bytes: 20, count: 2 },
                   Baz:   { bytes: 30, count: 3 },
                   other: { bytes: 40, count: 4 }
                 }],
     ["noStack", { bytes: 50, count: 5 }],
   ]);
 
   const EXPECTED = {
--- a/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-06.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_census-tree-node-06.js
@@ -26,25 +26,25 @@ function run_test() {
   function d(n) {
     return b(n);
   }
   function e(n) {
     return c(n);
   }
 
   const abc_Stack = a(3);
-  const  bc_Stack = b(2);
-  const   c_Stack = c(1);
+  const bc_Stack = b(2);
+  const c_Stack = c(1);
   const dbc_Stack = d(3);
-  const  ec_Stack = e(2);
+  const ec_Stack = e(2);
 
   const REPORT = new Map([
     [abc_Stack, { bytes: 10, count: 1 }],
     [ bc_Stack, { bytes: 10, count: 1 }],
-    [  c_Stack, { bytes: 10, count: 1 }],
+    [ c_Stack, { bytes: 10, count: 1 }],
     [dbc_Stack, { bytes: 10, count: 1 }],
     [ ec_Stack, { bytes: 10, count: 1 }],
     ["noStack", { bytes: 50, count: 5 }],
   ]);
 
   const EXPECTED = {
     name: null,
     bytes: 0,
--- a/devtools/shared/heapsnapshot/tests/unit/test_census_diff_05.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_census_diff_05.js
@@ -10,25 +10,25 @@ const BREAKDOWN = {
 };
 
 const stack1 = saveStack();
 const stack2 = saveStack();
 const stack3 = saveStack();
 
 const REPORT1 = new Map([
   [stack1, { "count": 10, "bytes": 100 }],
-  [stack2, { "count": 1,  "bytes": 10  }],
+  [stack2, { "count": 1, "bytes": 10 }],
 ]);
 
 const REPORT2 = new Map([
   [stack2, { "count": 10, "bytes": 100 }],
-  [stack3, { "count": 1,  "bytes": 10  }],
+  [stack3, { "count": 1, "bytes": 10 }],
 ]);
 
 const EXPECTED = new Map([
   [stack1, { "count": -10, "bytes": -100 }],
-  [stack2, { "count": 9,   "bytes": 90   }],
-  [stack3, { "count": 1,   "bytes": 10   }],
+  [stack2, { "count": 9, "bytes": 90 }],
+  [stack3, { "count": 1, "bytes": 10 }],
 ]);
 
 function run_test() {
   assertDiff(BREAKDOWN, REPORT1, REPORT2, EXPECTED);
 }
--- a/devtools/shared/heapsnapshot/tests/unit/test_census_filtering_02.js
+++ b/devtools/shared/heapsnapshot/tests/unit/test_census_filtering_02.js
@@ -25,21 +25,21 @@ function run_test() {
       }());
     }());
     stack4 = saveStack(2);
   }());
 
   stack5 = saveStack(1);
 
   const REPORT = new Map([
-    [stack1,    { bytes: 10, count: 1 }],
-    [stack2,    { bytes: 20, count: 2 }],
-    [stack3,    { bytes: 30, count: 3 }],
-    [stack4,    { bytes: 40, count: 4 }],
-    [stack5,    { bytes: 50, count: 5 }],
+    [stack1, { bytes: 10, count: 1 }],
+    [stack2, { bytes: 20, count: 2 }],
+    [stack3, { bytes: 30, count: 3 }],
+    [stack4, { bytes: 40, count: 4 }],
+    [stack5, { bytes: 50, count: 5 }],
     ["noStack", { bytes: 60, count: 6 }],
   ]);
 
   const EXPECTED = {
     name: null,
     bytes: 0,
     totalBytes: 210,
     count: 0,
--- a/devtools/shared/indentation.js
+++ b/devtools/shared/indentation.js
@@ -72,17 +72,17 @@ function getIndentationFromIteration(ite
  * A wrapper for @see getIndentationFromIteration which computes the
  * indentation of a given string.
  *
  * @param {String} string the input text
  * @return {Object} an object of the same form as returned by
  *                  getIndentationFromIteration
  */
 function getIndentationFromString(string) {
-  let iteratorFn = function(start, end, callback) {
+  let iteratorFn = function (start, end, callback) {
     let split = string.split(/\r\n|\r|\n|\f/);
     split.slice(start, end).forEach(callback);
   };
   return getIndentationFromIteration(iteratorFn);
 }
 
 /**
  * Detect the indentation used in an editor. Returns an object
--- a/devtools/shared/inspector/css-logic.js
+++ b/devtools/shared/inspector/css-logic.js
@@ -127,34 +127,34 @@ CssLogic.prototype = {
   _matchedSelectors: null,
 
   // Cached keyframes rules in all stylesheets
   _keyframesRules: null,
 
   /**
    * Reset various properties
    */
-  reset: function() {
+  reset: function () {
     this._propertyInfos = {};
     this._ruleCount = 0;
     this._sheetIndex = 0;
     this._sheets = {};
     this._sheetsCached = false;
     this._matchedRules = null;
     this._matchedSelectors = null;
     this._keyframesRules = [];
   },
 
   /**
    * Focus on a new element - remove the style caches.
    *
    * @param {nsIDOMElement} aViewedElement the element the user has highlighted
    * in the Inspector.
    */
-  highlight: function(viewedElement) {
+  highlight: function (viewedElement) {
     if (!viewedElement) {
       this.viewedElement = null;
       this.viewedDocument = null;
       this._computedStyle = null;
       this.reset();
       return;
     }
 
@@ -206,17 +206,17 @@ CssLogic.prototype = {
    */
   set sourceFilter(value) {
     let oldValue = this._sourceFilter;
     this._sourceFilter = value;
 
     let ruleCount = 0;
 
     // Update the CssSheet objects.
-    this.forEachSheet(function(sheet) {
+    this.forEachSheet(function (sheet) {
       sheet._sheetAllowed = -1;
       if (sheet.contentSheet && sheet.sheetAllowed) {
         ruleCount += sheet.ruleCount;
       }
     }, this);
 
     this._ruleCount = ruleCount;
 
@@ -241,17 +241,17 @@ CssLogic.prototype = {
    * Return a CssPropertyInfo data structure for the currently viewed element
    * and the specified CSS property. If there is no currently viewed element we
    * return an empty object.
    *
    * @param {string} property The CSS property to look for.
    * @return {CssPropertyInfo} a CssPropertyInfo structure for the given
    * property.
    */
-  getPropertyInfo: function(property) {
+  getPropertyInfo: function (property) {
     if (!this.viewedElement) {
       return {};
     }
 
     let info = this._propertyInfos[property];
     if (!info) {
       info = new CssPropertyInfo(this, property);
       this._propertyInfos[property] = info;
@@ -259,17 +259,17 @@ CssLogic.prototype = {
 
     return info;
   },
 
   /**
    * Cache all the stylesheets in the inspected document
    * @private
    */
-  _cacheSheets: function() {
+  _cacheSheets: function () {
     this._passId++;
     this.reset();
 
     // styleSheets isn't an array, but forEach can work on it anyway
     Array.prototype.forEach.call(this.viewedDocument.styleSheets,
         this._cacheSheet, this);
 
     this._sheetsCached = true;
@@ -279,17 +279,17 @@ CssLogic.prototype = {
    * Cache a stylesheet if it falls within the requirements: if it's enabled,
    * and if the @media is allowed. This method also walks through the stylesheet
    * cssRules to find @imported rules, to cache the stylesheets of those rules
    * as well. In addition, the @keyframes rules in the stylesheet are cached.
    *
    * @private
    * @param {CSSStyleSheet} domSheet the CSSStyleSheet object to cache.
    */
-  _cacheSheet: function(domSheet) {
+  _cacheSheet: function (domSheet) {
     if (domSheet.disabled) {
       return;
     }
 
     // Only work with stylesheets that have their media allowed.
     if (!this.mediaMatches(domSheet)) {
       return;
     }
@@ -318,17 +318,17 @@ CssLogic.prototype = {
    * @return {array} the list of stylesheets in the document.
    */
   get sheets() {
     if (!this._sheetsCached) {
       this._cacheSheets();
     }
 
     let sheets = [];
-    this.forEachSheet(function(sheet) {
+    this.forEachSheet(function (sheet) {
       if (sheet.contentSheet) {
         sheets.push(sheet);
       }
     }, this);
 
     return sheets;
   },
 
@@ -349,17 +349,17 @@ CssLogic.prototype = {
    * stylesheet is already cached, you get the existing CssSheet object,
    * otherwise the new CSSStyleSheet object is cached.
    *
    * @param {CSSStyleSheet} domSheet the CSSStyleSheet object you want.
    * @param {number} index the index, within the document, of the stylesheet.
    *
    * @return {CssSheet} the CssSheet object for the given CSSStyleSheet object.
    */
-  getSheet: function(domSheet, index) {
+  getSheet: function (domSheet, index) {
     let cacheId = "";
 
     if (domSheet.href) {
       cacheId = domSheet.href;
     } else if (domSheet.ownerNode && domSheet.ownerNode.ownerDocument) {
       cacheId = domSheet.ownerNode.ownerDocument.location;
     }
 
@@ -400,17 +400,17 @@ CssLogic.prototype = {
   /**
    * Process each cached stylesheet in the document using your callback.
    *
    * @param {function} callback the function you want executed for each of the
    * CssSheet objects cached.
    * @param {object} scope the scope you want for the callback function. scope
    * will be the this object when callback executes.
    */
-  forEachSheet: function(callback, scope) {
+  forEachSheet: function (callback, scope) {
     for (let cacheId in this._sheets) {
       let sheets = this._sheets[cacheId];
       for (let i = 0; i < sheets.length; i++) {
         // We take this as an opportunity to clean dead sheets
         try {
           let sheet = sheets[i];
           // If accessing domSheet raises an exception, then the style
           // sheet is a dead object.
@@ -430,17 +430,17 @@ CssLogic.prototype = {
    *
    * @param {function} callback the function you want executed for some of the
    * CssSheet objects cached.
    * @param {object} scope the scope you want for the callback function. scope
    * will be the this object when callback executes.
    * @return {Boolean} true if callback returns true during any iteration,
    * otherwise false is returned.
    */
-  forSomeSheets: function(callback, scope) {
+  forSomeSheets: function (callback, scope) {
     for (let cacheId in this._sheets) {
       if (this._sheets[cacheId].some(callback, scope)) {
         return true;
       }
     }
     return false;
   },
 
@@ -474,21 +474,21 @@ CssLogic.prototype = {
    * Note that the matched selectors are cached, such that next time your
    * callback is invoked for the cached list of CssSelector objects.
    *
    * @param {function} callback the function you want to execute for each of
    * the matched selectors.
    * @param {object} scope the scope you want for the callback function. scope
    * will be the this object when callback executes.
    */
-  processMatchedSelectors: function(callback, scope) {
+  processMatchedSelectors: function (callback, scope) {
     if (this._matchedSelectors) {
       if (callback) {
         this._passId++;
-        this._matchedSelectors.forEach(function(value) {
+        this._matchedSelectors.forEach(function (value) {
           callback.call(scope, value[0], value[1]);
           value[0].cssRule._passId = this._passId;
         }, this);
       }
       return;
     }
 
     if (!this._matchedRules) {
@@ -497,17 +497,17 @@ CssLogic.prototype = {
 
     this._matchedSelectors = [];
     this._passId++;
 
     for (let i = 0; i < this._matchedRules.length; i++) {
       let rule = this._matchedRules[i][0];
       let status = this._matchedRules[i][1];
 
-      rule.selectors.forEach(function(selector) {
+      rule.selectors.forEach(function (selector) {
         if (selector._matchId !== this._matchId &&
            (selector.elementStyle ||
             this.selectorMatchesElement(rule.domRule,
                                         selector.selectorIndex))) {
           selector._matchId = this._matchId;
           this._matchedSelectors.push([ selector, status ]);
           if (callback) {
             callback.call(scope, selector, status);
@@ -527,17 +527,17 @@ CssLogic.prototype = {
    * @param {DOMRule} domRule
    *        The DOM Rule containing the selector.
    * @param {Number} idx
    *        The index of the selector within the DOMRule.
    * @return {boolean}
    *         true if the given selector matches the highlighted element or any
    *         of its parents, otherwise false is returned.
    */
-  selectorMatchesElement: function(domRule, idx) {
+  selectorMatchesElement: function (domRule, idx) {
     let element = this.viewedElement;
     do {
       if (domUtils.selectorMatchesElement(element, domRule, idx)) {
         return true;
       }
     } while ((element = element.parentNode) &&
              element.nodeType === Ci.nsIDOMNode.ELEMENT_NODE);
 
@@ -547,24 +547,24 @@ CssLogic.prototype = {
   /**
    * Check if the highlighted element or it's parents have matched selectors.
    *
    * @param {array} aProperties The list of properties you want to check if they
    * have matched selectors or not.
    * @return {object} An object that tells for each property if it has matched
    * selectors or not. Object keys are property names and values are booleans.
    */
-  hasMatchedSelectors: function(properties) {
+  hasMatchedSelectors: function (properties) {
     if (!this._matchedRules) {
       this._buildMatchedRules();
     }
 
     let result = {};
 
-    this._matchedRules.some(function(value) {
+    this._matchedRules.some(function (value) {
       let rule = value[0];
       let status = value[1];
       properties = properties.filter((property) => {
         // We just need to find if a rule has this property while it matches
         // the viewedElement (or its parents).
         if (rule.getPropertyValue(property) &&
             (status == CssLogic.STATUS.MATCHED ||
              (status == CssLogic.STATUS.PARENT_MATCH &&
@@ -582,17 +582,17 @@ CssLogic.prototype = {
   },
 
   /**
    * Build the array of matched rules for the currently highlighted element.
    * The array will hold rules that match the viewedElement and its parents.
    *
    * @private
    */
-  _buildMatchedRules: function() {
+  _buildMatchedRules: function () {
     let domRules;
     let element = this.viewedElement;
     let filter = this.sourceFilter;
     let sheetIndex = 0;
 
     this._matchId++;
     this._passId++;
     this._matchedRules = [];
@@ -657,34 +657,34 @@ CssLogic.prototype = {
 
   /**
    * Tells if the given DOM CSS object matches the current view media.
    *
    * @param {object} domObject The DOM CSS object to check.
    * @return {boolean} True if the DOM CSS object matches the current view
    * media, or false otherwise.
    */
-  mediaMatches: function(domObject) {
+  mediaMatches: function (domObject) {
     let mediaText = domObject.media.mediaText;
     return !mediaText ||
       this.viewedDocument.defaultView.matchMedia(mediaText).matches;
   },
 };
 
 /**
  * If the element has an id, return '#id'. Otherwise return 'tagname[n]' where
  * n is the index of this element in its siblings.
  * <p>A technically more 'correct' output from the no-id case might be:
  * 'tagname:nth-of-type(n)' however this is unlikely to be more understood
  * and it is longer.
  *
  * @param {nsIDOMElement} element the element for which you want the short name.
  * @return {string} the string to be displayed for element.
  */
-CssLogic.getShortName = function(element) {
+CssLogic.getShortName = function (element) {
   if (!element) {
     return "null";
   }
   if (element.id) {
     return "#" + element.id;
   }
   let priorSiblings = 0;
   let temp = element;
@@ -701,17 +701,17 @@ CssLogic.getShortName = function(element
  * short names.
  * @return {array} The array of elements.
  * <p>Each element is an object of the form:
  * <ul>
  * <li>{ display: "what to display for the given (parent) element",
  * <li>  element: referenceToTheElement }
  * </ul>
  */
-CssLogic.getShortNamePath = function(element) {
+CssLogic.getShortNamePath = function (element) {
   let doc = element.ownerDocument;
   let reply = [];
 
   if (!element) {
     return reply;
   }
 
   // We want to exclude nodes high up the tree (body/html) unless the user
@@ -731,17 +731,17 @@ CssLogic.getShortNamePath = function(ele
 /**
  * Get a string list of selectors for a given DOMRule.
  *
  * @param {DOMRule} domRule
  *        The DOMRule to parse.
  * @return {Array}
  *         An array of string selectors.
  */
-CssLogic.getSelectors = function(domRule) {
+CssLogic.getSelectors = function (domRule) {
   let selectors = [];
 
   let len = domUtils.getSelectorCount(domRule);
   for (let i = 0; i < len; i++) {
     let text = domUtils.getSelectorText(domRule, i);
     selectors.push(text);
   }
   return selectors;
@@ -752,17 +752,17 @@ CssLogic.getSelectors = function(domRule
  * If so, return the node that is accessible from within the document
  * (the parent of the anonymous node), along with which pseudo element
  * it was.  Otherwise, return the node itself.
  *
  * @returns {Object}
  *            - {DOMNode} node The non-anonymous node
  *            - {string} pseudo One of ':before', ':after', or null.
  */
-CssLogic.getBindingElementAndPseudo = function(node) {
+CssLogic.getBindingElementAndPseudo = function (node) {
   let bindingElement = node;
   let pseudo = null;
   if (node.nodeName == "_moz_generated_content_before") {
     bindingElement = node.parentNode;
     pseudo = ":before";
   } else if (node.nodeName == "_moz_generated_content_after") {
     bindingElement = node.parentNode;
     pseudo = ":after";
@@ -776,17 +776,17 @@ CssLogic.getBindingElementAndPseudo = fu
 /**
  * Get the computed style on a node.  Automatically handles reading
  * computed styles on a ::before/::after element by reading on the
  * parent node with the proper pseudo argument.
  *
  * @param {Node}
  * @returns {CSSStyleDeclaration}
  */
-CssLogic.getComputedStyle = function(node) {
+CssLogic.getComputedStyle = function (node) {
   if (!node ||
       Cu.isDeadWrapper(node) ||
       node.nodeType !== Ci.nsIDOMNode.ELEMENT_NODE ||
       !node.ownerDocument ||
       !node.ownerDocument.defaultView) {
     return null;
   }
 
@@ -795,59 +795,59 @@ CssLogic.getComputedStyle = function(nod
                                                          pseudo);
 };
 
 /**
  * Memonized lookup of a l10n string from a string bundle.
  * @param {string} name The key to lookup.
  * @returns A localized version of the given key.
  */
-CssLogic.l10n = function(name) {
+CssLogic.l10n = function (name) {
   return CssLogic._strings.GetStringFromName(name);
 };
 
-DevToolsUtils.defineLazyGetter(CssLogic, "_strings", function() {
+DevToolsUtils.defineLazyGetter(CssLogic, "_strings", function () {
   return Services.strings
     .createBundle("chrome://devtools-shared/locale/styleinspector.properties");
 });
 
 /**
  * Is the given property sheet a content stylesheet?
  *
  * @param {CSSStyleSheet} sheet a stylesheet
  * @return {boolean} true if the given stylesheet is a content stylesheet,
  * false otherwise.
  */
-CssLogic.isContentStylesheet = function(sheet) {
+CssLogic.isContentStylesheet = function (sheet) {
   return sheet.parsingMode !== "agent";
 };
 
 /**
  * Get a source for a stylesheet, taking into account embedded stylesheets
  * for which we need to use document.defaultView.location.href rather than
  * sheet.href
  *
  * @param {CSSStyleSheet} sheet the DOM object for the style sheet.
  * @return {string} the address of the stylesheet.
  */
-CssLogic.href = function(sheet) {
+CssLogic.href = function (sheet) {
   let href = sheet.href;
   if (!href) {
     href = sheet.ownerNode.ownerDocument.location;
   }
 
   return href;
 };
 
 /**
  * Return a shortened version of a style sheet's source.
  *
  * @param {CSSStyleSheet} sheet the DOM object for the style sheet.
  */
-CssLogic.shortSource = function(sheet) {
+CssLogic.shortSource = function (sheet) {
   // Use a string like "inline" if there is no source href
   if (!sheet || !sheet.href) {
     return CssLogic.l10n("rule.sourceInline");
   }
 
   // We try, in turn, the filename, filePath, query string, whole thing
   let url = {};
   try {
@@ -886,17 +886,17 @@ function positionInNodeList(element, nod
   return -1;
 }
 
 /**
  * Find a unique CSS selector for a given element
  * @returns a string such that ele.ownerDocument.querySelector(reply) === ele
  * and ele.ownerDocument.querySelectorAll(reply).length === 1
  */
-CssLogic.findCssSelector = function(ele) {
+CssLogic.findCssSelector = function (ele) {
   ele = getRootBindingParent(ele);
   let document = ele.ownerDocument;
   if (!document || !document.contains(ele)) {
     throw new Error("findCssSelector received element not inside document");
   }
 
   // document.querySelectorAll("#id") returns multiple if elements share an ID
   if (ele.id &&
@@ -957,17 +957,17 @@ const TAB_CHARS = "\t";
 
 /**
  * Prettify minified CSS text.
  * This prettifies CSS code where there is no indentation in usual places while
  * keeping original indentation as-is elsewhere.
  * @param string text The CSS source to prettify.
  * @return string Prettified CSS source
  */
-CssLogic.prettifyCSS = function(text, ruleCount) {
+CssLogic.prettifyCSS = function (text, ruleCount) {
   if (CssLogic.LINE_SEPARATOR == null) {
     let os = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).OS;
     CssLogic.LINE_SEPARATOR = (os === "WINNT" ? "\r\n" : "\n");
   }
 
   // remove initial and terminating HTML comments and surrounding whitespace
   text = text.replace(/(?:^\s*<!--[\r\n]*)|(?:\s*-->\s*$)/g, "");
   let originalText = text;
@@ -1283,17 +1283,17 @@ CssSheet.prototype = {
    * cached, such that subsequent retrievals return the same CssRule object for
    * the same CSSStyleRule object.
    *
    * @param {CSSStyleRule} aDomRule the CSSStyleRule object for which you want a
    * CssRule object.
    * @return {CssRule} the cached CssRule object for the given CSSStyleRule
    * object.
    */
-  getRule: function(domRule) {
+  getRule: function (domRule) {
     let cacheId = domRule.type + domRule.selectorText;
 
     let rule = null;
     let ruleFound = false;
 
     if (cacheId in this._rules) {
       for (let i = 0, rulesLen = this._rules[cacheId].length;
            i < rulesLen;
@@ -1326,17 +1326,17 @@ CssSheet.prototype = {
    * Note that this method also iterates through @media rules inside the
    * stylesheet.
    *
    * @param {function} callback the function you want to execute for each of
    * the style rules.
    * @param {object} scope the scope you want for the callback function. scope
    * will be the this object when callback executes.
    */
-  forEachRule: function(callback, scope) {
+  forEachRule: function (callback, scope) {
     let ruleCount = 0;
     let domRules = this.domSheet.cssRules;
 
     function _iterator(domRule) {
       if (domRule.type == Ci.nsIDOMCSSRule.STYLE_RULE) {
         callback.call(scope, this.getRule(domRule));
         ruleCount++;
       } else if (domRule.type == Ci.nsIDOMCSSRule.MEDIA_RULE &&
@@ -1361,31 +1361,31 @@ CssSheet.prototype = {
    *
    * @param {function} callback the function you want to execute for each of
    * the style rules.
    * @param {object} scope the scope you want for the callback function. scope
    * will be the this object when callback executes.
    * @return {Boolean} true if callback returns true during any iteration,
    * otherwise false is returned.
    */
-  forSomeRules: function(callback, scope) {
+  forSomeRules: function (callback, scope) {
     let domRules = this.domSheet.cssRules;
     function _iterator(domRule) {
       if (domRule.type == Ci.nsIDOMCSSRule.STYLE_RULE) {
         return callback.call(scope, this.getRule(domRule));
       } else if (domRule.type == Ci.nsIDOMCSSRule.MEDIA_RULE &&
           domRule.cssRules && this._cssLogic.mediaMatches(domRule)) {
         return Array.prototype.some.call(domRule.cssRules, _iterator, this);
       }
       return false;
     }
     return Array.prototype.some.call(domRules, _iterator, this);
   },
 
-  toString: function() {
+  toString: function () {
     return "CssSheet[" + this.shortSource + "]";
   }
 };
 
 /**
  * Information about a single CSSStyleRule.
  *
  * @param {CSSSheet|null} cssSheet the CssSheet object of the stylesheet that
@@ -1458,28 +1458,28 @@ CssRule.prototype = {
 
   /**
    * Retrieve the style property value from the current CSSStyleRule.
    *
    * @param {string} property the CSS property name for which you want the
    * value.
    * @return {string} the property value.
    */
-  getPropertyValue: function(property) {
+  getPropertyValue: function (property) {
     return this.domRule.style.getPropertyValue(property);
   },
 
   /**
    * Retrieve the style property priority from the current CSSStyleRule.
    *
    * @param {string} property the CSS property name for which you want the
    * priority.
    * @return {string} the property priority.
    */
-  getPropertyPriority: function(property) {
+  getPropertyPriority: function (property) {
     return this.domRule.style.getPropertyPriority(property);
   },
 
   /**
    * Retrieve the list of CssSelector objects for each of the parsed selectors
    * of the current CSSStyleRule.
    *
    * @return {array} the array hold the CssSelector objects.
@@ -1500,17 +1500,17 @@ CssRule.prototype = {
 
     for (let i = 0, len = selectors.length; i < len; i++) {
       this._selectors.push(new CssSelector(this, selectors[i], i));
     }
 
     return this._selectors;
   },
 
-  toString: function() {
+  toString: function () {
     return "[CssRule " + this.domRule.selectorText + "]";
   },
 };
 
 /**
  * The CSS selector class allows us to document the ranking of various CSS
  * selectors.
  *
@@ -1625,17 +1625,17 @@ CssSelector.prototype = {
     }
 
     this._specificity = domUtils.getSpecificity(this.cssRule.domRule,
                                                 this.selectorIndex);
 
     return this._specificity;
   },
 
-  toString: function() {
+  toString: function () {
     return this.text;
   },
 };
 
 /**
  * A cache of information about the matched rules, selectors and values attached
  * to a CSS property, for the highlighted element.
  *
@@ -1721,25 +1721,25 @@ CssPropertyInfo.prototype = {
 
   /**
    * Find the selectors that match the highlighted element and its parents.
    * Uses CssLogic.processMatchedSelectors() to find the matched selectors,
    * passing in a reference to CssPropertyInfo._processMatchedSelector() to
    * create CssSelectorInfo objects, which we then sort
    * @private
    */
-  _findMatchedSelectors: function() {
+  _findMatchedSelectors: function () {
     this._matchedSelectors = [];
     this._matchedRuleCount = 0;
     this.needRefilter = false;
 
     this._cssLogic.processMatchedSelectors(this._processMatchedSelector, this);
 
     // Sort the selectors by how well they match the given element.
-    this._matchedSelectors.sort(function(selectorInfo1, selectorInfo2) {
+    this._matchedSelectors.sort(function (selectorInfo1, selectorInfo2) {
       if (selectorInfo1.status > selectorInfo2.status) {
         return -1;
       } else if (selectorInfo2.status > selectorInfo1.status) {
         return 1;
       }
       return selectorInfo1.compareTo(selectorInfo2);
     });
 
@@ -1752,17 +1752,17 @@ CssPropertyInfo.prototype = {
 
   /**
    * Process a matched CssSelector object.
    *
    * @private
    * @param {CssSelector} selector the matched CssSelector object.
    * @param {CssLogic.STATUS} status the CssSelector match status.
    */
-  _processMatchedSelector: function(selector, status) {
+  _processMatchedSelector: function (selector, status) {
     let cssRule = selector.cssRule;
     let value = cssRule.getPropertyValue(this.property);
     if (value &&
         (status == CssLogic.STATUS.MATCHED ||
          (status == CssLogic.STATUS.PARENT_MATCH &&
           domUtils.isInheritedProperty(this.property)))) {
       let selectorInfo = new CssSelectorInfo(selector, this.property, value,
           status);
@@ -1773,21 +1773,21 @@ CssPropertyInfo.prototype = {
     }
   },
 
   /**
    * Refilter the matched selectors array when the CssLogic.sourceFilter
    * changes. This allows for quick filter changes.
    * @private
    */
-  _refilterSelectors: function() {
+  _refilterSelectors: function () {
     let passId = ++this._cssLogic._passId;
     let ruleCount = 0;
 
-    let iterator = function(selectorInfo) {
+    let iterator = function (selectorInfo) {
       let cssRule = selectorInfo.selector.cssRule;
       if (cssRule._passId != passId) {
         if (cssRule.sheetAllowed) {
           ruleCount++;
         }
         cssRule._passId = passId;
       }
     };
@@ -1795,17 +1795,17 @@ CssPropertyInfo.prototype = {
     if (this._matchedSelectors) {
       this._matchedSelectors.forEach(iterator);
       this._matchedRuleCount = ruleCount;
     }
 
     this.needRefilter = false;
   },
 
-  toString: function() {
+  toString: function () {
     return "CssPropertyInfo[" + this.property + "]";
   },
 };
 
 /**
  * A class that holds information about a given CssSelector object.
  *
  * Instances of this class are given to CssHtmlTree in the array of matched
@@ -1925,17 +1925,17 @@ CssSelectorInfo.prototype = {
 
   /**
    * Compare the current CssSelectorInfo instance to another instance, based on
    * specificity information.
    *
    * @param {CssSelectorInfo} that The instance to compare ourselves against.
    * @return number -1, 0, 1 depending on how that compares with this.
    */
-  compareTo: function(that) {
+  compareTo: function (that) {
     if (!this.contentRule && that.contentRule) {
       return 1;
     }
     if (this.contentRule && !that.contentRule) {
       return -1;
     }
 
     if (this.elementStyle && !that.elementStyle) {
@@ -1978,16 +1978,16 @@ CssSelectorInfo.prototype = {
     }
     if (that.ruleLine > this.ruleLine) {
       return 1;
     }
 
     return 0;
   },
 
-  toString: function() {
+  toString: function () {
     return this.selector + " -> " + this.value;
   },
 };
 
-DevToolsUtils.defineLazyGetter(this, "domUtils", function() {
+DevToolsUtils.defineLazyGetter(this, "domUtils", function () {
   return Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
 });
--- a/devtools/shared/path.js
+++ b/devtools/shared/path.js
@@ -11,20 +11,20 @@ const URL = require("URL");
  * The initial path must be an full URI with a protocol (i.e. http://).
  */
 exports.joinURI = (initialPath, ...paths) => {
   let url;
 
   try {
     url = new URL(initialPath);
   }
-  catch(e) {
+  catch (e) {
     return;
   }
 
-  for(let path of paths) {
+  for (let path of paths) {
     if (path) {
       url = new URL(path, url);
     }
   }
 
   return url.href;
-}
+};
--- a/devtools/shared/performance/recording-common.js
+++ b/devtools/shared/performance/recording-common.js
@@ -64,25 +64,25 @@ const PerformanceRecordingCommon = expor
       return this._duration || this._estimatedDuration || 0;
     }
   },
 
   /**
    * Helper methods for returning recording data.
    * These methods should be consistent on both the front and actor.
    */
-  getMarkers: function() { return this._markers; },
-  getFrames: function() { return this._frames; },
-  getMemory: function() { return this._memory; },
-  getTicks: function() { return this._ticks; },
-  getAllocations: function() { return this._allocations; },
-  getProfile: function() { return this._profile; },
-  getHostSystemInfo: function() { return this._systemHost; },
-  getClientSystemInfo: function() { return this._systemClient; },
-  getStartingBufferStatus: function() { return this._startingBufferStatus; },
+  getMarkers: function () { return this._markers; },
+  getFrames: function () { return this._frames; },
+  getMemory: function () { return this._memory; },
+  getTicks: function () { return this._ticks; },
+  getAllocations: function () { return this._allocations; },
+  getProfile: function () { return this._profile; },
+  getHostSystemInfo: function () { return this._systemHost; },
+  getClientSystemInfo: function () { return this._systemClient; },
+  getStartingBufferStatus: function () { return this._startingBufferStatus; },
 
   getAllData: function () {
     let label = this.getLabel();
     let duration = this.getDuration();
     let markers = this.getMarkers();
     let frames = this.getFrames();
     let memory = this.getMemory();
     let ticks = this.getTicks();
--- a/devtools/shared/performance/recording-utils.js
+++ b/devtools/shared/performance/recording-utils.js
@@ -7,17 +7,17 @@ const { Cc, Ci, Cu, Cr } = require("chro
 loader.lazyRequireGetter(this, "extend",
   "sdk/util/object", true);
 
 /**
  * Utility functions for managing recording models and their internal data,
  * such as filtering profile samples or offsetting timestamps.
  */
 
-function mapRecordingOptions (type, options) {
+function mapRecordingOptions(type, options) {
   if (type === "profiler") {
     return {
       entries: options.bufferSize,
       interval: options.sampleFrequency ? (1000 / (options.sampleFrequency * 1000)) : void 0
     };
   }
 
   if (type === "memory") {
@@ -47,17 +47,17 @@ function mapRecordingOptions (type, opti
  * requests to record memory `withMemory = true`, but the server does
  * not support that feature, then the `false` will overwrite user preference
  * in order to define the recording with what is actually available, not
  * what the user initially requested.
  *
  * @param {object} options
  * @param {boolean}
  */
-function normalizePerformanceFeatures (options, supportedFeatures) {
+function normalizePerformanceFeatures(options, supportedFeatures) {
   return Object.keys(options).reduce((modifiedOptions, feature) => {
     if (supportedFeatures[feature] !== false) {
       modifiedOptions[feature] = options[feature];
     }
     return modifiedOptions;
   }, Object.create(null));
 }
 
@@ -137,17 +137,17 @@ function offsetAndScaleTimestamps(timest
  * is what spawned this separate function), so iterate one element at a time.
  * @see bug 1166823
  * @see http://jsperf.com/concat-large-arrays
  * @see http://jsperf.com/concat-large-arrays/2
  *
  * @param {Array} dest
  * @param {Array} src
  */
-function pushAll (dest, src) {
+function pushAll(dest, src) {
   let length = src.length;
   for (let i = 0; i < length; i++) {
     dest.push(src[i]);
   }
 }
 
 /**
  * Cache used in `RecordingUtils.getProfileThreadFromAllocations`.
@@ -262,17 +262,17 @@ function getProfileThreadFromAllocations
     frameTable: frameTableWithSchema(frameTable),
     stringTable: uniqueStrings.stringTable
   };
 
   gProfileThreadFromAllocationCache.set(allocations, thread);
   return thread;
 }
 
-function allocationsWithSchema (data) {
+function allocationsWithSchema(data) {
   let slot = 0;
   return {
     schema: {
       stack: slot++,
       time: slot++,
       size: slot++,
     },
     data: data
@@ -294,17 +294,17 @@ function allocationsWithSchema (data) {
 function deflateProfile(profile) {
   profile.threads = profile.threads.map((thread) => {
     let uniqueStacks = new UniqueStacks();
     return deflateThread(thread, uniqueStacks);
   });
 
   profile.meta.version = 3;
   return profile;
-};
+}
 
 /**
  * Given an array of frame objects, deduplicates each frame as well as all
  * prefixes in the stack. Returns the index of the deduplicated stack.
  *
  * @param object frames
  *               Array of frame objects.
  * @param UniqueStacks uniqueStacks
@@ -470,17 +470,17 @@ function samplesWithSchema(data) {
 /**
  * A helper class to deduplicate strings.
  */
 function UniqueStrings() {
   this.stringTable = [];
   this._stringHash = Object.create(null);
 }
 
-UniqueStrings.prototype.getOrAddStringIndex = function(s) {
+UniqueStrings.prototype.getOrAddStringIndex = function (s) {
   if (!s) {
     return null;
   }
 
   let stringHash = this._stringHash;
   let stringTable = this.stringTable;
   let index = stringHash[s];
   if (index !== undefined) {
@@ -540,29 +540,29 @@ UniqueStrings.prototype.getOrAddStringIn
 function UniqueStacks() {
   this._frameTable = [];
   this._stackTable = [];
   this._frameHash = Object.create(null);
   this._stackHash = Object.create(null);
   this._uniqueStrings = new UniqueStrings();
 }
 
-UniqueStacks.prototype.getStackTableWithSchema = function() {
+UniqueStacks.prototype.getStackTableWithSchema = function () {
   return stackTableWithSchema(this._stackTable);
 };
 
-UniqueStacks.prototype.getFrameTableWithSchema = function() {
+UniqueStacks.prototype.getFrameTableWithSchema = function () {
   return frameTableWithSchema(this._frameTable);
 };
 
-UniqueStacks.prototype.getStringTable = function() {
+UniqueStacks.prototype.getStringTable = function () {
   return this._uniqueStrings.stringTable;
 };
 
-UniqueStacks.prototype.getOrAddFrameIndex = function(frame) {
+UniqueStacks.prototype.getOrAddFrameIndex = function (frame) {
   // Schema:
   //   [location, implementation, optimizations, line, category]
 
   let frameHash = this._frameHash;
   let frameTable = this._frameTable;
 
   let locationIndex = this.getOrAddStringIndex(frame.location);
   let implementationIndex = this.getOrAddStringIndex(frame.implementation);
@@ -584,17 +584,17 @@ UniqueStacks.prototype.getOrAddFrameInde
     // format to the new format.
     null,
     frame.line,
     frame.category
   ]);
   return index;
 };
 
-UniqueStacks.prototype.getOrAddStackIndex = function(prefixIndex, frameIndex) {
+UniqueStacks.prototype.getOrAddStackIndex = function (prefixIndex, frameIndex) {
   // Schema:
   //   [prefix, frame]
 
   let stackHash = this._stackHash;
   let stackTable = this._stackTable;
 
   // Also super dumb.
   let hash = prefixIndex + " " + frameIndex;
@@ -605,17 +605,17 @@ UniqueStacks.prototype.getOrAddStackInde
   }
 
   index = stackTable.length;
   stackHash[hash] = index;
   stackTable.push([prefixIndex, frameIndex]);
   return index;
 };
 
-UniqueStacks.prototype.getOrAddStringIndex = function(s) {
+UniqueStacks.prototype.getOrAddStringIndex = function (s) {
   return this._uniqueStrings.getOrAddStringIndex(s);
 };
 
 exports.pushAll = pushAll;
 exports.mapRecordingOptions = mapRecordingOptions;
 exports.normalizePerformanceFeatures = normalizePerformanceFeatures;
 exports.filterSamples = filterSamples;
 exports.offsetSampleTimes = offsetSampleTimes;
--- a/devtools/shared/protocol.js
+++ b/devtools/shared/protocol.js
@@ -49,22 +49,22 @@ var registeredLifetimes = types.register
  *   array:threadActor
  *   array:array:threadActor#detail
  *
  * @param [typestring|type] type
  *    Either a typestring naming a type or a type object.
  *
  * @returns a type object.
  */
-types.getType = function(type) {
+types.getType = function (type) {
   if (!type) {
     return types.Primitive;
   }
 
-  if (typeof(type) !== "string") {
+  if (typeof (type) !== "string") {
     return type;
   }
 
   // If already registered, we're done here.
   let reg = registeredTypes.get(type);
   if (reg) return reg;
 
   // New type, see if it's a collection/lifetime type:
@@ -94,17 +94,17 @@ types.getType = function(type) {
 
   // Might be a lazily-loaded type
   if (type === "longstring") {
     require("devtools/server/actors/string");
     return registeredTypes.get("longstring");
   }
 
   throw Error("Unknown type: " + type);
-}
+};
 
 /**
  * Don't allow undefined when writing primitive types to packets.  If
  * you want to allow undefined, use a nullable type.
  */
 function identityWrite(v) {
   if (v === undefined) {
     throw Error("undefined passed where a value is required");
@@ -135,61 +135,61 @@ function identityWrite(v) {
  * @param object typeObject
  *    An object whose properties will be stored in the type, including
  *    the `read` and `write` methods.
  * @param object options
  *    Can specify `thawed` to prevent the type from being frozen.
  *
  * @returns a type object that can be used in protocol definitions.
  */
-types.addType = function(name, typeObject={}, options={}) {
+types.addType = function (name, typeObject = {}, options = {}) {
   if (registeredTypes.has(name)) {
     throw Error("Type '" + name + "' already exists.");
   }
 
   let type = object.merge({
-    toString() { return "[protocol type:" + name + "]"},
+    toString() { return "[protocol type:" + name + "]";},
     name: name,
     primitive: !(typeObject.read || typeObject.write),
     read: identityWrite,
     write: identityWrite
   }, typeObject);
 
   registeredTypes.set(name, type);
 
   return type;
 };
 
 /**
  * Remove a type previously registered with the system.
  * Primarily useful for types registered by addons.
  */
-types.removeType = function(name) {
+types.removeType = function (name) {
   // This type may still be referenced by other types, make sure
   // those references don't work.
   let type = registeredTypes.get(name);
 
   type.name = "DEFUNCT:" + name;
   type.category = "defunct";
   type.primitive = false;
-  type.read = type.write = function() { throw new Error("Using defunct type: " + name); };
+  type.read = type.write = function () { throw new Error("Using defunct type: " + name); };
 
   registeredTypes.delete(name);
-}
+};
 
 /**
  * Add an array type to the type system.
  *
  * getType() will call this function if provided an "array:<type>"
  * typestring.
  *
  * @param type subtype
  *    The subtype to be held by the array.
  */
-types.addArrayType = function(subtype) {
+types.addArrayType = function (subtype) {
   subtype = types.getType(subtype);
 
   let name = "array:" + subtype.name;
 
   // Arrays of primitive types are primitive types themselves.
   if (subtype.primitive) {
     return types.addType(name);
   }
@@ -205,17 +205,17 @@ types.addArrayType = function(subtype) {
  * a JS object that contains non-primitive subtypes.
  *
  * Properties of the value that aren't included in the specializations
  * will be serialized as primitive values.
  *
  * @param object specializations
  *    A dict of property names => type
  */
-types.addDictType = function(name, specializations) {
+types.addDictType = function (name, specializations) {
   return types.addType(name, {
     category: "dict",
     specializations: specializations,
     read: (v, ctx) => {
       let ret = {};
       for (let prop in v) {
         if (prop in specializations) {
           ret[prop] = types.getType(specializations[prop]).read(v[prop], ctx);
@@ -232,18 +232,18 @@ types.addDictType = function(name, speci
         if (prop in specializations) {
           ret[prop] = types.getType(specializations[prop]).write(v[prop], ctx);
         } else {
           ret[prop] = v[prop];
         }
       }
       return ret;
     }
-  })
-}
+  });
+};
 
 /**
  * Register an actor type with the type system.
  *
  * Types are marshalled differently when communicating server->client
  * than they are when communicating client->server.  The server needs
  * to provide useful information to the client, so uses the actor's
  * `form` method to get a json representation of the actor.  When
@@ -252,31 +252,31 @@ types.addDictType = function(name, speci
  * This function can be called before the associated actor has been
  * constructed, but the read and write methods won't work until
  * the associated addActorImpl or addActorFront methods have been
  * called during actor/front construction.
  *
  * @param string name
  *    The typestring to register.
  */
-types.addActorType = function(name) {
+types.addActorType = function (name) {
   let type = types.addType(name, {
     _actor: true,
     category: "actor",
     read: (v, ctx, detail) => {
       // If we're reading a request on the server side, just
       // find the actor registered with this actorID.
       if (ctx instanceof Actor) {
         return ctx.conn.getActor(v);
       }
 
       // Reading a response on the client side, check for an
       // existing front on the connection, and create the front
       // if it isn't found.
-      let actorID = typeof(v) === "string" ? v : v.actor;
+      let actorID = typeof (v) === "string" ? v : v.actor;
       let front = ctx.conn.getActor(actorID);
       if (!front) {
         front = new type.frontClass(ctx.conn);
         front.actorID = actorID;
         ctx.marshallPool().manage(front);
       }
 
       v = type.formType(detail).read(v, front, detail);
@@ -310,112 +310,112 @@ types.addActorType = function(name) {
       if (!(formAttr in type.actorSpec)) {
         throw new Error("No type defined for " + formAttr);
       }
 
       return type.actorSpec[formAttr];
     }
   });
   return type;
-}
+};
 
-types.addNullableType = function(subtype) {
+types.addNullableType = function (subtype) {
   subtype = types.getType(subtype);
   return types.addType("nullable:" + subtype.name, {
     category: "nullable",
     read: (value, ctx) => {
       if (value == null) {
         return value;
       }
       return subtype.read(value, ctx);
     },
     write: (value, ctx) => {
       if (value == null) {
         return value;
       }
       return subtype.write(value, ctx);
     }
   });
-}
+};
 
 /**
  * Register an actor detail type.  This is just like an actor type, but
  * will pass a detail hint to the actor's form method during serialization/
  * deserialization.
  *
  * This is called by getType() when passed an 'actorType#detail' string.
  *
  * @param string name
  *   The typestring to register this type as.
  * @param type actorType
  *   The actor type you'll be detailing.
  * @param string detail
  *   The detail to pass.
  */
-types.addActorDetail = function(name, actorType, detail) {
+types.addActorDetail = function (name, actorType, detail) {
   actorType = types.getType(actorType);
   if (!actorType._actor) {
     throw Error("Details only apply to actor types, tried to add detail '" + detail + "'' to " + actorType.name + "\n");
   }
   return types.addType(name, {
     _actor: true,
     category: "detail",
     read: (v, ctx) => actorType.read(v, ctx, detail),
     write: (v, ctx) => actorType.write(v, ctx, detail)
   });
-}
+};
 
 /**
  * Register an actor lifetime.  This lets the type system find a parent
  * actor that differs from the actor fulfilling the request.
  *
  * @param string name
  *    The lifetime name to use in typestrings.
  * @param string prop
  *    The property of the actor that holds the parent that should be used.
  */
-types.addLifetime = function(name, prop) {
+types.addLifetime = function (name, prop) {
   if (registeredLifetimes.has(name)) {
     throw Error("Lifetime '" + name + "' already registered.");
   }
   registeredLifetimes.set(name, prop);
-}
+};
 
 /**
  * Remove a previously-registered lifetime.  Useful for lifetimes registered
  * in addons.
  */
-types.removeLifetime = function(name) {
+types.removeLifetime = function (name) {
   registeredLifetimes.delete(name);
-}
+};
 
 /**
  * Register a lifetime type.  This creates an actor type tied to the given
  * lifetime.
  *
  * This is called by getType() when passed a '<lifetimeType>:<actorType>'
  * typestring.
  *
  * @param string lifetime
  *    A lifetime string previously regisered with addLifetime()
  * @param type subtype
  *    An actor type
  */
-types.addLifetimeType = function(lifetime, subtype) {
+types.addLifetimeType = function (lifetime, subtype) {
   subtype = types.getType(subtype);
   if (!subtype._actor) {
     throw Error("Lifetimes only apply to actor types, tried to apply lifetime '" + lifetime + "'' to " + subtype.name);
   }
   let prop = registeredLifetimes.get(lifetime);
   return types.addType(lifetime + ":" + subtype.name, {
     category: "lifetime",
     read: (value, ctx) => subtype.read(value, ctx[prop]),
     write: (value, ctx) => subtype.write(value, ctx[prop])
-  })
-}
+  });
+};
 
 // Add a few named primitive types.
 types.Primitive = types.addType("primitive");
 types.String = types.addType("string");
 types.Number = types.addType("number");
 types.Boolean = types.addType("boolean");
 types.JSON = types.addType("json");
 
@@ -436,34 +436,34 @@ types.JSON = types.addType("json");
  *
  * @param number index
  *    The argument index to place at this position.
  * @param type type
  *    The argument should be marshalled as this type.
  * @constructor
  */
 var Arg = Class({
-  initialize: function(index, type) {
+  initialize: function (index, type) {
     this.index = index;
     this.type = types.getType(type);
   },
 
-  write: function(arg, ctx) {
+  write: function (arg, ctx) {
     return this.type.write(arg, ctx);
   },
 
-  read: function(v, ctx, outArgs) {
+  read: function (v, ctx, outArgs) {
     outArgs[this.index] = this.type.read(v, ctx);
   },
 
-  describe: function() {
+  describe: function () {
     return {
       _arg: this.index,
       type: this.type.name,
-    }
+    };
   }
 });
 exports.Arg = Arg;
 
 /**
  * Placeholder for an options argument value that should be hoisted
  * into the packet.
  *
@@ -477,71 +477,71 @@ exports.Arg = Arg;
  * @param number index
  *    The argument index of the options value.
  * @param type type
  *    The argument should be marshalled as this type.
  * @constructor
  */
 var Option = Class({
   extends: Arg,
-  initialize: function(index, type) {
-    Arg.prototype.initialize.call(this, index, type)
+  initialize: function (index, type) {
+    Arg.prototype.initialize.call(this, index, type);
   },
 
-  write: function(arg, ctx, name) {
+  write: function (arg, ctx, name) {
     // Ignore if arg is undefined or null; allow other falsy values
     if (arg == undefined || arg[name] == undefined) {
       return undefined;
     }
     let v = arg[name];
     return this.type.write(v, ctx);
   },
-  read: function(v, ctx, outArgs, name) {
+  read: function (v, ctx, outArgs, name) {
     if (outArgs[this.index] === undefined) {
       outArgs[this.index] = {};
     }
     if (v === undefined) {
       return;
     }
     outArgs[this.index][name] = this.type.read(v, ctx);
   },
 
-  describe: function() {
+  describe: function () {
     return {
       _option: this.index,
       type: this.type.name,
-    }
+    };
   }
 });
 
 exports.Option = Option;
 
 /**
  * Placeholder for return values in a response template.
  *
  * @param type type
  *    The return value should be marshalled as this type.
  */
 var RetVal = Class({
-  initialize: function(type) {
+  initialize: function (type) {
     this.type = types.getType(type);
   },
 
-  write: function(v, ctx) {
+  write: function (v, ctx) {
     return this.type.write(v, ctx);
   },
 
-  read: function(v, ctx) {
+  read: function (v, ctx) {
     return this.type.read(v, ctx);
   },
 
-  describe: function() {
+  describe: function () {
     return {
       _retval: this.type.name
-    }
+    };
   }
 });
 
 exports.RetVal = RetVal;
 
 /* Template handling functions */
 
 /**
@@ -556,18 +556,18 @@ function getPath(obj, path) {
   }
   return obj;
 }
 
 /**
  * Find Placeholders in the template and save them along with their
  * paths.
  */
-function findPlaceholders(template, constructor, path=[], placeholders=[]) {
-  if (!template || typeof(template) != "object") {
+function findPlaceholders(template, constructor, path = [], placeholders = []) {
+  if (!template || typeof (template) != "object") {
     return placeholders;
   }
 
   if (template instanceof constructor) {
     placeholders.push({ placeholder: template, path: [...path] });
     return placeholders;
   }
 
@@ -593,32 +593,32 @@ function describeTemplate(template) {
 /**
  * Manages a request template.
  *
  * @param object template
  *    The request template.
  * @construcor
  */
 var Request = Class({
-  initialize: function(template={}) {
+  initialize: function (template = {}) {
     this.type = template.type;
     this.template = template;
     this.args = findPlaceholders(template, Arg);
   },
 
   /**
    * Write a request.
    *
    * @param array fnArgs
    *    The function arguments to place in the request.
    * @param object ctx
    *    The object making the request.
    * @returns a request packet.
    */
-  write: function(fnArgs, ctx) {
+  write: function (fnArgs, ctx) {
     let str = JSON.stringify(this.template, (key, value) => {
       if (value instanceof Arg) {
         return value.write(value.index in fnArgs ? fnArgs[value.index] : undefined,
                            ctx, key);
       }
       return value;
     });
     return JSON.parse(str);
@@ -628,39 +628,39 @@ var Request = Class({
    * Read a request.
    *
    * @param object packet
    *    The request packet.
    * @param object ctx
    *    The object making the request.
    * @returns an arguments array
    */
-  read: function(packet, ctx) {
+  read: function (packet, ctx) {
     let fnArgs = [];
     for (let templateArg of this.args) {
       let arg = templateArg.placeholder;
       let path = templateArg.path;
       let name = path[path.length - 1];
       arg.read(getPath(packet, path), ctx, fnArgs, name);
     }
     return fnArgs;
   },
 
-  describe: function() { return describeTemplate(this.template); }
+  describe: function () { return describeTemplate(this.template); }
 });
 
 /**
  * Manages a response template.
  *
  * @param object template
  *    The response template.
  * @construcor
  */
 var Response = Class({
-  initialize: function(template={}) {
+  initialize: function (template = {}) {
     this.template = template;
     let placeholders = findPlaceholders(template, RetVal);
     if (placeholders.length > 1) {
       throw Error("More than one RetVal specified in response");
     }
     let placeholder = placeholders.shift();
     if (placeholder) {
       this.retVal = placeholder.placeholder;
@@ -671,42 +671,42 @@ var Response = Class({
   /**
    * Write a response for the given return value.
    *
    * @param val ret
    *    The return value.
    * @param object ctx
    *    The object writing the response.
    */
-  write: function(ret, ctx) {
-    return JSON.parse(JSON.stringify(this.template, function(key, value) {
+  write: function (ret, ctx) {
+    return JSON.parse(JSON.stringify(this.template, function (key, value) {
       if (value instanceof RetVal) {
         return value.write(ret, ctx);
       }
       return value;
     }));
   },
 
   /**
    * Read a return value from the given response.
    *
    * @param object packet
    *    The response packet.
    * @param object ctx
    *    The object reading the response.
    */
-  read: function(packet, ctx) {
+  read: function (packet, ctx) {
     if (!this.retVal) {
       return undefined;
     }
     let v = getPath(packet, this.path);
     return this.retVal.read(v, ctx);
   },
 
-  describe: function() { return describeTemplate(this.template); }
+  describe: function () { return describeTemplate(this.template); }
 });
 
 /**
  * Actor and Front implementations
  */
 
 /**
  * A protocol object that can manage the lifetime of other protocol
@@ -720,32 +720,32 @@ var Pool = Class({
    * lifetimes.
    *
    * @param optional conn
    *   Either a DebuggerServerConnection or a DebuggerClient.  Must have
    *   addActorPool, removeActorPool, and poolFor.
    *   conn can be null if the subclass provides a conn property.
    * @constructor
    */
-  initialize: function(conn) {
+  initialize: function (conn) {
     if (conn) {
       this.conn = conn;
     }
   },
 
   /**
    * Return the parent pool for this client.
    */
-  parent: function() { return this.conn.poolFor(this.actorID) },
+  parent: function () { return this.conn.poolFor(this.actorID); },
 
   /**
    * Override this if you want actors returned by this actor
    * to belong to a different actor by default.
    */
-  marshallPool: function() { return this; },
+  marshallPool: function () { return this; },
 
   /**
    * Pool is the base class for all actors, even leaf nodes.
    * If the child map is actually referenced, go ahead and create
    * the stuff needed by the pool.
    */
   __poolMap: null,
   get _poolMap() {
@@ -753,58 +753,58 @@ var Pool = Class({
     this.__poolMap = new Map();
     this.conn.addActorPool(this);
     return this.__poolMap;
   },
 
   /**
    * Add an actor as a child of this pool.
    */
-  manage: function(actor) {
+  manage: function (actor) {
     if (!actor.actorID) {
       actor.actorID = this.conn.allocID(actor.actorPrefix || actor.typeName);
     }
 
     this._poolMap.set(actor.actorID, actor);
     return actor;
   },
 
   /**
    * Remove an actor as a child of this pool.
    */
-  unmanage: function(actor) {
+  unmanage: function (actor) {
     this.__poolMap && this.__poolMap.delete(actor.actorID);
   },
 
   // true if the given actor ID exists in the pool.
-  has: function(actorID) {
+  has: function (actorID) {
     return this.__poolMap && this._poolMap.has(actorID);
   },
 
   // The actor for a given actor id stored in this pool
-  actor: function(actorID) {
+  actor: function (actorID) {
     return this.__poolMap ? this._poolMap.get(actorID) : null;
   },
 
   // Same as actor, should update debugger connection to use 'actor'
   // and then remove this.
-  get: function(actorID) {
+  get: function (actorID) {
     return this.__poolMap ? this._poolMap.get(actorID) : null;
   },
 
   // True if this pool has no children.
-  isEmpty: function() {
+  isEmpty: function () {
     return !this.__poolMap || this._poolMap.size == 0;
   },
 
   /**
    * Destroy this item, removing it from a parent if it has one,
    * and destroying all children if necessary.
    */
-  destroy: function() {
+  destroy: function () {
     let parent = this.parent();
     if (parent) {
       parent.unmanage(this);
     }
     if (!this.__poolMap) {
       return;
     }
     for (let actor of this.__poolMap.values()) {
@@ -815,27 +815,27 @@ var Pool = Class({
       let destroy = actor.destroy;
       if (destroy) {
         // Disconnect destroy while we're destroying in case of (misbehaving)
         // circular ownership.
         actor.destroy = null;
         destroy.call(actor);
         actor.destroy = destroy;
       }
-    };
+    }
     this.conn.removeActorPool(this, true);
     this.__poolMap.clear();
     this.__poolMap = null;
   },
 
   /**
    * For getting along with the debugger server pools, should be removable
    * eventually.
    */
-  cleanup: function() {
+  cleanup: function () {
     this.destroy();
   }
 });
 exports.Pool = Pool;
 
 /**
  * An actor in the actor tree.
  */
@@ -849,78 +849,78 @@ var Actor = Class({
    * Initialize an actor.
    *
    * @param optional conn
    *   Either a DebuggerServerConnection or a DebuggerClient.  Must have
    *   addActorPool, removeActorPool, and poolFor.
    *   conn can be null if the subclass provides a conn property.
    * @constructor
    */
-  initialize: function(conn) {
+  initialize: function (conn) {
     Pool.prototype.initialize.call(this, conn);
 
     // Forward events to the connection.
     if (this._actorSpec && this._actorSpec.events) {
       for (let key of this._actorSpec.events.keys()) {
         let name = key;
-        let sendEvent = this._sendEvent.bind(this, name)
+        let sendEvent = this._sendEvent.bind(this, name);
         this.on(name, (...args) => {
           sendEvent.apply(null, args);
         });
       }
     }
   },
 
-  toString: function() { return "[Actor " + this.typeName + "/" + this.actorID + "]" },
+  toString: function () { return "[Actor " + this.typeName + "/" + this.actorID + "]"; },
 
-  _sendEvent: function(name, ...args) {
+  _sendEvent: function (name, ...args) {
     if (!this._actorSpec.events.has(name)) {
       // It's ok to emit events that don't go over the wire.
       return;
     }
     let request = this._actorSpec.events.get(name);
     let packet;
     try {
       packet = request.write(args, this);
-    } catch(ex) {
+    } catch (ex) {
       console.error("Error sending event: " + name);
       throw ex;
     }
     packet.from = packet.from || this.actorID;
     this.conn.send(packet);
   },
 
-  destroy: function() {
+  destroy: function () {
     Pool.prototype.destroy.call(this);
     this.actorID = null;
   },
 
   /**
    * Override this method in subclasses to serialize the actor.
    * @param [optional] string hint
    *   Optional string to customize the form.
    * @returns A jsonable object.
    */
-  form: function(hint) {
-    return { actor: this.actorID }
+  form: function (hint) {
+    return { actor: this.actorID };
   },
 
-  writeError: function(error) {
+  writeError: function (error) {
     console.error(error);
     if (error.stack) {
       dump(error.stack);
     }
     this.conn.send({
       from: this.actorID,
       error: error.error || "unknownError",
       message: error.message
     });
   },
 
-  _queueResponse: function(create) {
+  _queueResponse: function (create) {
     let pending = this._pendingResponse || promise.resolve(null);
     let response = create(pending);
     this._pendingResponse = response;
   }
 });
 exports.Actor = Actor;
 
 /**
@@ -930,41 +930,41 @@ exports.Actor = Actor;
  *    The implementation function, will be returned.
  * @param spec
  *    The method specification, with the following (optional) properties:
  *      request (object): a request template.
  *      response (object): a response template.
  *      oneway (bool): 'true' if no response should be sent.
  *      telemetry (string): Telemetry probe ID for measuring completion time.
  */
-exports.method = function(fn, spec={}) {
+exports.method = function (fn, spec = {}) {
   fn._methodSpec = Object.freeze(spec);
   if (spec.request) Object.freeze(spec.request);
   if (spec.response) Object.freeze(spec.response);
   return fn;
-}
+};
 
 /**
  * Generates an actor specification from an actor description.
  */
-var generateActorSpec = function(actorDesc) {
+var generateActorSpec = function (actorDesc) {
   let actorSpec = {
     typeName: actorDesc.typeName,
     methods: []
   };
 
   // Find method and form specifications attached to properties.
   for (let name of Object.getOwnPropertyNames(actorDesc)) {
     let desc = Object.getOwnPropertyDescriptor(actorDesc, name);
     if (!desc.value) {
       continue;
     }
 
     if (name.startsWith("formType")) {
-      if (typeof(desc.value) === "string") {
+      if (typeof (desc.value) === "string") {
         actorSpec[name] = types.getType(desc.value);
       } else if (desc.value.name && registeredTypes.has(desc.value.name)) {
         actorSpec[name] = desc.value;
       } else {
         // Shorthand for a newly-registered DictType.
         actorSpec[name] = types.addDictType(actorDesc.typeName + "__" + name, desc.value);
       }
     }
@@ -1018,85 +1018,85 @@ var generateActorSpec = function(actorDe
   return actorSpec;
 };
 exports.generateActorSpec = generateActorSpec;
 
 /**
  * Generates request handlers as described by the given actor specification on
  * the given actor prototype. Returns the actor prototype.
  */
-var generateRequestHandlers = function(actorSpec, actorProto) {
+var generateRequestHandlers = function (actorSpec, actorProto) {
   if (actorProto._actorSpec) {
     throw new Error("actorProto called twice on the same actor prototype!");
   }
 
   actorProto.typeName = actorSpec.typeName;
 
   // Generate request handlers for each method definition
   actorProto.requestTypes = Object.create(null);
   actorSpec.methods.forEach(spec => {
-    let handler = function(packet, conn) {
+    let handler = function (packet, conn) {
       try {
         let args;
         try {
           args = spec.request.read(packet, this);
-        } catch(ex) {
+        } catch (ex) {
           console.error("Error reading request: " + packet.type);
           throw ex;
         }
 
         let ret = this[spec.name].apply(this, args);
 
         let sendReturn = (ret) => {
           if (spec.oneway) {
             // No need to send a response.
             return;
           }
 
           let response;
           try {
             response = spec.response.write(ret, this);
-          } catch(ex) {
+          } catch (ex) {
             console.error("Error writing response to: " + spec.name);
             throw ex;
           }
           response.from = this.actorID;
           // If spec.release has been specified, destroy the object.
           if (spec.release) {
             try {
               this.destroy();
-            } catch(e) {
+            } catch (e) {
               this.writeError(e);
               return;
             }
           }
 
           conn.send(response);
         };
 
         this._queueResponse(p => {
           return p
             .then(() => ret)
             .then(sendReturn)
             .then(null, this.writeError.bind(this));
-        })
-      } catch(e) {
+        });
+      } catch (e) {
         this._queueResponse(p => {
           return p.then(() => this.writeError(e));
         });
       }
     };
 
     actorProto.requestTypes[spec.request.type] = handler;
   });
 
   actorProto._actorSpec = actorSpec;
 
   return actorProto;
-}
+};
 
 /**
  * Create an actor class for the given actor prototype.
  *
  * @param object actorProto
  *    The actor prototype.  Must have a 'typeName' property,
  *    should have method definitions, can have event definitions.
  */
@@ -1108,17 +1108,17 @@ exports.ActorClass = function (actorProt
  * Create an actor class for the given actor specification and prototype.
  *
  * @param object actorSpec
  *    The actor specification. Must have a 'typeName' property.
  * @param object actorProto
  *    The actor prototype. Should have method definitions, can have event
  *    definitions.
  */
-var ActorClassWithSpec = function(actorSpec, actorProto) {
+var ActorClassWithSpec = function (actorSpec, actorProto) {
   if (!actorSpec.typeName) {
     throw Error("Actor specification must have a typeName member.");
   }
 
   actorProto.extends = Actor;
   let cls = Class(generateRequestHandlers(actorSpec, actorProto));
 
   return cls;
@@ -1139,110 +1139,110 @@ var Front = Class({
    * @param optional conn
    *   Either a DebuggerServerConnection or a DebuggerClient.  Must have
    *   addActorPool, removeActorPool, and poolFor.
    *   conn can be null if the subclass provides a conn property.
    * @param optional form
    *   The json form provided by the server.
    * @constructor
    */
-  initialize: function(conn=null, form=null, detail=null, context=null) {
+  initialize: function (conn = null, form = null, detail = null, context = null) {
     Pool.prototype.initialize.call(this, conn);
     this._requests = [];
 
     // protocol.js no longer uses this data in the constructor, only external
     // uses do.  External usage of manually-constructed fronts will be
     // drastically reduced if we convert the root and tab actors to
     // protocol.js, in which case this can probably go away.
     if (form) {
       this.actorID = form.actor;
       form = types.getType(this.typeName).formType(detail).read(form, this, detail);
       this.form(form, detail, context);
     }
   },
 
-  destroy: function() {
+  destroy: function () {
     // Reject all outstanding requests, they won't make sense after
     // the front is destroyed.
     while (this._requests && this._requests.length > 0) {
       let { deferred, to, type, stack } = this._requests.shift();
       let msg = "Connection closed, pending request to " + to +
                 ", type " + type + " failed" +
                 "\n\nRequest stack:\n" + stack.formattedStack;
       deferred.reject(new Error(msg));
     }
     Pool.prototype.destroy.call(this);
     this.actorID = null;
   },
 
-  manage: function(front) {
+  manage: function (front) {
     if (!front.actorID) {
       throw new Error("Can't manage front without an actor ID.\n" +
                       "Ensure server supports " + front.typeName + ".");
     }
     return Pool.prototype.manage.call(this, front);
   },
 
   /**
    * @returns a promise that will resolve to the actorID this front
    * represents.
    */
-  actor: function() { return promise.resolve(this.actorID) },
+  actor: function () { return promise.resolve(this.actorID); },
 
-  toString: function() { return "[Front for " + this.typeName + "/" + this.actorID + "]" },
+  toString: function () { return "[Front for " + this.typeName + "/" + this.actorID + "]"; },
 
   /**
    * Update the actor from its representation.
    * Subclasses should override this.
    */
-  form: function(form) {},
+  form: function (form) {},
 
   /**
    * Send a packet on the connection.
    */
-  send: function(packet) {
+  send: function (packet) {
     if (packet.to) {
       this.conn._transport.send(packet);
     } else {
       this.actor().then(actorID => {
         packet.to = actorID;
         this.conn._transport.send(packet);
       }).then(null, e => DevToolsUtils.reportException("Front.prototype.send", e));
     }
   },
 
   /**
    * Send a two-way request on the connection.
    */
-  request: function(packet) {
+  request: function (packet) {
     let deferred = promise.defer();
     // Save packet basics for debugging
     let { to, type } = packet;
     this._requests.push({
       deferred,
       to: to || this.actorID,
       type,
       stack: components.stack,
     });
     this.send(packet);
     return deferred.promise;
   },
 
   /**
    * Handler for incoming packets from the client's actor.
    */
-  onPacket: function(packet) {
+  onPacket: function (packet) {
     // Pick off event packets
     let type = packet.type || undefined;
     if (this._clientSpec.events && this._clientSpec.events.has(type)) {
       let event = this._clientSpec.events.get(packet.type);
       let args;
       try {
         args = event.request.read(packet, this);
-      } catch(ex) {
+      } catch (ex) {
         console.error("Error reading event: " + packet.type);
         console.exception(ex);
         throw ex;
       }
       if (event.pre) {
         let results = event.pre.map(pre => pre.apply(this, args));
 
         // Check to see if any of the preEvents returned a promise -- if so,
@@ -1284,46 +1284,46 @@ var Front = Class({
   }
 });
 exports.Front = Front;
 
 /**
  * A method tagged with preEvent will be called after recieving a packet
  * for that event, and before the front emits the event.
  */
-exports.preEvent = function(eventName, fn) {
+exports.preEvent = function (eventName, fn) {
   fn._preEvent = eventName;
   return fn;
-}
+};
 
 /**
  * Mark a method as a custom front implementation, replacing the generated
  * front method.
  *
  * @param function fn
  *    The front implementation, will be returned.
  * @param object options
  *    Options object:
  *      impl (string): If provided, the generated front method will be
  *        stored as this property on the prototype.
  */
-exports.custom = function(fn, options={}) {
+exports.custom = function (fn, options = {}) {
   fn._customFront = options;
   return fn;
-}
+};
 
 function prototypeOf(obj) {
-  return typeof(obj) === "function" ? obj.prototype : obj;
+  return typeof (obj) === "function" ? obj.prototype : obj;
 }
 
 /**
  * Generates request methods as described by the given actor specification on
  * the given front prototype. Returns the front prototype.
  */
-var generateRequestMethods = function(actorSpec, frontProto) {
+var generateRequestMethods = function (actorSpec, frontProto) {
   if (frontProto._actorSpec) {
     throw new Error("frontProto called twice on the same front prototype!");
   }
 
   frontProto.typeName = actorSpec.typeName;
 
   // Generate request methods.
   let methods = actorSpec.methods;
@@ -1339,77 +1339,77 @@ var generateRequestMethods = function(ac
       }
       // If the user doesn't need the impl don't generate it.
       if (!custom.impl) {
         return;
       }
       name = custom.impl;
     }
 
-    frontProto[name] = function(...args) {
+    frontProto[name] = function (...args) {
       let histogram, startTime;
       if (spec.telemetry) {
         if (spec.oneway) {
           // That just doesn't make sense.
           throw Error("Telemetry specified for a oneway request");
         }
         let transportType = this.conn.localTransport
           ? "LOCAL_"
           : "REMOTE_";
         let histogramId = "DEVTOOLS_DEBUGGER_RDP_"
           + transportType + spec.telemetry + "_MS";
         try {
           histogram = Services.telemetry.getHistogramById(histogramId);
           startTime = new Date();
-        } catch(ex) {
+        } catch (ex) {
           // XXX: Is this expected in xpcshell tests?
           console.error(ex);
           spec.telemetry = false;
         }
       }
 
       let packet;
       try {
         packet = spec.request.write(args, this);
-      } catch(ex) {
+      } catch (ex) {
         console.error("Error writing request: " + name);
         throw ex;
       }
       if (spec.oneway) {
         // Fire-and-forget oneway packets.
         this.send(packet);
         return undefined;
       }
 
       return this.request(packet).then(response => {
         let ret;
         try {
           ret = spec.response.read(response, this);
-        } catch(ex) {
+        } catch (ex) {
           console.error("Error reading response to: " + name);
           throw ex;
         }
 
         if (histogram) {
           histogram.add(+new Date - startTime);
         }
 
         return ret;
       });
-    }
+    };
 
     // Release methods should call the destroy function on return.
     if (spec.release) {
       let fn = frontProto[name];
-      frontProto[name] = function(...args) {
+      frontProto[name] = function (...args) {
         return fn.apply(this, args).then(result => {
           this.destroy();
           return result;
-        })
-      }
+        });
+      };
     }
   });
 
 
   // Process event specifications
   frontProto._clientSpec = {};
 
   let events = actorSpec.events;
@@ -1444,54 +1444,54 @@ var generateRequestMethods = function(ac
         pre: preHandlers.get(name)
       });
     }
   }
 
   frontProto._actorSpec = actorSpec;
 
   return frontProto;
-}
+};
 
 /**
  * Create a front class for the given actor class and front prototype.
  *
  * @param ActorClass actorType
  *    The actor class you're creating a front for.
  * @param object frontProto
  *    The front prototype.  Must have a 'typeName' property,
  *    should have method definitions, can have event definitions.
  */
-exports.FrontClass = function(actorType, frontProto) {
+exports.FrontClass = function (actorType, frontProto) {
   return FrontClassWithSpec(prototypeOf(actorType)._actorSpec, frontProto);
-}
+};
 
 /**
  * Create a front class for the given actor specification and front prototype.
  *
  * @param object actorSpec
  *    The actor specification you're creating a front for.
  * @param object proto
  *    The object prototype.  Must have a 'typeName' property,
  *    should have method definitions, can have event definitions.
  */
-var FrontClassWithSpec = function(actorSpec, frontProto) {
+var FrontClassWithSpec = function (actorSpec, frontProto) {
   frontProto.extends = Front;
   let cls = Class(generateRequestMethods(actorSpec, frontProto));
 
   if (!registeredTypes.has(actorSpec.typeName)) {
     types.addActorType(actorSpec.typeName);
   }
   registeredTypes.get(actorSpec.typeName).frontClass = cls;
 
   return cls;
-}
+};
 exports.FrontClassWithSpec = FrontClassWithSpec;
 
-exports.dumpActorSpec = function(type) {
+exports.dumpActorSpec = function (type) {
   let actorSpec = type.actorSpec;
   let ret = {
     category: "actor",
     typeName: type.name,
     methods: [],
     events: {}
   };
 
@@ -1510,32 +1510,32 @@ exports.dumpActorSpec = function(type) {
       ret.events[name] = request.describe();
     }
   }
 
 
   JSON.stringify(ret);
 
   return ret;
-}
+};
 
-exports.dumpProtocolSpec = function() {
+exports.dumpProtocolSpec = function () {
   let ret = {
     types: {},
   };
 
   for (let [name, type] of registeredTypes) {
     // Force lazy instantiation if needed.
     type = types.getType(name);
     let category = type.category || undefined;
     if (category === "dict") {
       ret.types[name] = {
         category: "dict",
         typeName: name,
         specializations: type.specializations
-      }
+      };
     } else if (category === "actor") {
       ret.types[name] = exports.dumpActorSpec(type);
     }
   }
 
   return ret;
-}
+};
--- a/devtools/shared/qrcode/index.js
+++ b/devtools/shared/qrcode/index.js
@@ -17,17 +17,17 @@ Object.defineProperty(this, "QRRSBlock",
 Object.defineProperty(this, "QRErrorCorrectLevel", {
   get: () => require("./encoder/index").QRErrorCorrectLevel
 });
 Object.defineProperty(this, "decoder", {
   get: () => {
     // Some applications don't ship the decoder, see moz.build
     try {
       return require("./decoder/index");
-    } catch(e) {
+    } catch (e) {
       return null;
     }
   }
 });
 
 /**
  * There are many "versions" of QR codes, which describes how many dots appear
  * in the resulting image, thus limiting the amount of data that can be
@@ -39,17 +39,17 @@ Object.defineProperty(this, "decoder", {
  * It expects you to pick a version large enough to contain your message.  Here
  * we search for the mimimum version based on the message length.
  * @param string message
  *        Text to encode
  * @param string quality
  *        Quality level: L, M, Q, H
  * @return integer
  */
-exports.findMinimumVersion = function(message, quality) {
+exports.findMinimumVersion = function (message, quality) {
   let msgLength = message.length;
   let qualityLevel = QRErrorCorrectLevel[quality];
   for (let version = 1; version <= 10; version++) {
     let rsBlocks = QRRSBlock.getRSBlocks(version, qualityLevel);
     let maxLength = rsBlocks.reduce((prev, block) => {
       return prev + block.dataCount;
     }, 0);
     // Remove two bytes to fit header info
@@ -69,47 +69,47 @@ exports.findMinimumVersion = function(me
           Quality level: L, M, Q, H
  * @param integer version (optional)
  *        QR code "version" large enough to contain the message
  * @return object with the following fields:
  *   * src:    an image encoded a data URI
  *   * height: image height
  *   * width:  image width
  */
-exports.encodeToDataURI = function(message, quality, version) {
+exports.encodeToDataURI = function (message, quality, version) {
   quality = quality || "H";
   version = version || exports.findMinimumVersion(message, quality);
   let encoder = new Encoder(version, quality);
   encoder.addData(message);
   encoder.make();
   return encoder.createImgData();
 };
 
 /**
  * Simple wrapper around the underlying decoder's API.
  * @param string URI
  *        URI of an image of a QR code
  * @return Promise
  *         The promise will be resolved with a string, which is the data inside
  *         the QR code.
  */
-exports.decodeFromURI = function(URI) {
+exports.decodeFromURI = function (URI) {
   if (!decoder) {
     return promise.reject();
   }
   let deferred = promise.defer();
   decoder.decodeFromURI(URI, deferred.resolve, deferred.reject);
   return deferred.promise;
 };
 
 /**
  * Decode a QR code that has been drawn to a canvas element.
  * @param Canvas canvas
  *        <canvas> element to read from
  * @return string
  *         The data inside the QR code
  */
-exports.decodeFromCanvas = function(canvas) {
+exports.decodeFromCanvas = function (canvas) {
   if (!decoder) {
     throw new Error("Decoder not available");
   }
   return decoder.decodeFromCanvas(canvas);
 };
--- a/devtools/shared/security/auth.js
+++ b/devtools/shared/security/auth.js
@@ -87,17 +87,17 @@ var Authenticators = {};
  * connection details, and asks the user to verify the connection.  There are
  * no cryptographic properties at work here, so it is up to the user to be sure
  * that the client can be trusted.
  */
 var Prompt = Authenticators.Prompt = {};
 
 Prompt.mode = "PROMPT";
 
-Prompt.Client = function() {};
+Prompt.Client = function () {};
 Prompt.Client.prototype = {
 
   mode: Prompt.mode,
 
   /**
    * When client has just made a new socket connection, validate the connection
    * to ensure it meets the authenticator's policies.
    *
@@ -133,17 +133,17 @@ Prompt.Client.prototype = {
    * @param transport DebuggerTransport
    *        A transport that can be used to communicate with the server.
    * @return A promise can be used if there is async behavior.
    */
   authenticate() {},
 
 };
 
-Prompt.Server = function() {};
+Prompt.Server = function () {};
 Prompt.Server.prototype = {
 
   mode: Prompt.mode,
 
   /**
    * Verify that listener settings are appropriate for this authentication mode.
    *
    * @param listener SocketListener
@@ -251,17 +251,17 @@ Prompt.Server.prototype = {
  * connections in the future with no user interaction needed.
  *
  * See docs/wifi.md for details of the authentication design.
  */
 var OOBCert = Authenticators.OOBCert = {};
 
 OOBCert.mode = "OOB_CERT";
 
-OOBCert.Client = function() {};
+OOBCert.Client = function () {};
 OOBCert.Client.prototype = {
 
   mode: OOBCert.mode,
 
   /**
    * When client has just made a new socket connection, validate the connection
    * to ensure it meets the authenticator's policies.
    *
@@ -321,17 +321,17 @@ OOBCert.Client.prototype = {
       // authentication steps
       if (activeSendDialog && activeSendDialog.close) {
         activeSendDialog.close();
         activeSendDialog = null;
       }
     };
 
     transport.hooks = {
-      onPacket: Task.async(function*(packet) {
+      onPacket: Task.async(function* (packet) {
         closeDialog();
         let { authResult } = packet;
         switch (authResult) {
           case AuthenticationResult.PENDING:
             // Step B.8
             // Client creates hash(ClientCert) + K(random 128-bit number)
             oobData = yield this._createOOB();
             activeSendDialog = this.sendOOB({
@@ -376,17 +376,17 @@ OOBCert.Client.prototype = {
     transport.ready();
     return deferred.promise;
   },
 
   /**
    * Create the package of data that needs to be transferred across the OOB
    * channel.
    */
-  _createOOB: Task.async(function*() {
+  _createOOB: Task.async(function* () {
     let clientCert = yield cert.local.getOrCreate();
     return {
       sha256: clientCert.sha256Fingerprint,
       k: this._createRandom()
     };
   }),
 
   _createRandom() {
@@ -414,17 +414,17 @@ OOBCert.Client.prototype = {
    *        * k     : K(random 128-bit number)
    * @return object containing:
    *         * close: Function to hide the notification
    */
   sendOOB: prompt.Client.defaultSendOOB,
 
 };
 
-OOBCert.Server = function() {};
+OOBCert.Server = function () {};
 OOBCert.Server.prototype = {
 
   mode: OOBCert.mode,
 
   /**
    * Verify that listener settings are appropriate for this authentication mode.
    *
    * @param listener SocketListener
@@ -488,17 +488,17 @@ OOBCert.Server.prototype = {
    *              sha256
    *            }
    *          },
    *          transport
    *        }
    * @return An AuthenticationResult value.
    *         A promise that will be resolved to the above is also allowed.
    */
-  authenticate: Task.async(function*({ client, server, transport }) {
+  authenticate: Task.async(function* ({ client, server, transport }) {
     // Step B.3 / C.3
     // TLS connection established, authentication begins
     const storageKey = `devtools.auth.${this.mode}.approved-clients`;
     let approvedClients = (yield asyncStorage.getItem(storageKey)) || {};
     // Step C.4
     // Server sees that ClientCert is from a known client via hash(ClientCert)
     if (approvedClients[client.cert.sha256]) {
       let authResult = AuthenticationResult.ALLOW_PERSIST;
--- a/devtools/shared/security/cert.js
+++ b/devtools/shared/security/cert.js
@@ -28,17 +28,17 @@ exports.local = {
    * and is valid for 1 year.  If an expired or otherwise invalid cert is found,
    * it is removed and a new one is made.
    *
    * @return promise
    */
   getOrCreate() {
     let deferred = promise.defer();
     localCertService.getOrCreateCert(localCertName, {
-      handleCert: function(cert, rv) {
+      handleCert: function (cert, rv) {
         if (rv) {
           deferred.reject(rv);
           return;
         }
         deferred.resolve(cert);
       }
     });
     return deferred.promise;
@@ -47,17 +47,17 @@ exports.local = {
   /**
    * Remove the DevTools self-signed X.509 cert for this device.
    *
    * @return promise
    */
   remove() {
     let deferred = promise.defer();
     localCertService.removeCert(localCertName, {
-      handleCert: function(rv) {
+      handleCert: function (rv) {
         if (rv) {
           deferred.reject(rv);
           return;
         }
         deferred.resolve();
       }
     });
     return deferred.promise;
--- a/devtools/shared/security/prompt.js
+++ b/devtools/shared/security/prompt.js
@@ -53,17 +53,17 @@ Client.defaultSendOOB = ({ authResult, o
   }
   let title = bundle.GetStringFromName("clientSendOOBTitle");
   let header = bundle.GetStringFromName("clientSendOOBHeader");
   let hashMsg = bundle.formatStringFromName("clientSendOOBHash",
                                             [oob.sha256], 1);
   let token = oob.sha256.replace(/:/g, "").toLowerCase() + oob.k;
   let tokenMsg = bundle.formatStringFromName("clientSendOOBToken",
                                              [token], 1);
-  let msg =`${header}\n\n${hashMsg}\n${tokenMsg}`;
+  let msg = `${header}\n\n${hashMsg}\n${tokenMsg}`;
   let prompt = Services.prompt;
   let flags = prompt.BUTTON_POS_0 * prompt.BUTTON_TITLE_CANCEL;
 
   // Listen for the window our prompt opens, so we can close it programatically
   let promptWindow;
   let windowListener = {
     onOpenWindow(xulWindow) {
       let win = xulWindow.QueryInterface(Ci.nsIInterfaceRequestor)
@@ -131,17 +131,17 @@ Server.defaultAllowConnection = ({ clien
   let clientMsg =
     bundle.formatStringFromName("remoteIncomingPromptClientEndpoint",
                                 [clientEndpoint], 1);
   let serverEndpoint = `${server.host}:${server.port}`;
   let serverMsg =
     bundle.formatStringFromName("remoteIncomingPromptServerEndpoint",
                                 [serverEndpoint], 1);
   let footer = bundle.GetStringFromName("remoteIncomingPromptFooter");
-  let msg =`${header}\n\n${clientMsg}\n${serverMsg}\n\n${footer}`;
+  let msg = `${header}\n\n${clientMsg}\n${serverMsg}\n\n${footer}`;
   let disableButton = bundle.GetStringFromName("remoteIncomingPromptDisable");
   let prompt = Services.prompt;
   let flags = prompt.BUTTON_POS_0 * prompt.BUTTON_TITLE_OK +
               prompt.BUTTON_POS_1 * prompt.BUTTON_TITLE_CANCEL +
               prompt.BUTTON_POS_2 * prompt.BUTTON_TITLE_IS_STRING +
               prompt.BUTTON_POS_1_DEFAULT;
   let result = prompt.confirmEx(null, title, msg, flags, null, null,
                                 disableButton, null, { value: false });
--- a/devtools/shared/security/socket.js
+++ b/devtools/shared/security/socket.js
@@ -64,17 +64,17 @@ var DebuggerSocket = {};
  * @param authenticator Authenticator (optional)
  *        |Authenticator| instance matching the mode in use by the server.
  *        Defaults to a PROMPT instance if not supplied.
  * @param cert object (optional)
  *        The server's cert details.  Used with OOB_CERT authentication.
  * @return promise
  *         Resolved to a DebuggerTransport instance.
  */
-DebuggerSocket.connect = Task.async(function*(settings) {
+DebuggerSocket.connect = Task.async(function* (settings) {
   // Default to PROMPT |Authenticator| instance if not supplied
   if (!settings.authenticator) {
     settings.authenticator = new (Authenticators.get().Client)();
   }
   let { host, port, encryption, authenticator, cert } = settings;
   let transport = yield _getTransport(settings);
   yield authenticator.authenticate({
     host,
@@ -104,17 +104,17 @@ DebuggerSocket.connect = Task.async(func
  * @return transport DebuggerTransport
  *         A possible DevTools transport (if connection succeeded and streams
  *         are actually alive and working)
  * @return certError boolean
  *         Flag noting if cert trouble caused the streams to fail
  * @return s nsISocketTransport
  *         Underlying socket transport, in case more details are needed.
  */
-var _getTransport = Task.async(function*(settings) {
+var _getTransport = Task.async(function* (settings) {
   let { host, port, encryption } = settings;
   let attempt = yield _attemptTransport(settings);
   if (attempt.transport) {
     return attempt.transport; // Success
   }
 
   // If the server cert failed validation, store a temporary override and make
   // a second attempt.
@@ -152,30 +152,30 @@ var _getTransport = Task.async(function*
  * @return transport DebuggerTransport
  *         A possible DevTools transport (if connection succeeded and streams
  *         are actually alive and working)
  * @return certError boolean
  *         Flag noting if cert trouble caused the streams to fail
  * @return s nsISocketTransport
  *         Underlying socket transport, in case more details are needed.
  */
-var _attemptTransport = Task.async(function*(settings) {
+var _attemptTransport = Task.async(function* (settings) {
   let { authenticator } = settings;
   // _attemptConnect only opens the streams.  Any failures at that stage
   // aborts the connection process immedidately.
   let { s, input, output } = yield _attemptConnect(settings);
 
   // Check if the input stream is alive.  If encryption is enabled, we need to
   // watch out for cert errors by testing the input stream.
   let alive, certError;
   try {
     let results = yield _isInputAlive(input);
     alive = results.alive;
     certError = results.certError;
-  } catch(e) {
+  } catch (e) {
     // For other unexpected errors, like NS_ERROR_CONNECTION_REFUSED, we reach
     // this block.
     input.close();
     output.close();
     throw e;
   }
   dumpv("Server cert accepted? " + !certError);
 
@@ -210,17 +210,17 @@ var _attemptTransport = Task.async(funct
  * fail later when the streams are actually used.
  * @return s nsISocketTransport
  *         Underlying socket transport, in case more details are needed.
  * @return input nsIAsyncInputStream
  *         The socket's input stream.
  * @return output nsIAsyncOutputStream
  *         The socket's output stream.
  */
-var _attemptConnect = Task.async(function*({ host, port, encryption }) {
+var _attemptConnect = Task.async(function* ({ host, port, encryption }) {
   let s;
   if (encryption) {
     s = socketTransportService.createTransport(["ssl"], 1, host, port, null);
   } else {
     s = socketTransportService.createTransport(null, 0, host, port, null);
   }
   // By default the CONNECT socket timeout is very long, 65535 seconds,
   // so that if we race to be in CONNECT state while the server socket is still
@@ -251,29 +251,29 @@ var _attemptConnect = Task.async(functio
       }
       if (encryption) {
         let sslSocketControl =
           transport.securityInfo.QueryInterface(Ci.nsISSLSocketControl);
         sslSocketControl.clientCert = clientCert;
       }
       try {
         input = s.openInputStream(0, 0, 0);
-      } catch(e) {
+      } catch (e) {
         deferred.reject(e);
       }
       deferred.resolve({ s, input, output });
     }
   }, Services.tm.currentThread);
 
   // openOutputStream may throw NS_ERROR_NOT_INITIALIZED if we hit some race
   // where the nsISocketTransport gets shutdown in between its instantiation and
   // the call to this method.
   try {
     output = s.openOutputStream(0, 0, 0);
-  } catch(e) {
+  } catch (e) {
     deferred.reject(e);
   }
 
   deferred.promise.catch(e => {
     if (input) {
       input.close();
     }
     if (output) {
@@ -366,41 +366,41 @@ SocketListener.prototype = {
    *
    * Here we set the default |Authenticator|, which is |Prompt|.
    */
   authenticator: new (Authenticators.get().Server)(),
 
   /**
    * Validate that all options have been set to a supported configuration.
    */
-  _validateOptions: function() {
+  _validateOptions: function () {
     if (this.portOrPath === null) {
       throw new Error("Must set a port / path to listen on.");
     }
     if (this.discoverable && !Number(this.portOrPath)) {
       throw new Error("Discovery only supported for TCP sockets.");
     }
     this.authenticator.validateOptions(this);
   },
 
   /**
    * Listens on the given port or socket file for remote debugger connections.
    */
-  open: function() {
+  open: function () {
     this._validateOptions();
     DebuggerServer._addListener(this);
 
     let flags = Ci.nsIServerSocket.KeepWhenOffline;
     // A preference setting can force binding on the loopback interface.
     if (Services.prefs.getBoolPref("devtools.debugger.force-local")) {
       flags |= Ci.nsIServerSocket.LoopbackOnly;
     }
 
     let self = this;
-    return Task.spawn(function*() {
+    return Task.spawn(function* () {
       let backlog = 4;
       self._socket = self._createSocketInstance();
       if (self.isPortBased) {
         let port = Number(self.portOrPath);
         self._socket.initSpecialConnection(port, flags, backlog);
       } else {
         let file = nsFile(self.portOrPath);
         if (file.exists()) {
@@ -415,56 +415,56 @@ SocketListener.prototype = {
       this._advertise();
     }).catch(e => {
       dumpn("Could not start debugging listener on '" + this.portOrPath +
             "': " + e);
       this.close();
     });
   },
 
-  _advertise: function() {
+  _advertise: function () {
     if (!this.discoverable || !this.port) {
       return;
     }
 
     let advertisement = {
       port: this.port,
       encryption: this.encryption,
     };
 
     this.authenticator.augmentAdvertisement(this, advertisement);
 
     discovery.addService("devtools", advertisement);
   },
 
-  _createSocketInstance: function() {
+  _createSocketInstance: function () {
     if (this.encryption) {
       return Cc["@mozilla.org/network/tls-server-socket;1"]
              .createInstance(Ci.nsITLSServerSocket);
     }
     return Cc["@mozilla.org/network/server-socket;1"]
            .createInstance(Ci.nsIServerSocket);
   },
 
-  _setAdditionalSocketOptions: Task.async(function*() {
+  _setAdditionalSocketOptions: Task.async(function* () {
     if (this.encryption) {
       this._socket.serverCert = yield cert.local.getOrCreate();
       this._socket.setSessionCache(false);
       this._socket.setSessionTickets(false);
       let requestCert = Ci.nsITLSServerSocket.REQUEST_NEVER;
       this._socket.setRequestClientCertificate(requestCert);
     }
     this.authenticator.augmentSocketOptions(this, this._socket);
   }),
 
   /**
    * Closes the SocketListener.  Notifies the server to remove the listener from
    * the set of active SocketListeners.
    */
-  close: function() {
+  close: function () {
     if (this.discoverable && this.port) {
       discovery.removeService("devtools");
     }
     if (this._socket) {
       this._socket.close();
       this._socket = null;
     }
     DebuggerServer._removeListener(this);
@@ -505,21 +505,21 @@ SocketListener.prototype = {
     return {
       sha256: this._socket.serverCert.sha256Fingerprint
     };
   },
 
   // nsIServerSocketListener implementation
 
   onSocketAccepted:
-  DevToolsUtils.makeInfallible(function(socket, socketTransport) {
+  DevToolsUtils.makeInfallible(function (socket, socketTransport) {
     new ServerSocketConnection(this, socketTransport);
   }, "SocketListener.onSocketAccepted"),
 
-  onStopListening: function(socket, status) {
+  onStopListening: function (socket, status) {
     dumpn("onStopListening, status: " + status);
   }
 
 };
 
 // Client must complete TLS handshake within this window (ms)
 loader.lazyGetter(this, "HANDSHAKE_TIMEOUT", () => {
   return Services.prefs.getIntPref("devtools.remote.tls-handshake-timeout");
@@ -589,17 +589,17 @@ ServerSocketConnection.prototype = {
   /**
    * This is the main authentication workflow.  If any pieces reject a promise,
    * the connection is denied.  If the entire process resolves successfully,
    * the connection is finally handed off to the |DebuggerServer|.
    */
   _handle() {
     dumpn("Debugging connection starting authentication on " + this.address);
     let self = this;
-    Task.spawn(function*() {
+    Task.spawn(function* () {
       self._listenForTLSHandshake();
       self._createTransport();
       yield self._awaitTLSHandshake();
       yield self._authenticate();
     }).then(() => this.allow()).catch(e => this.deny(e));
   },
 
   /**
@@ -678,17 +678,17 @@ ServerSocketConnection.prototype = {
     if (clientStatus.tlsVersionUsed != Ci.nsITLSClientStatus.TLS_VERSION_1_2) {
       this._handshakeDeferred.reject(Cr.NS_ERROR_CONNECTION_REFUSED);
       return;
     }
 
     this._handshakeDeferred.resolve();
   },
 
-  _authenticate: Task.async(function*() {
+  _authenticate: Task.async(function* () {
     let result = yield this._listener.authenticator.authenticate({
       client: this.client,
       server: this.server,
       transport: this._transport
     });
     switch (result) {
       case AuthenticationResult.DISABLE_ALL:
         DebuggerServer.closeAllListeners();
@@ -739,13 +739,13 @@ ServerSocketConnection.prototype = {
     this._listener = null;
     this._socketTransport = null;
     this._transport = null;
     this._clientCert = null;
   }
 
 };
 
-DebuggerSocket.createListener = function() {
+DebuggerSocket.createListener = function () {
   return new SocketListener();
 };
 
 exports.DebuggerSocket = DebuggerSocket;
--- a/devtools/shared/security/tests/unit/test_encryption.js
+++ b/devtools/shared/security/tests/unit/test_encryption.js
@@ -15,33 +15,33 @@ function run_test() {
 function connectClient(client) {
   let deferred = promise.defer();
   client.connect(() => {
     client.listTabs(deferred.resolve);
   });
   return deferred.promise;
 }
 
-add_task(function*() {
+add_task(function* () {
   initTestDebuggerServer();
 });
 
 // Client w/ encryption connects successfully to server w/ encryption
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   let AuthenticatorType = DebuggerServer.Authenticators.get("PROMPT");
   let authenticator = new AuthenticatorType.Server();
   authenticator.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
+  listener.portOrPath = -1;
   listener.authenticator = authenticator;
   listener.encryption = true;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   let transport = yield DebuggerClient.socketConnect({
     host: "127.0.0.1",
     port: listener.port,
@@ -67,44 +67,44 @@ add_task(function*() {
 
   client.removeListener("closed", onUnexpectedClose);
   transport.close();
   listener.close();
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 });
 
 // Client w/o encryption fails to connect to server w/ encryption
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   let AuthenticatorType = DebuggerServer.Authenticators.get("PROMPT");
   let authenticator = new AuthenticatorType.Server();
   authenticator.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
+  listener.portOrPath = -1;
   listener.authenticator = authenticator;
   listener.encryption = true;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   try {
     yield DebuggerClient.socketConnect({
       host: "127.0.0.1",
       port: listener.port
       // encryption: false is the default
     });
-  } catch(e) {
+  } catch (e) {
     ok(true, "Client failed to connect as expected");
     listener.close();
     equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
     return;
   }
 
   do_throw("Connection unexpectedly succeeded");
 });
 
-add_task(function*() {
+add_task(function* () {
   DebuggerServer.destroy();
 });
--- a/devtools/shared/security/tests/unit/test_oob_cert_auth.js
+++ b/devtools/shared/security/tests/unit/test_oob_cert_auth.js
@@ -16,39 +16,39 @@ function run_test() {
 }
 
 function connectClient(client) {
   return client.connect(() => {
     return client.listTabs();
   });
 }
 
-add_task(function*() {
+add_task(function* () {
   initTestDebuggerServer();
 });
 
 // Client w/ OOB_CERT auth connects successfully to server w/ OOB_CERT auth
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   // Grab our cert, instead of relying on a discovery advertisement
   let serverCert = yield cert.local.getOrCreate();
 
   let oobData = promise.defer();
   let AuthenticatorType = DebuggerServer.Authenticators.get("OOB_CERT");
   let serverAuth = new AuthenticatorType.Server();
   serverAuth.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
   serverAuth.receiveOOB = () => oobData.promise; // Skip prompt for tests
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
-  listener.encryption = true /* required for OOB_CERT */;
+  listener.portOrPath = -1;
+  listener.encryption = true;
   listener.authenticator = serverAuth;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   let clientAuth = new AuthenticatorType.Client();
   clientAuth.sendOOB = ({ oob }) => {
     do_print(oob);
     // Pass to server, skipping prompt for tests
@@ -84,31 +84,31 @@ add_task(function*() {
 
   client.removeListener("closed", onUnexpectedClose);
   transport.close();
   listener.close();
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 });
 
 // Client w/o OOB_CERT auth fails to connect to server w/ OOB_CERT auth
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   let oobData = promise.defer();
   let AuthenticatorType = DebuggerServer.Authenticators.get("OOB_CERT");
   let serverAuth = new AuthenticatorType.Server();
   serverAuth.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
   serverAuth.receiveOOB = () => oobData.promise; // Skip prompt for tests
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
-  listener.encryption = true /* required for OOB_CERT */;
+  listener.portOrPath = -1;
+  listener.encryption = true;
   listener.authenticator = serverAuth;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   // This will succeed, but leaves the client in confused state, and no data is
   // actually accessible
   let transport = yield DebuggerClient.socketConnect({
     host: "127.0.0.1",
@@ -132,29 +132,29 @@ add_task(function*() {
   // Try to send a message the server will echo back
   let message = "secrets";
   try {
     yield client.request({
       to: "root",
       type: "echo",
       message
     });
-  } catch(e) {
+  } catch (e) {
     ok(true, "Sending a message failed");
     transport.close();
     listener.close();
     equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
     return;
   }
 
   do_throw("Connection unexpectedly succeeded");
 });
 
 // Client w/ invalid K value fails to connect
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   // Grab our cert, instead of relying on a discovery advertisement
   let serverCert = yield cert.local.getOrCreate();
 
   let oobData = promise.defer();
   let AuthenticatorType = DebuggerServer.Authenticators.get("OOB_CERT");
   let serverAuth = new AuthenticatorType.Server();
@@ -171,44 +171,44 @@ add_task(function*() {
     oobData.resolve({
       k: oob.k + 1,
       sha256: oob.sha256
     });
   };
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
-  listener.encryption = true /* required for OOB_CERT */;
+  listener.portOrPath = -1;
+  listener.encryption = true;
   listener.authenticator = serverAuth;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   try {
     yield DebuggerClient.socketConnect({
       host: "127.0.0.1",
       port: listener.port,
       encryption: true,
       authenticator: clientAuth,
       cert: {
         sha256: serverCert.sha256Fingerprint
       }
     });
-  } catch(e) {
+  } catch (e) {
     ok(true, "Client failed to connect as expected");
     listener.close();
     equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
     return;
   }
 
   do_throw("Connection unexpectedly succeeded");
 });
 
 // Client w/ invalid cert hash fails to connect
-add_task(function*() {
+add_task(function* () {
   equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
 
   // Grab our cert, instead of relying on a discovery advertisement
   let serverCert = yield cert.local.getOrCreate();
 
   let oobData = promise.defer();
   let AuthenticatorType = DebuggerServer.Authenticators.get("OOB_CERT");
   let serverAuth = new AuthenticatorType.Server();
@@ -225,37 +225,37 @@ add_task(function*() {
     oobData.resolve({
       k: oob.k,
       sha256: oob.sha256 + 1
     });
   };
 
   let listener = DebuggerServer.createListener();
   ok(listener, "Socket listener created");
-  listener.portOrPath = -1 /* any available port */;
-  listener.encryption = true /* required for OOB_CERT */;
+  listener.portOrPath = -1;
+  listener.encryption = true;
   listener.authenticator = serverAuth;
   yield listener.open();
   equal(DebuggerServer.listeningSockets, 1, "1 listening socket");
 
   try {
     yield DebuggerClient.socketConnect({
       host: "127.0.0.1",
       port: listener.port,
       encryption: true,
       authenticator: clientAuth,
       cert: {
         sha256: serverCert.sha256Fingerprint
       }
     });
-  } catch(e) {
+  } catch (e) {
     ok(true, "Client failed to connect as expected");
     listener.close();
     equal(DebuggerServer.listeningSockets, 0, "0 listening sockets");
     return;
   }
 
   do_throw("Connection unexpectedly succeeded");
 });
 
-add_task(function*() {
+add_task(function* () {
   DebuggerServer.destroy();
 });
--- a/devtools/shared/security/tests/unit/testactors.js
+++ b/devtools/shared/security/tests/unit/testactors.js
@@ -4,17 +4,17 @@
 const { ActorPool, appendExtraActors, createExtraActors } =
   require("devtools/server/actors/common");
 const { RootActor } = require("devtools/server/actors/root");
 const { ThreadActor } = require("devtools/server/actors/script");
 const { DebuggerServer } = require("devtools/server/main");
 const promise = require("promise");
 
 var gTestGlobals = [];
-DebuggerServer.addTestGlobal = function(aGlobal) {
+DebuggerServer.addTestGlobal = function (aGlobal) {
   gTestGlobals.push(aGlobal);
 };
 
 // A mock tab list, for use by tests. This simply presents each global in
 // gTestGlobals as a tab, and the list is fixed: it never calls its
 // onListChanged handler.
 //
 // As implemented now, we consult gTestGlobals when we're constructed, not
@@ -75,57 +75,57 @@ TestTabActor.prototype = {
   get window() {
     return { wrappedJSObject: this._global };
   },
 
   get url() {
     return this._global.__name;
   },
 
-  form: function() {
+  form: function () {
     let response = { actor: this.actorID, title: this._global.__name };
 
     // Walk over tab actors added by extensions and add them to a new ActorPool.
     let actorPool = new ActorPool(this.conn);
     this._createExtraActors(DebuggerServer.tabActorFactories, actorPool);
     if (!actorPool.isEmpty()) {
       this._tabActorPool = actorPool;
       this.conn.addActorPool(this._tabActorPool);
     }
 
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onAttach: function(aRequest) {
+  onAttach: function (aRequest) {
     this._attached = true;
 
     let response = { type: "tabAttached", threadActor: this._threadActor.actorID };
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onDetach: function(aRequest) {
+  onDetach: function (aRequest) {
     if (!this._attached) {
       return { "error":"wrongState" };
     }
     return { type: "detached" };
   },
 
   /* Support for DebuggerServer.addTabActor. */
   _createExtraActors: createExtraActors,
   _appendExtraActors: appendExtraActors
 };
 
 TestTabActor.prototype.requestTypes = {
   "attach": TestTabActor.prototype.onAttach,
   "detach": TestTabActor.prototype.onDetach
 };
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.setRootActor(createRootActor);
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.setRootActor(null);
 };
--- a/devtools/shared/system.js
+++ b/devtools/shared/system.js
@@ -27,17 +27,17 @@ const APP_MAP = {
   "{718e30fb-e89b-41dd-9da7-e25a45638b28}": "sunbird",
   "{3c2e2abc-06d4-11e1-ac3b-374f68613e61}": "b2g",
   "{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "mobile/android",
   "{a23983c0-fd0e-11dc-95ff-0800200c9a66}": "mobile/xul"
 };
 
 var CACHED_INFO = null;
 
-function *getSystemInfo() {
+function* getSystemInfo() {
   if (CACHED_INFO) {
     return CACHED_INFO;
   }
 
   let appInfo = Services.appinfo;
   let win = Services.wm.getMostRecentWindow(DebuggerServer.chromeWindowType);
   let [processor, compiler] = appInfo.XPCOMABI.split("-");
   let dpi,
@@ -176,17 +176,17 @@ function *getSystemInfo() {
     physicalHeight,
     brandName,
   };
 
   CACHED_INFO = info;
   return info;
 }
 
-function getProfileLocation () {
+function getProfileLocation() {
   // In child processes, we cannot access the profile location.
   try {
     let profd = Services.dirsvc.get("ProfD", Ci.nsILocalFile);
     let profservice = Cc["@mozilla.org/toolkit/profile-service;1"].getService(Ci.nsIToolkitProfileService);
     var profiles = profservice.profiles;
     while (profiles.hasMoreElements()) {
       let profile = profiles.getNext().QueryInterface(Ci.nsIToolkitProfile);
       if (profile.rootDir.path == profd.path) {
--- a/devtools/shared/tests/browser/browser_async_storage.js
+++ b/devtools/shared/tests/browser/browser_async_storage.js
@@ -3,55 +3,55 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test the basic functionality of async-storage.
 // Adapted from https://github.com/mozilla-b2g/gaia/blob/f09993563fb5fec4393eb71816ce76cb00463190/apps/sharedtest/test/unit/async_storage_test.js.
 
 const asyncStorage = require("devtools/shared/async-storage");
-add_task(function*() {
+add_task(function* () {
   is(typeof asyncStorage.length, "function", "API exists.");
   is(typeof asyncStorage.key, "function", "API exists.");
   is(typeof asyncStorage.getItem, "function", "API exists.");
   is(typeof asyncStorage.setItem, "function", "API exists.");
   is(typeof asyncStorage.removeItem, "function", "API exists.");
   is(typeof asyncStorage.clear, "function", "API exists.");
 });
 
-add_task(function*() {
+add_task(function* () {
   yield asyncStorage.setItem("foo", "bar");
   let value = yield asyncStorage.getItem("foo");
   is(value, "bar", "value is correct");
   yield asyncStorage.setItem("foo", "overwritten");
   value = yield asyncStorage.getItem("foo");
   is(value, "overwritten", "value is correct");
   yield asyncStorage.removeItem("foo");
   value = yield asyncStorage.getItem("foo");
   is(value, null, "value is correct");
 });
 
-add_task(function*() {
+add_task(function* () {
   var object = {
     x: 1,
     y: "foo",
     z: true
   };
 
   yield asyncStorage.setItem("myobj", object);
   let value = yield asyncStorage.getItem("myobj");
   is(object.x, value.x, "value is correct");
   is(object.y, value.y, "value is correct");
   is(object.z, value.z, "value is correct");
   yield asyncStorage.removeItem("myobj");
   value = yield asyncStorage.getItem("myobj");
   is(value, null, "value is correct");
 });
 
-add_task(function*() {
+add_task(function* () {
   yield asyncStorage.clear();
   let len = yield asyncStorage.length();
   is(len, 0, "length is correct");
   yield asyncStorage.setItem("key1", "value1");
   len = yield asyncStorage.length();
   is(len, 1, "length is correct");
   yield asyncStorage.setItem("key2", "value2");
   len = yield asyncStorage.length();
--- a/devtools/shared/tests/unit/test_async-utils.js
+++ b/devtools/shared/tests/unit/test_async-utils.js
@@ -11,60 +11,60 @@ const {Task} = Cu.import("resource://gre
 Object.defineProperty(this, "Promise", {
   value: require("promise"),
   writable: false, configurable: false
 });
 const {asyncOnce, promiseInvoke, promiseCall} = require("devtools/shared/async-utils");
 
 function run_test() {
   do_test_pending();
-  Task.spawn(function*() {
+  Task.spawn(function* () {
     yield test_async_args(asyncOnce);
     yield test_async_return(asyncOnce);
     yield test_async_throw(asyncOnce);
 
     yield test_async_once();
     yield test_async_invoke();
     do_test_finished();
   }).then(null, error => {
     do_throw(error);
   });
 }
 
 // Test that arguments are correctly passed through to the async function.
 function test_async_args(async) {
   let obj = {
-    method: async(function*(a, b) {
+    method: async(function* (a, b) {
       do_check_eq(this, obj);
       do_check_eq(a, "foo");
       do_check_eq(b, "bar");
     })
   };
 
   return obj.method("foo", "bar");
 }
 
 // Test that the return value from the async function is resolution value of
 // the promise.
 function test_async_return(async) {
   let obj = {
-    method: async(function*(a, b) {
+    method: async(function* (a, b) {
       return a + b;
     })
   };
 
   return obj.method("foo", "bar").then(ret => {
     do_check_eq(ret, "foobar");
   });
 }
 
 // Test that the throwing from an async function rejects the promise.
 function test_async_throw(async) {
   let obj = {
-    method: async(function*() {
+    method: async(function* () {
       throw "boom";
     })
   };
 
   return obj.method().then(null, error => {
     do_check_eq(error, "boom");
   });
 }
@@ -72,17 +72,17 @@ function test_async_throw(async) {
 // Test that asyncOnce only runs the async function once per instance and
 // returns the same promise for that instance.
 function test_async_once() {
   let counter = 0;
 
   function Foo() {}
   Foo.prototype = {
     ran: false,
-    method: asyncOnce(function*() {
+    method: asyncOnce(function* () {
       yield Promise.resolve();
       if (this.ran) {
         do_throw("asyncOnce function unexpectedly ran twice on the same object");
       }
       this.ran = true;
       return counter++;
     })
   };
@@ -109,17 +109,17 @@ function test_async_once() {
   }).then(ret => {
     do_check_true(foo2.ran);
     do_check_eq(ret, 1);
   });
 }
 
 // Test invoke and call.
 function test_async_invoke() {
-  return Task.spawn(function*() {
+  return Task.spawn(function* () {
     function func(a, b, expectedThis, callback) {
       "use strict";
       do_check_eq(a, "foo");
       do_check_eq(b, "bar");
       do_check_eq(this, expectedThis);
       callback(a + b);
     }
 
--- a/devtools/shared/tests/unit/test_console_filtering.js
+++ b/devtools/shared/tests/unit/test_console_filtering.js
@@ -5,22 +5,22 @@ const { console, ConsoleAPI } = Cu.impor
 
 const { ConsoleAPIListener } = require("devtools/shared/webconsole/utils");
 const Services = require("Services");
 
 var seenMessages = 0;
 var seenTypes = 0;
 
 var callback = {
-  onConsoleAPICall: function(aMessage) {
+  onConsoleAPICall: function (aMessage) {
     if (aMessage.consoleID && aMessage.consoleID == "addon/foo") {
       do_check_eq(aMessage.level, "warn");
       do_check_eq(aMessage.arguments[0], "Warning from foo");
       seenTypes |= 1;
-    } else if(aMessage.originAttributes &&
+    } else if (aMessage.originAttributes &&
               aMessage.originAttributes.addonId == "bar") {
       do_check_eq(aMessage.level, "error");
       do_check_eq(aMessage.arguments[0], "Error from bar");
       seenTypes |= 2;
     } else {
       do_check_eq(aMessage.level, "log");
       do_check_eq(aMessage.arguments[0], "Hello from default console");
       seenTypes |= 4;
--- a/devtools/shared/tests/unit/test_defineLazyPrototypeGetter.js
+++ b/devtools/shared/tests/unit/test_defineLazyPrototypeGetter.js
@@ -52,17 +52,17 @@ function test_multiple_instances() {
   // Make sure the lazy getter runs once and only once per instance.
   do_check_eq(instance1.foo, foo1);
   do_check_eq(instance2.foo, foo2);
   // Make sure each instance gets its own unique value.
   do_check_neq(foo1, foo2);
 }
 
 function test_callback_receiver() {
-  function Foo() {};
-  DevToolsUtils.defineLazyPrototypeGetter(Foo.prototype, "foo", function() {
+  function Foo() {}
+  DevToolsUtils.defineLazyPrototypeGetter(Foo.prototype, "foo", function () {
     return this;
   });
 
   // Check that the |this| value in the callback is the instance itself.
   let instance = new Foo();
   do_check_eq(instance.foo, instance);
 }
--- a/devtools/shared/tests/unit/test_executeSoon.js
+++ b/devtools/shared/tests/unit/test_executeSoon.js
@@ -17,17 +17,17 @@ var Services = require("Services");
 var asyncStackEnabled =
   Services.prefs.getBoolPref("javascript.options.asyncstack");
 
 do_register_cleanup(() => {
   Services.prefs.setBoolPref("javascript.options.asyncstack",
                              asyncStackEnabled);
 });
 
-add_task(function*() {
+add_task(function* () {
   Services.prefs.setBoolPref("javascript.options.asyncstack", true);
 
   yield waitForTick();
 
   let stack = Components.stack;
   while (stack) {
     do_print(stack.name);
     if (stack.name == "waitForTick") {
--- a/devtools/shared/tests/unit/test_indentation.js
+++ b/devtools/shared/tests/unit/test_indentation.js
@@ -102,17 +102,17 @@ const TESTS = [
 ];
 
 function test_indent_detection() {
   Services.prefs.setIntPref(TAB_SIZE, 2);
   Services.prefs.setBoolPref(EXPAND_TAB, true);
   Services.prefs.setBoolPref(DETECT_INDENT, true);
 
   for (let test of TESTS) {
-    let iterFn = function(start, end, callback) {
+    let iterFn = function (start, end, callback) {
       test.input.slice(start, end).forEach(callback);
     };
 
     deepEqual(getIndentationFromIteration(iterFn), test.expected,
               "test getIndentationFromIteration " + test.desc);
   }
 
   for (let test of TESTS) {
--- a/devtools/shared/tests/unit/test_invisible_loader.js
+++ b/devtools/shared/tests/unit/test_invisible_loader.js
@@ -19,17 +19,17 @@ function visible_loader() {
   loader.require("devtools/shared/indentation");
 
   let dbg = new Debugger();
   let sandbox = loader._provider.loader.sharedGlobalSandbox;
 
   try {
     dbg.addDebuggee(sandbox);
     do_check_true(true);
-  } catch(e) {
+  } catch (e) {
     do_throw("debugger could not add visible value");
   }
 
   // Check that for common loader used for tabs, promise modules is Promise.jsm
   // Which is required to support unhandled promises rejection in mochitests
   const promise = Cu.import("resource://gre/modules/Promise.jsm", {}).Promise;
   do_check_eq(loader.require("promise"), promise);
 }
@@ -40,17 +40,17 @@ function invisible_loader() {
   loader.require("devtools/shared/indentation");
 
   let dbg = new Debugger();
   let sandbox = loader._provider.loader.sharedGlobalSandbox;
 
   try {
     dbg.addDebuggee(sandbox);
     do_throw("debugger added invisible value");
-  } catch(e) {
+  } catch (e) {
     do_check_true(true);
   }
 
   // But for browser toolbox loader, promise is loaded as a regular modules out
   // of Promise-backend.js, that to be invisible to the debugger and not step
   // into it.
   const promise = loader.require("promise");
   const promiseModule = loader._provider.loader.modules["resource://gre/modules/Promise-backend.js"];
--- a/devtools/shared/tests/unit/test_safeErrorString.js
+++ b/devtools/shared/tests/unit/test_safeErrorString.js
@@ -12,17 +12,17 @@ function run_test() {
   test_with_psychotic();
 }
 
 function test_with_error() {
   let s = DevToolsUtils.safeErrorString(new Error("foo bar"));
   // Got the message.
   do_check_true(s.includes("foo bar"));
   // Got the stack.
-  do_check_true(s.includes("test_with_error"))
+  do_check_true(s.includes("test_with_error"));
   do_check_true(s.includes("test_safeErrorString.js"));
   // Got the lineNumber and columnNumber.
   do_check_true(s.includes("Line"));
   do_check_true(s.includes("column"));
 }
 
 function test_with_tricky_error() {
   let e = new Error("batman");
--- a/devtools/shared/touch/simulator-content.js
+++ b/devtools/shared/touch/simulator-content.js
@@ -4,39 +4,39 @@
 /* globals addMessageListener, sendAsyncMessage, addEventListener,
    removeEventListener */
 "use strict";
 
 var { interfaces: Ci, utils: Cu } = Components;
 
 Cu.import("resource://gre/modules/Services.jsm");
 
-var systemAppOrigin = (function() {
+var systemAppOrigin = (function () {
   let systemOrigin = "_";
   try {
     systemOrigin = Services.io.newURI(
       Services.prefs.getCharPref("b2g.system_manifest_url"), null, null)
       .prePath;
-  } catch(e) {
+  } catch (e) {
     // Fall back to default value
   }
   return systemOrigin;
 })();
 
 var threshold = 25;
 try {
   threshold = Services.prefs.getIntPref("ui.dragThresholdX");
-} catch(e) {
+} catch (e) {
   // Fall back to default value
 }
 
 var delay = 500;
 try {
   delay = Services.prefs.getIntPref("ui.click_hold_context_menus.delay");
-} catch(e) {
+} catch (e) {
   // Fall back to default value
 }
 
 /**
  * Simulate touch events for platforms where they aren't generally available.
  * This frame script is managed by `simulator.js`.
  */
 var simulator = {
@@ -200,17 +200,17 @@ var simulator = {
           return;
         }
 
         content.setTimeout(function dispatchMouseEvents(self) {
           try {
             self.fireMouseEvent("mousedown", evt);
             self.fireMouseEvent("mousemove", evt);
             self.fireMouseEvent("mouseup", evt);
-          } catch(e) {
+          } catch (e) {
             console.error("Exception in touch event helper: " + e);
           }
         }, 0, this);
         return;
     }
 
     let target = eventTarget || this.target;
     if (target && type) {
--- a/devtools/shared/transport/packets.js
+++ b/devtools/shared/transport/packets.js
@@ -56,17 +56,17 @@ function Packet(transport) {
  * first since they are much more common.
  * @param header string
  *        The packet header string to attempt parsing.
  * @param transport DebuggerTransport
  *        The transport instance that will own the packet.
  * @return Packet
  *         The parsed packet of the matching type, or null if no types matched.
  */
-Packet.fromHeader = function(header, transport) {
+Packet.fromHeader = function (header, transport) {
   return JSONPacket.fromHeader(header, transport) ||
          BulkPacket.fromHeader(header, transport);
 };
 
 Packet.prototype = {
 
   get length() {
     return this._length;
@@ -75,17 +75,17 @@ Packet.prototype = {
   set length(length) {
     if (length > PACKET_LENGTH_MAX) {
       throw Error("Packet length " + length + " exceeds the max length of " +
                   PACKET_LENGTH_MAX);
     }
     this._length = length;
   },
 
-  destroy: function() {
+  destroy: function () {
     this._transport = null;
   }
 
 };
 
 exports.Packet = Packet;
 
 /**
@@ -108,17 +108,17 @@ function JSONPacket(transport) {
  * we've received so far.
  * @param header string
  *        The packet header string to attempt parsing.
  * @param transport DebuggerTransport
  *        The transport instance that will own the packet.
  * @return JSONPacket
  *         The parsed packet, or null if it's not a match.
  */
-JSONPacket.fromHeader = function(header, transport) {
+JSONPacket.fromHeader = function (header, transport) {
   let match = this.HEADER_PATTERN.exec(header);
 
   if (!match) {
     return null;
   }
 
   dumpv("Header matches JSON packet");
   let packet = new JSONPacket(transport);
@@ -129,86 +129,86 @@ JSONPacket.fromHeader = function(header,
 JSONPacket.HEADER_PATTERN = /^(\d+):$/;
 
 JSONPacket.prototype = Object.create(Packet.prototype);
 
 Object.defineProperty(JSONPacket.prototype, "object", {
   /**
    * Gets the object (not the serialized string) being read or written.
    */
-  get: function() { return this._object; },
+  get: function () { return this._object; },
 
   /**
    * Sets the object to be sent when write() is called.
    */
-  set: function(object) {
+  set: function (object) {
     this._object = object;
     let data = JSON.stringify(object);
     this._data = unicodeConverter.ConvertFromUnicode(data);
     this.length = this._data.length;
   }
 });
 
-JSONPacket.prototype.read = function(stream, scriptableStream) {
+JSONPacket.prototype.read = function (stream, scriptableStream) {
   dumpv("Reading JSON packet");
 
   // Read in more packet data.
   this._readData(stream, scriptableStream);
 
   if (!this.done) {
     // Don't have a complete packet yet.
     return;
   }
 
   let json = this._data;
   try {
     json = unicodeConverter.ConvertToUnicode(json);
     this._object = JSON.parse(json);
-  } catch(e) {
+  } catch (e) {
     let msg = "Error parsing incoming packet: " + json + " (" + e +
               " - " + e.stack + ")";
     console.error(msg);
     dumpn(msg);
     return;
   }
 
   this._transport._onJSONObjectReady(this._object);
-}
+};
 
-JSONPacket.prototype._readData = function(stream, scriptableStream) {
+JSONPacket.prototype._readData = function (stream, scriptableStream) {
   if (dumpv.wantVerbose) {
     dumpv("Reading JSON data: _l: " + this.length + " dL: " +
           this._data.length + " sA: " + stream.available());
   }
   let bytesToRead = Math.min(this.length - this._data.length,
                              stream.available());
   this._data += scriptableStream.readBytes(bytesToRead);
   this._done = this._data.length === this.length;
-}
+};
 
-JSONPacket.prototype.write = function(stream) {
+JSONPacket.prototype.write = function (stream) {
   dumpv("Writing JSON packet");
 
   if (this._outgoing === undefined) {
     // Format the serialized packet to a buffer
     this._outgoing = this.length + ":" + this._data;
   }
 
   let written = stream.write(this._outgoing, this._outgoing.length);
   this._outgoing = this._outgoing.slice(written);
   this._done = !this._outgoing.length;
-}
+};
 
 Object.defineProperty(JSONPacket.prototype, "done", {
-  get: function() { return this._done; }
+  get: function () { return this._done; }
 });
 
-JSONPacket.prototype.toString = function() {
+JSONPacket.prototype.toString = function () {
   return JSON.stringify(this._object, null, 2);
-}
+};
 
 exports.JSONPacket = JSONPacket;
 
 /**
  * With a bulk packet, data is transferred by temporarily handing over the
  * transport's input or output stream to the application layer for writing data
  * directly.  This can be much faster for large data sets, and avoids various
  * stages of copies and data duplication inherent in the JSON packet type.  The
@@ -233,17 +233,17 @@ function BulkPacket(transport) {
  * we've received so far.
  * @param header string
  *        The packet header string to attempt parsing.
  * @param transport DebuggerTransport
  *        The transport instance that will own the packet.
  * @return BulkPacket
  *         The parsed packet, or null if it's not a match.
  */
-BulkPacket.fromHeader = function(header, transport) {
+BulkPacket.fromHeader = function (header, transport) {
   let match = this.HEADER_PATTERN.exec(header);
 
   if (!match) {
     return null;
   }
 
   dumpv("Header matches bulk packet");
   let packet = new BulkPacket(transport);
@@ -254,17 +254,17 @@ BulkPacket.fromHeader = function(header,
   };
   return packet;
 };
 
 BulkPacket.HEADER_PATTERN = /^bulk ([^: ]+) ([^: ]+) (\d+):$/;
 
 BulkPacket.prototype = Object.create(Packet.prototype);
 
-BulkPacket.prototype.read = function(stream) {
+BulkPacket.prototype.read = function (stream) {
   dumpv("Reading bulk packet, handing off input stream");
 
   // Temporarily pause monitoring of the input stream
   this._transport.pauseIncoming();
 
   let deferred = promise.defer();
 
   this._transport._onBulkReadReady({
@@ -287,19 +287,19 @@ BulkPacket.prototype.read = function(str
     this._done = true;
     this._transport.resumeIncoming();
   }, this._transport.close);
 
   // Ensure this is only done once
   this.read = () => {
     throw new Error("Tried to read() a BulkPacket's stream multiple times.");
   };
-}
+};
 
-BulkPacket.prototype.write = function(stream) {
+BulkPacket.prototype.write = function (stream) {
   dumpv("Writing bulk packet");
 
   if (this._outgoingHeader === undefined) {
     dumpv("Serializing bulk packet header");
     // Format the serialized packet header to a buffer
     this._outgoingHeader = "bulk " + this.actor + " " + this.type + " " +
                            this.length + ":";
   }
@@ -337,48 +337,48 @@ BulkPacket.prototype.write = function(st
     this._done = true;
     this._transport.resumeOutgoing();
   }, this._transport.close);
 
   // Ensure this is only done once
   this.write = () => {
     throw new Error("Tried to write() a BulkPacket's stream multiple times.");
   };
-}
+};
 
 Object.defineProperty(BulkPacket.prototype, "streamReadyForWriting", {
-  get: function() {
+  get: function () {
     return this._readyForWriting.promise;
   }
 });
 
 Object.defineProperty(BulkPacket.prototype, "header", {
-  get: function() {
+  get: function () {
     return {
       actor: this.actor,
       type: this.type,
       length: this.length
     };
   },
 
-  set: function(header) {
+  set: function (header) {
     this.actor = header.actor;
     this.type = header.type;
     this.length = header.length;
   },
 });
 
 Object.defineProperty(BulkPacket.prototype, "done", {
-  get: function() { return this._done; },
+  get: function () { return this._done; },
 });
 
 
-BulkPacket.prototype.toString = function() {
+BulkPacket.prototype.toString = function () {
   return "Bulk: " + JSON.stringify(this.header, null, 2);
-}
+};
 
 exports.BulkPacket = BulkPacket;
 
 /**
  * RawPacket is used to test the transport's error handling of malformed
  * packets, by writing data directly onto the stream.
  * @param transport DebuggerTransport
  *        The transport instance that will own the packet.
@@ -389,24 +389,24 @@ function RawPacket(transport, data) {
   Packet.call(this, transport);
   this._data = data;
   this.length = data.length;
   this._done = false;
 }
 
 RawPacket.prototype = Object.create(Packet.prototype);
 
-RawPacket.prototype.read = function(stream) {
+RawPacket.prototype.read = function (stream) {
   // This hasn't yet been needed for testing.
   throw Error("Not implmented.");
-}
+};
 
-RawPacket.prototype.write = function(stream) {
+RawPacket.prototype.write = function (stream) {
   let written = stream.write(this._data, this._data.length);
   this._data = this._data.slice(written);
   this._done = !this._data.length;
-}
+};
 
 Object.defineProperty(RawPacket.prototype, "done", {
-  get: function() { return this._done; }
+  get: function () { return this._done; }
 });
 
 exports.RawPacket = RawPacket;
--- a/devtools/shared/transport/stream-utils.js
+++ b/devtools/shared/transport/stream-utils.js
@@ -91,38 +91,38 @@ function StreamCopier(input, output, len
   // Stream ready callback starts as |_copy|, but may switch to |_flush| at end
   // if flushing would block the output stream.
   this._streamReadyCallback = this._copy;
 }
 StreamCopier._nextId = 0;
 
 StreamCopier.prototype = {
 
-  copy: function() {
+  copy: function () {
     // Dispatch to the next tick so that it's possible to attach a progress
     // event listener, even for extremely fast copies (like when testing).
     Services.tm.currentThread.dispatch(() => {
       try {
         this._copy();
-      } catch(e) {
+      } catch (e) {
         this._deferred.reject(e);
       }
     }, 0);
     return this;
   },
 
-  _copy: function() {
+  _copy: function () {
     let bytesAvailable = this.input.available();
     let amountToCopy = Math.min(bytesAvailable, this._amountLeft);
     this._debug("Trying to copy: " + amountToCopy);
 
     let bytesCopied;
     try {
       bytesCopied = this.output.writeFrom(this.input, amountToCopy);
-    } catch(e) {
+    } catch (e) {
       if (e.result == Cr.NS_BASE_STREAM_WOULD_BLOCK) {
         this._debug("Base stream would block, will retry");
         this._debug("Waiting for output stream");
         this.baseAsyncOutput.asyncWait(this, 0, 0, Services.tm.currentThread);
         return;
       } else {
         throw e;
       }
@@ -138,60 +138,60 @@ StreamCopier.prototype = {
       this._flush();
       return;
     }
 
     this._debug("Waiting for input stream");
     this.input.asyncWait(this, 0, 0, Services.tm.currentThread);
   },
 
-  _emitProgress: function() {
+  _emitProgress: function () {
     this.emit("progress", {
       bytesSent: this._length - this._amountLeft,
       totalBytes: this._length
     });
   },
 
-  _flush: function() {
+  _flush: function () {
     try {
       this.output.flush();
-    } catch(e) {
+    } catch (e) {
       if (e.result == Cr.NS_BASE_STREAM_WOULD_BLOCK ||
           e.result == Cr.NS_ERROR_FAILURE) {
         this._debug("Flush would block, will retry");
         this._streamReadyCallback = this._flush;
         this._debug("Waiting for output stream");
         this.baseAsyncOutput.asyncWait(this, 0, 0, Services.tm.currentThread);
         return;
       } else {
         throw e;
       }
     }
     this._deferred.resolve();
   },
 
-  _destroy: function() {
+  _destroy: function () {
     this._destroy = null;
     this._copy = null;
     this._flush = null;
     this.input = null;
     this.output = null;
   },
 
   // nsIInputStreamCallback
-  onInputStreamReady: function() {
+  onInputStreamReady: function () {
     this._streamReadyCallback();
   },
 
   // nsIOutputStreamCallback
-  onOutputStreamReady: function() {
+  onOutputStreamReady: function () {
     this._streamReadyCallback();
   },
 
-  _debug: function(msg) {
+  _debug: function (msg) {
     // Prefix logs with the copier ID, which makes logs much easier to
     // understand when several copiers are running simultaneously
     dumpv("Copier: " + this._id + " " + msg);
   }
 
 };
 
 /**
--- a/devtools/shared/transport/tests/unit/head_dbg.js
+++ b/devtools/shared/transport/tests/unit/head_dbg.js
@@ -26,18 +26,18 @@ const DevToolsUtils = require("devtools/
 Services.prefs.setBoolPref("devtools.debugger.remote-enabled", true);
 
 const { DebuggerServer } = require("devtools/server/main");
 const { DebuggerClient } = require("devtools/shared/client/main");
 
 function testExceptionHook(ex) {
   try {
     do_report_unexpected_exception(ex);
-  } catch(ex) {
-    return {throw: ex}
+  } catch (ex) {
+    return {throw: ex};
   }
   return undefined;
 }
 
 // Convert an nsIScriptError 'aFlags' value into an appropriate string.
 function scriptErrorFlagsToKind(aFlags) {
   var kind;
   if (aFlags & Ci.nsIScriptError.warningFlag)
@@ -155,17 +155,17 @@ function attachTestThread(aClient, aTitl
   });
 }
 
 // Attach to |aClient|'s tab whose title is |aTitle|, attach to the tab's
 // thread, and then resume it. Pass |aCallback| the thread's response to
 // the 'resume' packet, a TabClient for the tab, and a ThreadClient for the
 // thread.
 function attachTestTabAndResume(aClient, aTitle, aCallback) {
-  attachTestThread(aClient, aTitle, function(aResponse, aTabClient, aThreadClient) {
+  attachTestThread(aClient, aTitle, function (aResponse, aTabClient, aThreadClient) {
     aThreadClient.resume(function (aResponse) {
       aCallback(aResponse, aTabClient, aThreadClient);
     });
   });
 }
 
 /**
  * Initialize the testing debugger server.
@@ -177,34 +177,34 @@ function initTestDebuggerServer() {
     type: { global: true, tab: true }
   });
   DebuggerServer.registerModule("xpcshell-test/testactors");
   // Allow incoming connections.
   DebuggerServer.init();
 }
 
 function finishClient(aClient) {
-  aClient.close(function() {
+  aClient.close(function () {
     do_test_finished();
   });
 }
 
 /**
  * Takes a relative file path and returns the absolute file url for it.
  */
-function getFileUrl(aName, aAllowMissing=false) {
+function getFileUrl(aName, aAllowMissing = false) {
   let file = do_get_file(aName, aAllowMissing);
   return Services.io.newFileURI(file).spec;
 }
 
 /**
  * Returns the full path of the file with the specified name in a
  * platform-independent and URL-like form.
  */
-function getFilePath(aName, aAllowMissing=false) {
+function getFilePath(aName, aAllowMissing = false) {
   let file = do_get_file(aName, aAllowMissing);
   let path = Services.io.newFileURI(file).spec;
   let filePrePath = "file://";
   if ("nsILocalFileWin" in Ci &&
       file instanceof Ci.nsILocalFileWin) {
     filePrePath += "/";
   }
   return path.slice(filePrePath.length);
@@ -233,40 +233,40 @@ function writeTestTempFile(aFileName, aC
       let numWritten = stream.write(aContent, aContent.length);
       aContent = aContent.slice(numWritten);
     } while (aContent.length > 0);
   } finally {
     stream.close();
   }
 }
 
-/*** Transport Factories ***/
+/** * Transport Factories ***/
 
-var socket_transport = Task.async(function*() {
+var socket_transport = Task.async(function* () {
   if (!DebuggerServer.listeningSockets) {
     let AuthenticatorType = DebuggerServer.Authenticators.get("PROMPT");
     let authenticator = new AuthenticatorType.Server();
     authenticator.allowConnection = () => {
       return DebuggerServer.AuthenticationResult.ALLOW;
     };
     let listener = DebuggerServer.createListener();
-    listener.portOrPath = -1 /* any available port */;
+    listener.portOrPath = -1;
     listener.authenticator = authenticator;
     yield listener.open();
   }
   let port = DebuggerServer._listeners[0].port;
   do_print("Debugger server port is " + port);
   return DebuggerClient.socketConnect({ host: "127.0.0.1", port });
 });
 
 function local_transport() {
   return promise.resolve(DebuggerServer.connectPipe());
 }
 
-/*** Sample Data ***/
+/** * Sample Data ***/
 
 var gReallyLong;
 function really_long() {
   if (gReallyLong) {
     return gReallyLong;
   }
   let ret = "0123456789";
   for (let i = 0; i < 18; i++) {
--- a/devtools/shared/transport/tests/unit/test_bulk_error.js
+++ b/devtools/shared/transport/tests/unit/test_bulk_error.js
@@ -4,34 +4,34 @@
 var { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 var Pipe = CC("@mozilla.org/pipe;1", "nsIPipe", "init");
 
 function run_test() {
   initTestDebuggerServer();
   add_test_bulk_actor();
 
-  add_task(function*() {
+  add_task(function* () {
     yield test_string_error(socket_transport, json_reply);
     yield test_string_error(local_transport, json_reply);
     DebuggerServer.destroy();
   });
 
   run_next_test();
 }
 
-/*** Sample Bulk Actor ***/
+/** * Sample Bulk Actor ***/
 
 function TestBulkActor() {}
 
 TestBulkActor.prototype = {
 
   actorPrefix: "testBulk",
 
-  jsonReply: function({length, reader, reply, done}) {
+  jsonReply: function ({length, reader, reply, done}) {
     do_check_eq(length, really_long().length);
 
     return {
       allDone: true
     };
   }
 
 };
@@ -39,34 +39,34 @@ TestBulkActor.prototype = {
 TestBulkActor.prototype.requestTypes = {
   "jsonReply": TestBulkActor.prototype.jsonReply
 };
 
 function add_test_bulk_actor() {
   DebuggerServer.addGlobalActor(TestBulkActor);
 }
 
-/*** Tests ***/
+/** * Tests ***/
 
-var test_string_error = Task.async(function*(transportFactory, onReady) {
+var test_string_error = Task.async(function* (transportFactory, onReady) {
   let transport = yield transportFactory();
 
   let client = new DebuggerClient(transport);
   return client.connect().then(([app, traits]) => {
-      do_check_eq(traits.bulk, true);
-      return client.listTabs();
-    }).then(response => {
-      return onReady(client, response);
-    }).then(() => {
-      client.close();
-      transport.close();
-    });
+    do_check_eq(traits.bulk, true);
+    return client.listTabs();
+  }).then(response => {
+    return onReady(client, response);
+  }).then(() => {
+    client.close();
+    transport.close();
+  });
 });
 
-/*** Reply Types ***/
+/** * Reply Types ***/
 
 function json_reply(client, response) {
   let reallyLong = really_long();
 
   let request = client.startBulkRequest({
     actor: response.testBulk,
     type: "jsonReply",
     length: reallyLong.length
@@ -79,16 +79,16 @@ function json_reply(client, response) {
                   createInstance(Ci.nsIStringInputStream);
     input.setData(reallyLong, reallyLong.length);
     try {
       writer.copyFrom(input, () => {
         input.close();
         done();
       });
       do_throw(new Error("Copying should fail, the stream is not async."));
-    } catch(e) {
+    } catch (e) {
       do_check_true(true);
       copyDeferred.resolve();
     }
   });
 
   return copyDeferred.promise;
 }
--- a/devtools/shared/transport/tests/unit/test_client_server_bulk.js
+++ b/devtools/shared/transport/tests/unit/test_client_server_bulk.js
@@ -4,40 +4,40 @@
 var { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 var Pipe = CC("@mozilla.org/pipe;1", "nsIPipe", "init");
 
 function run_test() {
   initTestDebuggerServer();
   add_test_bulk_actor();
 
-  add_task(function*() {
+  add_task(function* () {
     yield test_bulk_request_cs(socket_transport, "jsonReply", "json");
     yield test_bulk_request_cs(local_transport, "jsonReply", "json");
     yield test_bulk_request_cs(socket_transport, "bulkEcho", "bulk");
     yield test_bulk_request_cs(local_transport, "bulkEcho", "bulk");
     yield test_json_request_cs(socket_transport, "bulkReply", "bulk");
     yield test_json_request_cs(local_transport, "bulkReply", "bulk");
     DebuggerServer.destroy();
   });
 
   run_next_test();
 }
 
-/*** Sample Bulk Actor ***/
+/** * Sample Bulk Actor ***/
 
 function TestBulkActor(conn) {
   this.conn = conn;
 }
 
 TestBulkActor.prototype = {
 
   actorPrefix: "testBulk",
 
-  bulkEcho: function({actor, type, length, copyTo}) {
+  bulkEcho: function ({actor, type, length, copyTo}) {
     do_check_eq(length, really_long().length);
     this.conn.startBulkSend({
       actor: actor,
       type: type,
       length: length
     }).then(({copyFrom}) => {
       // We'll just echo back the same thing
       let pipe = new Pipe(true, true, 0, 0, null);
@@ -45,34 +45,34 @@ TestBulkActor.prototype = {
         pipe.outputStream.close();
       });
       copyFrom(pipe.inputStream).then(() => {
         pipe.inputStream.close();
       });
     });
   },
 
-  bulkReply: function({to, type}) {
+  bulkReply: function ({to, type}) {
     this.conn.startBulkSend({
       actor: to,
       type: type,
       length: really_long().length
     }).then(({copyFrom}) => {
       NetUtil.asyncFetch({
         uri: NetUtil.newURI(getTestTempFile("bulk-input")),
         loadUsingSystemPrincipal: true
       }, input => {
-          copyFrom(input).then(() => {
-            input.close();
-          });
+        copyFrom(input).then(() => {
+          input.close();
         });
+      });
     });
   },
 
-  jsonReply: function({length, copyTo}) {
+  jsonReply: function ({length, copyTo}) {
     do_check_eq(length, really_long().length);
 
     let outputFile = getTestTempFile("bulk-output", true);
     outputFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
 
     let output = FileUtils.openSafeFileOutputStream(outputFile);
 
     return copyTo(output).then(() => {
@@ -90,31 +90,31 @@ TestBulkActor.prototype.requestTypes = {
   "bulkReply": TestBulkActor.prototype.bulkReply,
   "jsonReply": TestBulkActor.prototype.jsonReply
 };
 
 function add_test_bulk_actor() {
   DebuggerServer.addGlobalActor(TestBulkActor);
 }
 
-/*** Reply Handlers ***/
+/** * Reply Handlers ***/
 
 var replyHandlers = {
 
-  json: function(request) {
+  json: function (request) {
     // Receive JSON reply from server
     let replyDeferred = promise.defer();
     request.on("json-reply", (reply) => {
       do_check_true(reply.allDone);
       replyDeferred.resolve();
     });
     return replyDeferred.promise;
   },
 
-  bulk: function(request) {
+  bulk: function (request) {
     // Receive bulk data reply from server
     let replyDeferred = promise.defer();
     request.on("bulk-reply", ({length, copyTo}) => {
       do_check_eq(length, really_long().length);
 
       let outputFile = getTestTempFile("bulk-output", true);
       outputFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, parseInt("666", 8));
 
@@ -125,19 +125,19 @@ var replyHandlers = {
         replyDeferred.resolve(verify_files());
       });
     });
     return replyDeferred.promise;
   }
 
 };
 
-/*** Tests ***/
+/** * Tests ***/
 
-var test_bulk_request_cs = Task.async(function*(transportFactory, actorType, replyType) {
+var test_bulk_request_cs = Task.async(function* (transportFactory, actorType, replyType) {
   // Ensure test files are not present from a failed run
   cleanup_files();
   writeTestTempFile("bulk-input", really_long());
 
   let clientDeferred = promise.defer();
   let serverDeferred = promise.defer();
   let bulkCopyDeferred = promise.defer();
 
@@ -157,21 +157,21 @@ var test_bulk_request_cs = Task.async(fu
     });
 
     // Send bulk data to server
     request.on("bulk-send-ready", ({copyFrom}) => {
       NetUtil.asyncFetch({
         uri: NetUtil.newURI(getTestTempFile("bulk-input")),
         loadUsingSystemPrincipal: true
       }, input => {
-          copyFrom(input).then(() => {
-            input.close();
-            bulkCopyDeferred.resolve();
-          });
+        copyFrom(input).then(() => {
+          input.close();
+          bulkCopyDeferred.resolve();
         });
+      });
     });
 
     // Set up reply handling for this type
     replyHandlers[replyType](request).then(() => {
       client.close();
       transport.close();
     });
   }).then(null, do_throw);
@@ -184,17 +184,17 @@ var test_bulk_request_cs = Task.async(fu
 
   return promise.all([
     clientDeferred.promise,
     bulkCopyDeferred.promise,
     serverDeferred.promise
   ]);
 });
 
-var test_json_request_cs = Task.async(function*(transportFactory, actorType, replyType) {
+var test_json_request_cs = Task.async(function* (transportFactory, actorType, replyType) {
   // Ensure test files are not present from a failed run
   cleanup_files();
   writeTestTempFile("bulk-input", really_long());
 
   let clientDeferred = promise.defer();
   let serverDeferred = promise.defer();
 
   let transport = yield transportFactory();
@@ -225,39 +225,39 @@ var test_json_request_cs = Task.async(fu
   });
 
   return promise.all([
     clientDeferred.promise,
     serverDeferred.promise
   ]);
 });
 
-/*** Test Utils ***/
+/** * Test Utils ***/
 
 function verify_files() {
   let reallyLong = really_long();
 
   let inputFile = getTestTempFile("bulk-input");
   let outputFile = getTestTempFile("bulk-output");
 
   do_check_eq(inputFile.fileSize, reallyLong.length);
   do_check_eq(outputFile.fileSize, reallyLong.length);
 
   // Ensure output file contents actually match
   let compareDeferred = promise.defer();
   NetUtil.asyncFetch({
     uri: NetUtil.newURI(getTestTempFile("bulk-output")),
     loadUsingSystemPrincipal: true
   }, input => {
-      let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
+    let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
       // Avoid do_check_eq here so we don't log the contents
-      do_check_true(outputData === reallyLong);
-      input.close();
-      compareDeferred.resolve();
-    });
+    do_check_true(outputData === reallyLong);
+    input.close();
+    compareDeferred.resolve();
+  });
 
   return compareDeferred.promise.then(cleanup_files);
 }
 
 function cleanup_files() {
   let inputFile = getTestTempFile("bulk-input", true);
   if (inputFile.exists()) {
     inputFile.remove(false);
--- a/devtools/shared/transport/tests/unit/test_dbgsocket.js
+++ b/devtools/shared/transport/tests/unit/test_dbgsocket.js
@@ -21,17 +21,17 @@ function* test_socket_conn()
   do_check_eq(DebuggerServer.listeningSockets, 0);
   let AuthenticatorType = DebuggerServer.Authenticators.get("PROMPT");
   let authenticator = new AuthenticatorType.Server();
   authenticator.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
   let listener = DebuggerServer.createListener();
   do_check_true(listener);
-  listener.portOrPath = -1 /* any available port */;
+  listener.portOrPath = -1;
   listener.authenticator = authenticator;
   listener.open();
   do_check_eq(DebuggerServer.listeningSockets, 1);
   gPort = DebuggerServer._listeners[0].port;
   do_print("Debugger server port is " + gPort);
   // Open a second, separate listener
   gExtraListener = DebuggerServer.createListener();
   gExtraListener.portOrPath = -1;
@@ -42,30 +42,30 @@ function* test_socket_conn()
   do_print("Starting long and unicode tests at " + new Date().toTimeString());
   let unicodeString = "(╯°□°)╯︵ ┻━┻";
   let transport = yield DebuggerClient.socketConnect({
     host: "127.0.0.1",
     port: gPort
   });
   let closedDeferred = promise.defer();
   transport.hooks = {
-    onPacket: function(aPacket) {
-      this.onPacket = function(aPacket) {
+    onPacket: function (aPacket) {
+      this.onPacket = function (aPacket) {
         do_check_eq(aPacket.unicode, unicodeString);
         transport.close();
-      }
+      };
       // Verify that things work correctly when bigger than the output
       // transport buffers and when transporting unicode...
       transport.send({to: "root",
                       type: "echo",
                       reallylong: really_long(),
                       unicode: unicodeString});
       do_check_eq(aPacket.from, "root");
     },
-    onClosed: function(aStatus) {
+    onClosed: function (aStatus) {
       closedDeferred.resolve();
     },
   };
   transport.ready();
   return closedDeferred.promise;
 }
 
 function* test_socket_shutdown()
@@ -100,19 +100,19 @@ function* test_socket_shutdown()
   // Shouldn't reach this, should never connect.
   do_check_true(false);
 }
 
 function test_pipe_conn()
 {
   let transport = DebuggerServer.connectPipe();
   transport.hooks = {
-    onPacket: function(aPacket) {
+    onPacket: function (aPacket) {
       do_check_eq(aPacket.from, "root");
       transport.close();
     },
-    onClosed: function(aStatus) {
+    onClosed: function (aStatus) {
       run_next_test();
     }
   };
 
   transport.ready();
 }
--- a/devtools/shared/transport/tests/unit/test_dbgsocket_connection_drop.js
+++ b/devtools/shared/transport/tests/unit/test_dbgsocket_connection_drop.js
@@ -26,29 +26,29 @@ function test_socket_conn_drops_after_in
 }
 
 function test_socket_conn_drops_after_invalid_header_2() {
   return test_helper('27asd:{"to":"root","type":"echo"}');
 }
 
 function test_socket_conn_drops_after_too_large_length() {
   // Packet length is limited (semi-arbitrarily) to 1 TiB (2^40)
-  return test_helper('4305724038957487634549823475894325:');
+  return test_helper("4305724038957487634549823475894325:");
 }
 
 function test_socket_conn_drops_after_too_long_header() {
   // The packet header is currently limited to no more than 200 bytes
-  let rawPacket = '4305724038957487634549823475894325';
+  let rawPacket = "4305724038957487634549823475894325";
   for (let i = 0; i < 8; i++) {
     rawPacket += rawPacket;
   }
-  return test_helper(rawPacket + ':');
+  return test_helper(rawPacket + ":");
 }
 
-var test_helper = Task.async(function*(payload) {
+var test_helper = Task.async(function* (payload) {
   let AuthenticatorType = DebuggerServer.Authenticators.get("PROMPT");
   let authenticator = new AuthenticatorType.Server();
   authenticator.allowConnection = () => {
     return DebuggerServer.AuthenticationResult.ALLOW;
   };
 
   let listener = DebuggerServer.createListener();
   listener.portOrPath = -1;
@@ -56,26 +56,26 @@ var test_helper = Task.async(function*(p
   listener.open();
 
   let transport = yield DebuggerClient.socketConnect({
     host: "127.0.0.1",
     port: listener.port
   });
   let closedDeferred = promise.defer();
   transport.hooks = {
-    onPacket: function(aPacket) {
-      this.onPacket = function(aPacket) {
+    onPacket: function (aPacket) {
+      this.onPacket = function (aPacket) {
         do_throw(new Error("This connection should be dropped."));
         transport.close();
       };
 
       // Inject the payload directly into the stream.
       transport._outgoing.push(new RawPacket(transport, payload));
       transport._flushOutgoing();
     },
-    onClosed: function(aStatus) {
+    onClosed: function (aStatus) {
       do_check_true(true);
       closedDeferred.resolve();
     },
   };
   transport.ready();
   return closedDeferred.promise;
 });
--- a/devtools/shared/transport/tests/unit/test_delimited_read.js
+++ b/devtools/shared/transport/tests/unit/test_delimited_read.js
@@ -2,25 +2,25 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 const StreamUtils = require("devtools/shared/transport/stream-utils");
 
 const StringInputStream = CC("@mozilla.org/io/string-input-stream;1",
                              "nsIStringInputStream", "setData");
 
 function run_test() {
-  add_task(function*() {
+  add_task(function* () {
     yield test_delimited_read("0123:", "0123:");
     yield test_delimited_read("0123:4567:", "0123:");
     yield test_delimited_read("012345678901:", "0123456789");
     yield test_delimited_read("0123/0123", "0123/0123");
   });
 
   run_next_test();
 }
 
-/*** Tests ***/
+/** * Tests ***/
 
 function test_delimited_read(input, expected) {
   input = new StringInputStream(input, input.length);
   let result = StreamUtils.delimitedRead(input, ":", 10);
   do_check_eq(result, expected);
 }
--- a/devtools/shared/transport/tests/unit/test_no_bulk.js
+++ b/devtools/shared/transport/tests/unit/test_no_bulk.js
@@ -5,36 +5,36 @@ var { FileUtils } = Cu.import("resource:
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 var Pipe = CC("@mozilla.org/pipe;1", "nsIPipe", "init");
 
 function run_test() {
   DebuggerServer.registerModule("xpcshell-test/testactors-no-bulk");
   // Allow incoming connections.
   DebuggerServer.init();
 
-  add_task(function*() {
+  add_task(function* () {
     yield test_bulk_send_error(socket_transport);
     yield test_bulk_send_error(local_transport);
     DebuggerServer.destroy();
   });
 
   run_next_test();
 }
 
-/*** Tests ***/
+/** * Tests ***/
 
-var test_bulk_send_error = Task.async(function*(transportFactory) {
+var test_bulk_send_error = Task.async(function* (transportFactory) {
   let deferred = promise.defer();
   let transport = yield transportFactory();
 
   let client = new DebuggerClient(transport);
   return client.connect().then(([app, traits]) => {
     do_check_false(traits.bulk);
 
     try {
       client.startBulkRequest();
       do_throw(new Error("Can't use bulk since server doesn't support it"));
-    } catch(e) {
+    } catch (e) {
       do_check_true(true);
     }
 
   });
 });
--- a/devtools/shared/transport/tests/unit/test_queue.js
+++ b/devtools/shared/transport/tests/unit/test_queue.js
@@ -7,28 +7,28 @@
  */
 
 var { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 
 function run_test() {
   initTestDebuggerServer();
 
-  add_task(function*() {
+  add_task(function* () {
     yield test_transport(socket_transport);
     yield test_transport(local_transport);
     DebuggerServer.destroy();
   });
 
   run_next_test();
 }
 
-/*** Tests ***/
+/** * Tests ***/
 
-var test_transport = Task.async(function*(transportFactory) {
+var test_transport = Task.async(function* (transportFactory) {
   let clientDeferred = promise.defer();
   let serverDeferred = promise.defer();
 
   // Ensure test files are not present from a failed run
   cleanup_files();
   let reallyLong = really_long();
   writeTestTempFile("bulk-input", reallyLong);
 
@@ -36,21 +36,21 @@ var test_transport = Task.async(function
 
   let transport = yield transportFactory();
 
   // Sending from client to server
   function write_data({copyFrom}) {
     NetUtil.asyncFetch({
       uri: NetUtil.newURI(getTestTempFile("bulk-input")),
       loadUsingSystemPrincipal: true
-    }, function(input, status) {
-        copyFrom(input).then(() => {
-          input.close();
-        });
+    }, function (input, status) {
+      copyFrom(input).then(() => {
+        input.close();
       });
+    });
   }
 
   // Receiving on server from client
   function on_bulk_packet({actor, type, length, copyTo}) {
     do_check_eq(actor, "root");
     do_check_eq(type, "file-stream");
     do_check_eq(length, reallyLong.length);
 
@@ -77,34 +77,34 @@ var test_transport = Task.async(function
     // Specifically, we want to ensure that multiple send()s proceed without
     // causing the transport to die.
     transport.send({
       actor: "root",
       type: "explode"
     });
 
     transport.startBulkSend({
-       actor: "root",
-       type: "file-stream",
-       length: reallyLong.length
+      actor: "root",
+      type: "file-stream",
+      length: reallyLong.length
     }).then(write_data);
   }
 
   transport.hooks = {
-    onPacket: function(packet) {
+    onPacket: function (packet) {
       if (packet.error) {
         transport.hooks.onError(packet);
       } else if (packet.applicationType) {
         transport.hooks.onServerHello(packet);
       } else {
         do_throw("Unexpected server reply");
       }
     },
 
-    onServerHello: function(packet) {
+    onServerHello: function (packet) {
       // We've received the initial start up packet
       do_check_eq(packet.from, "root");
       do_check_eq(packet.applicationType, "xpcshell-tests");
 
       // Server
       do_check_eq(Object.keys(DebuggerServer._connections).length, 1);
       do_print(Object.keys(DebuggerServer._connections));
       for (let connId in DebuggerServer._connections) {
@@ -115,55 +115,55 @@ var test_transport = Task.async(function
         if (type === "closed") {
           serverDeferred.resolve();
         }
       });
 
       send_packets();
     },
 
-    onError: function(packet) {
+    onError: function (packet) {
       // The explode actor doesn't exist
       do_check_eq(packet.from, "root");
       do_check_eq(packet.error, "noSuchActor");
     },
 
-    onClosed: function() {
+    onClosed: function () {
       do_throw("Transport closed before we expected");
     }
   };
 
   transport.ready();
 
   return promise.all([clientDeferred.promise, serverDeferred.promise]);
 });
 
-/*** Test Utils ***/
+/** * Test Utils ***/
 
 function verify() {
   let reallyLong = really_long();
 
   let inputFile = getTestTempFile("bulk-input");
   let outputFile = getTestTempFile("bulk-output");
 
   do_check_eq(inputFile.fileSize, reallyLong.length);
   do_check_eq(outputFile.fileSize, reallyLong.length);
 
   // Ensure output file contents actually match
   let compareDeferred = promise.defer();
   NetUtil.asyncFetch({
     uri: NetUtil.newURI(getTestTempFile("bulk-output")),
     loadUsingSystemPrincipal: true
   }, input => {
-      let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
+    let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
       // Avoid do_check_eq here so we don't log the contents
-      do_check_true(outputData === reallyLong);
-      input.close();
-      compareDeferred.resolve();
-    });
+    do_check_true(outputData === reallyLong);
+    input.close();
+    compareDeferred.resolve();
+  });
 
   return compareDeferred.promise.then(cleanup_files);
 }
 
 function cleanup_files() {
   let inputFile = getTestTempFile("bulk-input", true);
   if (inputFile.exists()) {
     inputFile.remove(false);
--- a/devtools/shared/transport/tests/unit/test_transport_bulk.js
+++ b/devtools/shared/transport/tests/unit/test_transport_bulk.js
@@ -2,31 +2,31 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 var { FileUtils } = Cu.import("resource://gre/modules/FileUtils.jsm", {});
 var { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
 
 function run_test() {
   initTestDebuggerServer();
 
-  add_task(function*() {
+  add_task(function* () {
     yield test_bulk_transfer_transport(socket_transport);
     yield test_bulk_transfer_transport(local_transport);
     DebuggerServer.destroy();
   });
 
   run_next_test();
 }
 
-/*** Tests ***/
+/** * Tests ***/
 
 /**
  * This tests a one-way bulk transfer at the transport layer.
  */
-var test_bulk_transfer_transport = Task.async(function*(transportFactory) {
+var test_bulk_transfer_transport = Task.async(function* (transportFactory) {
   do_print("Starting bulk transfer test at " + new Date().toTimeString());
 
   let clientDeferred = promise.defer();
   let serverDeferred = promise.defer();
 
   // Ensure test files are not present from a failed run
   cleanup_files();
   let reallyLong = really_long();
@@ -36,21 +36,21 @@ var test_bulk_transfer_transport = Task.
 
   let transport = yield transportFactory();
 
   // Sending from client to server
   function write_data({copyFrom}) {
     NetUtil.asyncFetch({
       uri: NetUtil.newURI(getTestTempFile("bulk-input")),
       loadUsingSystemPrincipal: true
-    }, function(input, status) {
-        copyFrom(input).then(() => {
-          input.close();
-        });
+    }, function (input, status) {
+      copyFrom(input).then(() => {
+        input.close();
       });
+    });
   }
 
   // Receiving on server from client
   function on_bulk_packet({actor, type, length, copyTo}) {
     do_check_eq(actor, "root");
     do_check_eq(type, "file-stream");
     do_check_eq(length, reallyLong.length);
 
@@ -68,17 +68,17 @@ var test_bulk_transfer_transport = Task.
         clientDeferred.resolve();
       };
       transport.close();
     });
   }
 
   // Client
   transport.hooks = {
-    onPacket: function(aPacket) {
+    onPacket: function (aPacket) {
       // We've received the initial start up packet
       do_check_eq(aPacket.from, "root");
 
       // Server
       do_check_eq(Object.keys(DebuggerServer._connections).length, 1);
       do_print(Object.keys(DebuggerServer._connections));
       for (let connId in DebuggerServer._connections) {
         DebuggerServer._connections[connId].onBulkPacket = on_bulk_packet;
@@ -86,55 +86,55 @@ var test_bulk_transfer_transport = Task.
 
       DebuggerServer.on("connectionchange", (event, type) => {
         if (type === "closed") {
           serverDeferred.resolve();
         }
       });
 
       transport.startBulkSend({
-         actor: "root",
-         type: "file-stream",
-         length: reallyLong.length
+        actor: "root",
+        type: "file-stream",
+        length: reallyLong.length
       }).then(write_data);
     },
 
-    onClosed: function() {
+    onClosed: function () {
       do_throw("Transport closed before we expected");
     }
   };
 
   transport.ready();
 
   return promise.all([clientDeferred.promise, serverDeferred.promise]);
 });
 
-/*** Test Utils ***/
+/** * Test Utils ***/
 
 function verify() {
   let reallyLong = really_long();
 
   let inputFile = getTestTempFile("bulk-input");
   let outputFile = getTestTempFile("bulk-output");
 
   do_check_eq(inputFile.fileSize, reallyLong.length);
   do_check_eq(outputFile.fileSize, reallyLong.length);
 
   // Ensure output file contents actually match
   let compareDeferred = promise.defer();
   NetUtil.asyncFetch({
     uri: NetUtil.newURI(getTestTempFile("bulk-output")),
     loadUsingSystemPrincipal: true
   }, input => {
-      let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
+    let outputData = NetUtil.readInputStreamToString(input, reallyLong.length);
       // Avoid do_check_eq here so we don't log the contents
-      do_check_true(outputData === reallyLong);
-      input.close();
-      compareDeferred.resolve();
-    });
+    do_check_true(outputData === reallyLong);
+    input.close();
+    compareDeferred.resolve();
+  });
 
   return compareDeferred.promise.then(cleanup_files);
 }
 
 function cleanup_files() {
   let inputFile = getTestTempFile("bulk-input", true);
   if (inputFile.exists()) {
     inputFile.remove(false);
--- a/devtools/shared/transport/tests/unit/testactors-no-bulk.js
+++ b/devtools/shared/transport/tests/unit/testactors-no-bulk.js
@@ -13,15 +13,15 @@ function createRootActor(aConnection) {
   });
   root.applicationType = "xpcshell-tests";
   root.traits = {
     bulk: false
   };
   return root;
 }
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.setRootActor(createRootActor);
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.setRootActor(null);
 };
--- a/devtools/shared/transport/tests/unit/testactors.js
+++ b/devtools/shared/transport/tests/unit/testactors.js
@@ -4,17 +4,17 @@
 const { ActorPool, appendExtraActors, createExtraActors } =
   require("devtools/server/actors/common");
 const { RootActor } = require("devtools/server/actors/root");
 const { ThreadActor } = require("devtools/server/actors/script");
 const { DebuggerServer } = require("devtools/server/main");
 const promise = require("promise");
 
 var gTestGlobals = [];
-DebuggerServer.addTestGlobal = function(aGlobal) {
+DebuggerServer.addTestGlobal = function (aGlobal) {
   gTestGlobals.push(aGlobal);
 };
 
 // A mock tab list, for use by tests. This simply presents each global in
 // gTestGlobals as a tab, and the list is fixed: it never calls its
 // onListChanged handler.
 //
 // As implemented now, we consult gTestGlobals when we're constructed, not
@@ -75,57 +75,57 @@ TestTabActor.prototype = {
   get window() {
     return { wrappedJSObject: this._global };
   },
 
   get url() {
     return this._global.__name;
   },
 
-  form: function() {
+  form: function () {
     let response = { actor: this.actorID, title: this._global.__name };
 
     // Walk over tab actors added by extensions and add them to a new ActorPool.
     let actorPool = new ActorPool(this.conn);
     this._createExtraActors(DebuggerServer.tabActorFactories, actorPool);
     if (!actorPool.isEmpty()) {
       this._tabActorPool = actorPool;
       this.conn.addActorPool(this._tabActorPool);
     }
 
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onAttach: function(aRequest) {
+  onAttach: function (aRequest) {
     this._attached = true;
 
     let response = { type: "tabAttached", threadActor: this._threadActor.actorID };
     this._appendExtraActors(response);
 
     return response;
   },
 
-  onDetach: function(aRequest) {
+  onDetach: function (aRequest) {
     if (!this._attached) {
       return { "error":"wrongState" };
     }
     return { type: "detached" };
   },
 
   /* Support for DebuggerServer.addTabActor. */
   _createExtraActors: createExtraActors,
   _appendExtraActors: appendExtraActors
 };
 
 TestTabActor.prototype.requestTypes = {
   "attach": TestTabActor.prototype.onAttach,
   "detach": TestTabActor.prototype.onDetach
 };
 
-exports.register = function(handle) {
+exports.register = function (handle) {
   handle.setRootActor(createRootActor);
 };
 
-exports.unregister = function(handle) {
+exports.unregister = function (handle) {
   handle.setRootActor(null);
 };
--- a/devtools/shared/transport/transport.js
+++ b/devtools/shared/transport/transport.js
@@ -15,38 +15,38 @@
     } else {
       const Cu = Components.utils;
       const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
       factory.call(this, require, this);
     }
   }
 }).call(this, function (require, exports) {
 
-"use strict";
+  "use strict";
 
-const { Cc, Ci, Cr, Cu, CC } = require("chrome");
-const Services = require("Services");
-const DevToolsUtils = require("devtools/shared/DevToolsUtils");
-const { dumpn, dumpv } = DevToolsUtils;
-const StreamUtils = require("devtools/shared/transport/stream-utils");
-const { Packet, JSONPacket, BulkPacket } =
+  const { Cc, Ci, Cr, Cu, CC } = require("chrome");
+  const Services = require("Services");
+  const DevToolsUtils = require("devtools/shared/DevToolsUtils");
+  const { dumpn, dumpv } = DevToolsUtils;
+  const StreamUtils = require("devtools/shared/transport/stream-utils");
+  const { Packet, JSONPacket, BulkPacket } =
   require("devtools/shared/transport/packets");
-const promise = require("promise");
-const EventEmitter = require("devtools/shared/event-emitter");
+  const promise = require("promise");
+  const EventEmitter = require("devtools/shared/event-emitter");
 
-DevToolsUtils.defineLazyGetter(this, "Pipe", () => {
-  return CC("@mozilla.org/pipe;1", "nsIPipe", "init");
-});
+  DevToolsUtils.defineLazyGetter(this, "Pipe", () => {
+    return CC("@mozilla.org/pipe;1", "nsIPipe", "init");
+  });
 
-DevToolsUtils.defineLazyGetter(this, "ScriptableInputStream", () => {
-  return CC("@mozilla.org/scriptableinputstream;1",
+  DevToolsUtils.defineLazyGetter(this, "ScriptableInputStream", () => {
+    return CC("@mozilla.org/scriptableinputstream;1",
             "nsIScriptableInputStream", "init");
-});
+  });
 
-const PACKET_HEADER_MAX = 200;
+  const PACKET_HEADER_MAX = 200;
 
 /**
  * An adapter that handles data transfers between the debugger client and
  * server. It can work with both nsIPipe and nsIServerSocket transports so
  * long as the properly created input and output streams are specified.
  * (However, for intra-process connections, LocalDebuggerTransport, below,
  * is more efficient than using an nsIPipe pair with DebuggerTransport.)
  *
@@ -95,57 +95,57 @@ const PACKET_HEADER_MAX = 200;
  *
  * - onClosed(reason) - called when the connection is closed. |reason| is
  *   an optional nsresult or object, typically passed when the transport is
  *   closed due to some error in a underlying stream.
  *
  * See ./packets.js and the Remote Debugging Protocol specification for more
  * details on the format of these packets.
  */
-function DebuggerTransport(input, output) {
-  EventEmitter.decorate(this);
+  function DebuggerTransport(input, output) {
+    EventEmitter.decorate(this);
 
-  this._input = input;
-  this._scriptableInput = new ScriptableInputStream(input);
-  this._output = output;
+    this._input = input;
+    this._scriptableInput = new ScriptableInputStream(input);
+    this._output = output;
 
   // The current incoming (possibly partial) header, which will determine which
   // type of Packet |_incoming| below will become.
-  this._incomingHeader = "";
+    this._incomingHeader = "";
   // The current incoming Packet object
-  this._incoming = null;
+    this._incoming = null;
   // A queue of outgoing Packet objects
-  this._outgoing = [];
+    this._outgoing = [];
 
-  this.hooks = null;
-  this.active = false;
+    this.hooks = null;
+    this.active = false;
 
-  this._incomingEnabled = true;
-  this._outgoingEnabled = true;
+    this._incomingEnabled = true;
+    this._outgoingEnabled = true;
 
-  this.close = this.close.bind(this);
-}
+    this.close = this.close.bind(this);
+  }
 
-DebuggerTransport.prototype = {
+  DebuggerTransport.prototype = {
   /**
    * Transmit an object as a JSON packet.
    *
    * This method returns immediately, without waiting for the entire
    * packet to be transmitted, registering event handlers as needed to
    * transmit the entire packet. Packets are transmitted in the order
    * they are passed to this method.
    */
-  send: function(object) {
-    this.emit("send", object);
+    send: function (object) {
+      this.emit("send", object);
 
-    let packet = new JSONPacket(this);
-    packet.object = object;
-    this._outgoing.push(packet);
-    this._flushOutgoing();
-  },
+      let packet = new JSONPacket(this);
+      packet.object = object;
+      this._outgoing.push(packet);
+      this._flushOutgoing();
+    },
 
   /**
    * Transmit streaming data via a bulk packet.
    *
    * This method initiates the bulk send process by queuing up the header data.
    * The caller receives eventual access to a stream for writing.
    *
    * N.B.: Do *not* attempt to close the stream handed to you, as it will
@@ -178,189 +178,189 @@ DebuggerTransport.prototype = {
    *             @param  input nsIAsyncInputStream
    *                     The stream to copy from.
    *             @return Promise
    *                     The promise is resolved when copying completes or
    *                     rejected if any (unexpected) errors occur.
    *                     This object also emits "progress" events for each chunk
    *                     that is copied.  See stream-utils.js.
    */
-  startBulkSend: function(header) {
-    this.emit("startBulkSend", header);
+    startBulkSend: function (header) {
+      this.emit("startBulkSend", header);
 
-    let packet = new BulkPacket(this);
-    packet.header = header;
-    this._outgoing.push(packet);
-    this._flushOutgoing();
-    return packet.streamReadyForWriting;
-  },
+      let packet = new BulkPacket(this);
+      packet.header = header;
+      this._outgoing.push(packet);
+      this._flushOutgoing();
+      return packet.streamReadyForWriting;
+    },
 
   /**
    * Close the transport.
    * @param reason nsresult / object (optional)
    *        The status code or error message that corresponds to the reason for
    *        closing the transport (likely because a stream closed or failed).
    */
-  close: function(reason) {
-    this.emit("onClosed", reason);
+    close: function (reason) {
+      this.emit("onClosed", reason);
 
-    this.active = false;
-    this._input.close();
-    this._scriptableInput.close();
-    this._output.close();
-    this._destroyIncoming();
-    this._destroyAllOutgoing();
-    if (this.hooks) {
-      this.hooks.onClosed(reason);
-      this.hooks = null;
-    }
-    if (reason) {
-      dumpn("Transport closed: " + DevToolsUtils.safeErrorString(reason));
-    } else {
-      dumpn("Transport closed.");
-    }
-  },
+      this.active = false;
+      this._input.close();
+      this._scriptableInput.close();
+      this._output.close();
+      this._destroyIncoming();
+      this._destroyAllOutgoing();
+      if (this.hooks) {
+        this.hooks.onClosed(reason);
+        this.hooks = null;
+      }
+      if (reason) {
+        dumpn("Transport closed: " + DevToolsUtils.safeErrorString(reason));
+      } else {
+        dumpn("Transport closed.");
+      }
+    },
 
   /**
    * The currently outgoing packet (at the top of the queue).
    */
-  get _currentOutgoing() { return this._outgoing[0]; },
+    get _currentOutgoing() { return this._outgoing[0]; },
 
   /**
    * Flush data to the outgoing stream.  Waits until the output stream notifies
    * us that it is ready to be written to (via onOutputStreamReady).
    */
-  _flushOutgoing: function() {
-    if (!this._outgoingEnabled || this._outgoing.length === 0) {
-      return;
-    }
+    _flushOutgoing: function () {
+      if (!this._outgoingEnabled || this._outgoing.length === 0) {
+        return;
+      }
 
     // If the top of the packet queue has nothing more to send, remove it.
-    if (this._currentOutgoing.done) {
-      this._finishCurrentOutgoing();
-    }
+      if (this._currentOutgoing.done) {
+        this._finishCurrentOutgoing();
+      }
 
-    if (this._outgoing.length > 0) {
-      var threadManager = Cc["@mozilla.org/thread-manager;1"].getService();
-      this._output.asyncWait(this, 0, 0, threadManager.currentThread);
-    }
-  },
+      if (this._outgoing.length > 0) {
+        var threadManager = Cc["@mozilla.org/thread-manager;1"].getService();
+        this._output.asyncWait(this, 0, 0, threadManager.currentThread);
+      }
+    },
 
   /**
    * Pause this transport's attempts to write to the output stream.  This is
    * used when we've temporarily handed off our output stream for writing bulk
    * data.
    */
-  pauseOutgoing: function() {
-    this._outgoingEnabled = false;
-  },
+    pauseOutgoing: function () {
+      this._outgoingEnabled = false;
+    },
 
   /**
    * Resume this transport's attempts to write to the output stream.
    */
-  resumeOutgoing: function() {
-    this._outgoingEnabled = true;
-    this._flushOutgoing();
-  },
+    resumeOutgoing: function () {
+      this._outgoingEnabled = true;
+      this._flushOutgoing();
+    },
 
   // nsIOutputStreamCallback
   /**
    * This is called when the output stream is ready for more data to be written.
    * The current outgoing packet will attempt to write some amount of data, but
    * may not complete.
    */
-  onOutputStreamReady: DevToolsUtils.makeInfallible(function(stream) {
-    if (!this._outgoingEnabled || this._outgoing.length === 0) {
-      return;
-    }
+    onOutputStreamReady: DevToolsUtils.makeInfallible(function (stream) {
+      if (!this._outgoingEnabled || this._outgoing.length === 0) {
+        return;
+      }
 
-    try {
-      this._currentOutgoing.write(stream);
-    } catch(e) {
-      if (e.result != Cr.NS_BASE_STREAM_WOULD_BLOCK) {
-        this.close(e.result);
-        return;
-      } else {
-        throw e;
+      try {
+        this._currentOutgoing.write(stream);
+      } catch (e) {
+        if (e.result != Cr.NS_BASE_STREAM_WOULD_BLOCK) {
+          this.close(e.result);
+          return;
+        } else {
+          throw e;
+        }
       }
-    }
 
-    this._flushOutgoing();
-  }, "DebuggerTransport.prototype.onOutputStreamReady"),
+      this._flushOutgoing();
+    }, "DebuggerTransport.prototype.onOutputStreamReady"),
 
   /**
    * Remove the current outgoing packet from the queue upon completion.
    */
-  _finishCurrentOutgoing: function() {
-    if (this._currentOutgoing) {
-      this._currentOutgoing.destroy();
-      this._outgoing.shift();
-    }
-  },
+    _finishCurrentOutgoing: function () {
+      if (this._currentOutgoing) {
+        this._currentOutgoing.destroy();
+        this._outgoing.shift();
+      }
+    },
 
   /**
    * Clear the entire outgoing queue.
    */
-  _destroyAllOutgoing: function() {
-    for (let packet of this._outgoing) {
-      packet.destroy();
-    }
-    this._outgoing = [];
-  },
+    _destroyAllOutgoing: function () {
+      for (let packet of this._outgoing) {
+        packet.destroy();
+      }
+      this._outgoing = [];
+    },
 
   /**
    * Initialize the input stream for reading. Once this method has been called,
    * we watch for packets on the input stream, and pass them to the appropriate
    * handlers via this.hooks.
    */
-  ready: function() {
-    this.active = true;
-    this._waitForIncoming();
-  },
+    ready: function () {
+      this.active = true;
+      this._waitForIncoming();
+    },
 
   /**
    * Asks the input stream to notify us (via onInputStreamReady) when it is
    * ready for reading.
    */
-  _waitForIncoming: function() {
-    if (this._incomingEnabled) {
-      let threadManager = Cc["@mozilla.org/thread-manager;1"].getService();
-      this._input.asyncWait(this, 0, 0, threadManager.currentThread);
-    }
-  },
+    _waitForIncoming: function () {
+      if (this._incomingEnabled) {
+        let threadManager = Cc["@mozilla.org/thread-manager;1"].getService();
+        this._input.asyncWait(this, 0, 0, threadManager.currentThread);
+      }
+    },
 
   /**
    * Pause this transport's attempts to read from the input stream.  This is
    * used when we've temporarily handed off our input stream for reading bulk
    * data.
    */
-  pauseIncoming: function() {
-    this._incomingEnabled = false;
-  },
+    pauseIncoming: function () {
+      this._incomingEnabled = false;
+    },
 
   /**
    * Resume this transport's attempts to read from the input stream.
    */
-  resumeIncoming: function() {
-    this._incomingEnabled = true;
-    this._flushIncoming();
-    this._waitForIncoming();
-  },
+    resumeIncoming: function () {
+      this._incomingEnabled = true;
+      this._flushIncoming();
+      this._waitForIncoming();
+    },
 
   // nsIInputStreamCallback
   /**
    * Called when the stream is either readable or closed.
    */
-  onInputStreamReady:
-  DevToolsUtils.makeInfallible(function(stream) {
+    onInputStreamReady:
+  DevToolsUtils.makeInfallible(function (stream) {
     try {
-      while(stream.available() && this._incomingEnabled &&
+      while (stream.available() && this._incomingEnabled &&
             this._processIncoming(stream, stream.available())) {}
       this._waitForIncoming();
-    } catch(e) {
+    } catch (e) {
       if (e.result != Cr.NS_BASE_STREAM_WOULD_BLOCK) {
         this.close(e.result);
       } else {
         throw e;
       }
     }
   }, "DebuggerTransport.prototype.onInputStreamReady"),
 
@@ -369,505 +369,505 @@ DebuggerTransport.prototype = {
    * needed.  Tells the incoming Packet to read as much data as it can, but
    * reading may not complete.  The Packet signals that its data is ready for
    * delivery by calling one of this transport's _on*Ready methods (see
    * ./packets.js and the _on*Ready methods below).
    * @return boolean
    *         Whether incoming stream processing should continue for any
    *         remaining data.
    */
-  _processIncoming: function(stream, count) {
-    dumpv("Data available: " + count);
+    _processIncoming: function (stream, count) {
+      dumpv("Data available: " + count);
 
-    if (!count) {
-      dumpv("Nothing to read, skipping");
-      return false;
-    }
+      if (!count) {
+        dumpv("Nothing to read, skipping");
+        return false;
+      }
 
-    try {
-      if (!this._incoming) {
-        dumpv("Creating a new packet from incoming");
+      try {
+        if (!this._incoming) {
+          dumpv("Creating a new packet from incoming");
 
-        if (!this._readHeader(stream)) {
-          return false; // Not enough data to read packet type
-        }
+          if (!this._readHeader(stream)) {
+            return false; // Not enough data to read packet type
+          }
 
         // Attempt to create a new Packet by trying to parse each possible
         // header pattern.
-        this._incoming = Packet.fromHeader(this._incomingHeader, this);
-        if (!this._incoming) {
-          throw new Error("No packet types for header: " +
+          this._incoming = Packet.fromHeader(this._incomingHeader, this);
+          if (!this._incoming) {
+            throw new Error("No packet types for header: " +
                           this._incomingHeader);
+          }
         }
+
+        if (!this._incoming.done) {
+        // We have an incomplete packet, keep reading it.
+          dumpv("Existing packet incomplete, keep reading");
+          this._incoming.read(stream, this._scriptableInput);
+        }
+      } catch (e) {
+        let msg = "Error reading incoming packet: (" + e + " - " + e.stack + ")";
+        dumpn(msg);
+
+      // Now in an invalid state, shut down the transport.
+        this.close();
+        return false;
       }
 
       if (!this._incoming.done) {
-        // We have an incomplete packet, keep reading it.
-        dumpv("Existing packet incomplete, keep reading");
-        this._incoming.read(stream, this._scriptableInput);
+      // Still not complete, we'll wait for more data.
+        dumpv("Packet not done, wait for more");
+        return true;
       }
-    } catch(e) {
-      let msg = "Error reading incoming packet: (" + e + " - " + e.stack + ")";
-      dumpn(msg);
-
-      // Now in an invalid state, shut down the transport.
-      this.close();
-      return false;
-    }
-
-    if (!this._incoming.done) {
-      // Still not complete, we'll wait for more data.
-      dumpv("Packet not done, wait for more");
-      return true;
-    }
 
     // Ready for next packet
-    this._flushIncoming();
-    return true;
-  },
+      this._flushIncoming();
+      return true;
+    },
 
   /**
    * Read as far as we can into the incoming data, attempting to build up a
    * complete packet header (which terminates with ":").  We'll only read up to
    * PACKET_HEADER_MAX characters.
    * @return boolean
    *         True if we now have a complete header.
    */
-  _readHeader: function() {
-    let amountToRead = PACKET_HEADER_MAX - this._incomingHeader.length;
-    this._incomingHeader +=
+    _readHeader: function () {
+      let amountToRead = PACKET_HEADER_MAX - this._incomingHeader.length;
+      this._incomingHeader +=
       StreamUtils.delimitedRead(this._scriptableInput, ":", amountToRead);
-    if (dumpv.wantVerbose) {
-      dumpv("Header read: " + this._incomingHeader);
-    }
+      if (dumpv.wantVerbose) {
+        dumpv("Header read: " + this._incomingHeader);
+      }
 
-    if (this._incomingHeader.endsWith(":")) {
-      if (dumpv.wantVerbose) {
-        dumpv("Found packet header successfully: " + this._incomingHeader);
+      if (this._incomingHeader.endsWith(":")) {
+        if (dumpv.wantVerbose) {
+          dumpv("Found packet header successfully: " + this._incomingHeader);
+        }
+        return true;
       }
-      return true;
-    }
 
-    if (this._incomingHeader.length >= PACKET_HEADER_MAX) {
-      throw new Error("Failed to parse packet header!");
-    }
+      if (this._incomingHeader.length >= PACKET_HEADER_MAX) {
+        throw new Error("Failed to parse packet header!");
+      }
 
     // Not enough data yet.
-    return false;
-  },
+      return false;
+    },
 
   /**
    * If the incoming packet is done, log it as needed and clear the buffer.
    */
-  _flushIncoming: function() {
-    if (!this._incoming.done) {
-      return;
-    }
-    if (dumpn.wantLogging) {
-      dumpn("Got: " + this._incoming);
-    }
-    this._destroyIncoming();
-  },
+    _flushIncoming: function () {
+      if (!this._incoming.done) {
+        return;
+      }
+      if (dumpn.wantLogging) {
+        dumpn("Got: " + this._incoming);
+      }
+      this._destroyIncoming();
+    },
 
   /**
    * Handler triggered by an incoming JSONPacket completing it's |read| method.
    * Delivers the packet to this.hooks.onPacket.
    */
-  _onJSONObjectReady: function(object) {
-    DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
+    _onJSONObjectReady: function (object) {
+      DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
       // Ensure the transport is still alive by the time this runs.
-      if (this.active) {
-        this.emit("onPacket", object);
-        this.hooks.onPacket(object);
-      }
-    }, "DebuggerTransport instance's this.hooks.onPacket"));
-  },
+        if (this.active) {
+          this.emit("onPacket", object);
+          this.hooks.onPacket(object);
+        }
+      }, "DebuggerTransport instance's this.hooks.onPacket"));
+    },
 
   /**
    * Handler triggered by an incoming BulkPacket entering the |read| phase for
    * the stream portion of the packet.  Delivers info about the incoming
    * streaming data to this.hooks.onBulkPacket.  See the main comment on the
    * transport at the top of this file for more details.
    */
-  _onBulkReadReady: function(...args) {
-    DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
+    _onBulkReadReady: function (...args) {
+      DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
       // Ensure the transport is still alive by the time this runs.
-      if (this.active) {
-        this.emit("onBulkPacket", ...args);
-        this.hooks.onBulkPacket(...args);
-      }
-    }, "DebuggerTransport instance's this.hooks.onBulkPacket"));
-  },
+        if (this.active) {
+          this.emit("onBulkPacket", ...args);
+          this.hooks.onBulkPacket(...args);
+        }
+      }, "DebuggerTransport instance's this.hooks.onBulkPacket"));
+    },
 
   /**
    * Remove all handlers and references related to the current incoming packet,
    * either because it is now complete or because the transport is closing.
    */
-  _destroyIncoming: function() {
-    if (this._incoming) {
-      this._incoming.destroy();
+    _destroyIncoming: function () {
+      if (this._incoming) {
+        this._incoming.destroy();
+      }
+      this._incomingHeader = "";
+      this._incoming = null;
     }
-    this._incomingHeader = "";
-    this._incoming = null;
-  }
 
-};
+  };
 
-exports.DebuggerTransport = DebuggerTransport;
+  exports.DebuggerTransport = DebuggerTransport;
 
 /**
  * An adapter that handles data transfers between the debugger client and
  * server when they both run in the same process. It presents the same API as
  * DebuggerTransport, but instead of transmitting serialized messages across a
  * connection it merely calls the packet dispatcher of the other side.
  *
  * @param other LocalDebuggerTransport
  *        The other endpoint for this debugger connection.
  *
  * @see DebuggerTransport
  */
-function LocalDebuggerTransport(other) {
-  EventEmitter.decorate(this);
+  function LocalDebuggerTransport(other) {
+    EventEmitter.decorate(this);
 
-  this.other = other;
-  this.hooks = null;
+    this.other = other;
+    this.hooks = null;
 
   /*
    * A packet number, shared between this and this.other. This isn't used
    * by the protocol at all, but it makes the packet traces a lot easier to
    * follow.
    */
-  this._serial = this.other ? this.other._serial : { count: 0 };
-  this.close = this.close.bind(this);
-}
+    this._serial = this.other ? this.other._serial : { count: 0 };
+    this.close = this.close.bind(this);
+  }
 
-LocalDebuggerTransport.prototype = {
+  LocalDebuggerTransport.prototype = {
   /**
    * Transmit a message by directly calling the onPacket handler of the other
    * endpoint.
    */
-  send: function(packet) {
-    this.emit("send", packet);
+    send: function (packet) {
+      this.emit("send", packet);
 
-    let serial = this._serial.count++;
-    if (dumpn.wantLogging) {
+      let serial = this._serial.count++;
+      if (dumpn.wantLogging) {
       /* Check 'from' first, as 'echo' packets have both. */
-      if (packet.from) {
-        dumpn("Packet " + serial + " sent from " + uneval(packet.from));
-      } else if (packet.to) {
-        dumpn("Packet " + serial + " sent to " + uneval(packet.to));
+        if (packet.from) {
+          dumpn("Packet " + serial + " sent from " + uneval(packet.from));
+        } else if (packet.to) {
+          dumpn("Packet " + serial + " sent to " + uneval(packet.to));
+        }
       }
-    }
-    this._deepFreeze(packet);
-    let other = this.other;
-    if (other) {
-      DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
+      this._deepFreeze(packet);
+      let other = this.other;
+      if (other) {
+        DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
         // Avoid the cost of JSON.stringify() when logging is disabled.
-        if (dumpn.wantLogging) {
-          dumpn("Received packet " + serial + ": " + JSON.stringify(packet, null, 2));
-        }
-        if (other.hooks) {
-          other.emit("onPacket", packet);
-          other.hooks.onPacket(packet);
-        }
-      }, "LocalDebuggerTransport instance's this.other.hooks.onPacket"));
-    }
-  },
+          if (dumpn.wantLogging) {
+            dumpn("Received packet " + serial + ": " + JSON.stringify(packet, null, 2));
+          }
+          if (other.hooks) {
+            other.emit("onPacket", packet);
+            other.hooks.onPacket(packet);
+          }
+        }, "LocalDebuggerTransport instance's this.other.hooks.onPacket"));
+      }
+    },
 
   /**
    * Send a streaming bulk packet directly to the onBulkPacket handler of the
    * other endpoint.
    *
    * This case is much simpler than the full DebuggerTransport, since there is
    * no primary stream we have to worry about managing while we hand it off to
    * others temporarily.  Instead, we can just make a single use pipe and be
    * done with it.
    */
-  startBulkSend: function({actor, type, length}) {
-    this.emit("startBulkSend", {actor, type, length});
-
-    let serial = this._serial.count++;
+    startBulkSend: function ({actor, type, length}) {
+      this.emit("startBulkSend", {actor, type, length});
 
-    dumpn("Sent bulk packet " + serial + " for actor " + actor);
-    if (!this.other) {
-      return;
-    }
+      let serial = this._serial.count++;
 
-    let pipe = new Pipe(true, true, 0, 0, null);
-
-    DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
-      dumpn("Received bulk packet " + serial);
-      if (!this.other.hooks) {
+      dumpn("Sent bulk packet " + serial + " for actor " + actor);
+      if (!this.other) {
         return;
       }
 
+      let pipe = new Pipe(true, true, 0, 0, null);
+
+      DevToolsUtils.executeSoon(DevToolsUtils.makeInfallible(() => {
+        dumpn("Received bulk packet " + serial);
+        if (!this.other.hooks) {
+          return;
+        }
+
       // Receiver
-      let deferred = promise.defer();
-      let packet = {
-        actor: actor,
-        type: type,
-        length: length,
-        copyTo: (output) => {
-          let copying =
+        let deferred = promise.defer();
+        let packet = {
+          actor: actor,
+          type: type,
+          length: length,
+          copyTo: (output) => {
+            let copying =
             StreamUtils.copyStream(pipe.inputStream, output, length);
-          deferred.resolve(copying);
-          return copying;
-        },
-        stream: pipe.inputStream,
-        done: deferred
-      };
+            deferred.resolve(copying);
+            return copying;
+          },
+          stream: pipe.inputStream,
+          done: deferred
+        };
 
-      this.other.emit("onBulkPacket", packet);
-      this.other.hooks.onBulkPacket(packet);
+        this.other.emit("onBulkPacket", packet);
+        this.other.hooks.onBulkPacket(packet);
 
       // Await the result of reading from the stream
-      deferred.promise.then(() => pipe.inputStream.close(), this.close);
-    }, "LocalDebuggerTransport instance's this.other.hooks.onBulkPacket"));
+        deferred.promise.then(() => pipe.inputStream.close(), this.close);
+      }, "LocalDebuggerTransport instance's this.other.hooks.onBulkPacket"));
 
     // Sender
-    let sendDeferred = promise.defer();
+      let sendDeferred = promise.defer();
 
     // The remote transport is not capable of resolving immediately here, so we
     // shouldn't be able to either.
-    DevToolsUtils.executeSoon(() => {
-      let copyDeferred = promise.defer();
+      DevToolsUtils.executeSoon(() => {
+        let copyDeferred = promise.defer();
 
-      sendDeferred.resolve({
-        copyFrom: (input) => {
-          let copying =
+        sendDeferred.resolve({
+          copyFrom: (input) => {
+            let copying =
             StreamUtils.copyStream(input, pipe.outputStream, length);
-          copyDeferred.resolve(copying);
-          return copying;
-        },
-        stream: pipe.outputStream,
-        done: copyDeferred
+            copyDeferred.resolve(copying);
+            return copying;
+          },
+          stream: pipe.outputStream,
+          done: copyDeferred
+        });
+
+      // Await the result of writing to the stream
+        copyDeferred.promise.then(() => pipe.outputStream.close(), this.close);
       });
 
-      // Await the result of writing to the stream
-      copyDeferred.promise.then(() => pipe.outputStream.close(), this.close);
-    });
-
-    return sendDeferred.promise;
-  },
+      return sendDeferred.promise;
+    },
 
   /**
    * Close the transport.
    */
-  close: function() {
-    this.emit("close");
+    close: function () {
+      this.emit("close");
 
-    if (this.other) {
+      if (this.other) {
       // Remove the reference to the other endpoint before calling close(), to
       // avoid infinite recursion.
-      let other = this.other;
-      this.other = null;
-      other.close();
-    }
-    if (this.hooks) {
-      try {
-        this.hooks.onClosed();
-      } catch(ex) {
-        console.error(ex);
+        let other = this.other;
+        this.other = null;
+        other.close();
       }
-      this.hooks = null;
-    }
-  },
+      if (this.hooks) {
+        try {
+          this.hooks.onClosed();
+        } catch (ex) {
+          console.error(ex);
+        }
+        this.hooks = null;
+      }
+    },
 
   /**
    * An empty method for emulating the DebuggerTransport API.
    */
-  ready: function() {},
+    ready: function () {},
 
   /**
    * Helper function that makes an object fully immutable.
    */
-  _deepFreeze: function(object) {
-    Object.freeze(object);
-    for (let prop in object) {
+    _deepFreeze: function (object) {
+      Object.freeze(object);
+      for (let prop in object) {
       // Freeze the properties that are objects, not on the prototype, and not
       // already frozen. Note that this might leave an unfrozen reference
       // somewhere in the object if there is an already frozen object containing
       // an unfrozen object.
-      if (object.hasOwnProperty(prop) && typeof object === "object" &&
+        if (object.hasOwnProperty(prop) && typeof object === "object" &&
           !Object.isFrozen(object)) {
-        this._deepFreeze(o[prop]);
+          this._deepFreeze(o[prop]);
+        }
       }
     }
-  }
-};
+  };
 
-exports.LocalDebuggerTransport = LocalDebuggerTransport;
+  exports.LocalDebuggerTransport = LocalDebuggerTransport;
 
 /**
  * A transport for the debugging protocol that uses nsIMessageSenders to
  * exchange packets with servers running in child processes.
  *
  * In the parent process, |sender| should be the nsIMessageSender for the
  * child process. In a child process, |sender| should be the child process
  * message manager, which sends packets to the parent.
  *
  * |prefix| is a string included in the message names, to distinguish
  * multiple servers running in the same child process.
  *
  * This transport exchanges messages named 'debug:<prefix>:packet', where
  * <prefix> is |prefix|, whose data is the protocol packet.
  */
-function ChildDebuggerTransport(sender, prefix) {
-  EventEmitter.decorate(this);
+  function ChildDebuggerTransport(sender, prefix) {
+    EventEmitter.decorate(this);
 
-  this._sender = sender.QueryInterface(Ci.nsIMessageSender);
-  this._messageName = "debug:" + prefix + ":packet";
-}
+    this._sender = sender.QueryInterface(Ci.nsIMessageSender);
+    this._messageName = "debug:" + prefix + ":packet";
+  }
 
 /*
  * To avoid confusion, we use 'message' to mean something that
  * nsIMessageSender conveys, and 'packet' to mean a remote debugging
  * protocol packet.
  */
-ChildDebuggerTransport.prototype = {
-  constructor: ChildDebuggerTransport,
+  ChildDebuggerTransport.prototype = {
+    constructor: ChildDebuggerTransport,
 
-  hooks: null,
+    hooks: null,
 
-  ready: function () {
-    this._sender.addMessageListener(this._messageName, this);
-  },
+    ready: function () {
+      this._sender.addMessageListener(this._messageName, this);
+    },
 
-  close: function () {
-    this._sender.removeMessageListener(this._messageName, this);
-    this.emit("onClosed");
-    this.hooks.onClosed();
-  },
+    close: function () {
+      this._sender.removeMessageListener(this._messageName, this);
+      this.emit("onClosed");
+      this.hooks.onClosed();
+    },
 
-  receiveMessage: function ({data}) {
-    this.emit("onPacket", data);
-    this.hooks.onPacket(data);
-  },
+    receiveMessage: function ({data}) {
+      this.emit("onPacket", data);
+      this.hooks.onPacket(data);
+    },
 
-  send: function (packet) {
-    this.emit("send", packet);
-    this._sender.sendAsyncMessage(this._messageName, packet);
-  },
+    send: function (packet) {
+      this.emit("send", packet);
+      this._sender.sendAsyncMessage(this._messageName, packet);
+    },
 
-  startBulkSend: function() {
-    throw new Error("Can't send bulk data to child processes.");
-  }
-};
+    startBulkSend: function () {
+      throw new Error("Can't send bulk data to child processes.");
+    }
+  };
 
-exports.ChildDebuggerTransport = ChildDebuggerTransport;
+  exports.ChildDebuggerTransport = ChildDebuggerTransport;
 
 // WorkerDebuggerTransport is defined differently depending on whether we are
 // on the main thread or a worker thread. In the former case, we are required
 // by the devtools loader, and isWorker will be false. Otherwise, we are
 // required by the worker loader, and isWorker will be true.
 //
 // Each worker debugger supports only a single connection to the main thread.
 // However, its theoretically possible for multiple servers to connect to the
 // same worker. Consequently, each transport has a connection id, to allow
 // messages from multiple connections to be multiplexed on a single channel.
 
-if (!this.isWorker) {
-  (function () { // Main thread
+  if (!this.isWorker) {
+    (function () { // Main thread
     /**
      * A transport that uses a WorkerDebugger to send packets from the main
      * thread to a worker thread.
      */
-    function WorkerDebuggerTransport(dbg, id) {
-      this._dbg = dbg;
-      this._id = id;
-      this.onMessage = this._onMessage.bind(this);
-    }
+      function WorkerDebuggerTransport(dbg, id) {
+        this._dbg = dbg;
+        this._id = id;
+        this.onMessage = this._onMessage.bind(this);
+      }
 
-    WorkerDebuggerTransport.prototype = {
-      constructor: WorkerDebuggerTransport,
+      WorkerDebuggerTransport.prototype = {
+        constructor: WorkerDebuggerTransport,
 
-      ready: function () {
-        this._dbg.addListener(this);
-      },
+        ready: function () {
+          this._dbg.addListener(this);
+        },
 
-      close: function () {
-        this._dbg.removeListener(this);
-        if (this.hooks) {
-          this.hooks.onClosed();
-        }
-      },
+        close: function () {
+          this._dbg.removeListener(this);
+          if (this.hooks) {
+            this.hooks.onClosed();
+          }
+        },
 
-      send: function (packet) {
-        this._dbg.postMessage(JSON.stringify({
-          type: "message",
-          id: this._id,
-          message: packet
-        }));
-      },
+        send: function (packet) {
+          this._dbg.postMessage(JSON.stringify({
+            type: "message",
+            id: this._id,
+            message: packet
+          }));
+        },
 
-      startBulkSend: function () {
-        throw new Error("Can't send bulk data from worker threads!");
-      },
+        startBulkSend: function () {
+          throw new Error("Can't send bulk data from worker threads!");
+        },
 
-      _onMessage: function (message) {
-        let packet = JSON.parse(message);
-        if (packet.type !== "message" || packet.id !== this._id) {
-          return;
-        }
+        _onMessage: function (message) {
+          let packet = JSON.parse(message);
+          if (packet.type !== "message" || packet.id !== this._id) {
+            return;
+          }
 
-        if (this.hooks) {
-          this.hooks.onPacket(packet.message);
+          if (this.hooks) {
+            this.hooks.onPacket(packet.message);
+          }
         }
-      }
-    };
+      };
 
-    exports.WorkerDebuggerTransport = WorkerDebuggerTransport;
-  }).call(this);
-} else {
-  (function () { // Worker thread
+      exports.WorkerDebuggerTransport = WorkerDebuggerTransport;
+    }).call(this);
+  } else {
+    (function () { // Worker thread
     /*
      * A transport that uses a WorkerDebuggerGlobalScope to send packets from a
      * worker thread to the main thread.
      */
-    function WorkerDebuggerTransport(scope, id) {
-      this._scope = scope;
-      this._id = id;
-      this._onMessage = this._onMessage.bind(this);
-    }
+      function WorkerDebuggerTransport(scope, id) {
+        this._scope = scope;
+        this._id = id;
+        this._onMessage = this._onMessage.bind(this);
+      }
 
-    WorkerDebuggerTransport.prototype = {
-      constructor: WorkerDebuggerTransport,
+      WorkerDebuggerTransport.prototype = {
+        constructor: WorkerDebuggerTransport,
 
-      ready: function () {
-        this._scope.addEventListener("message", this._onMessage);
-      },
+        ready: function () {
+          this._scope.addEventListener("message", this._onMessage);
+        },
 
-      close: function () {
-        this._scope.removeEventListener("message", this._onMessage);
-        if (this.hooks) {
-          this.hooks.onClosed();
-        }
-      },
+        close: function () {
+          this._scope.removeEventListener("message", this._onMessage);
+          if (this.hooks) {
+            this.hooks.onClosed();
+          }
+        },
 
-      send: function (packet) {
-        this._scope.postMessage(JSON.stringify({
-          type: "message",
-          id: this._id,
-          message: packet
-        }));
-      },
+        send: function (packet) {
+          this._scope.postMessage(JSON.stringify({
+            type: "message",
+            id: this._id,
+            message: packet
+          }));
+        },
 
-      startBulkSend: function () {
-        throw new Error("Can't send bulk data from worker threads!");
-      },
+        startBulkSend: function () {
+          throw new Error("Can't send bulk data from worker threads!");
+        },
 
-      _onMessage: function (event) {
-        let packet = JSON.parse(event.data);
-        if (packet.type !== "message" || packet.id !== this._id) {
-          return;
-        }
+        _onMessage: function (event) {
+          let packet = JSON.parse(event.data);
+          if (packet.type !== "message" || packet.id !== this._id) {
+            return;
+          }
 
-        if (this.hooks) {
-          this.hooks.onPacket(packet.message);
+          if (this.hooks) {
+            this.hooks.onPacket(packet.message);
+          }
         }
-      }
-    };
+      };
 
-    exports.WorkerDebuggerTransport = WorkerDebuggerTransport;
-  }).call(this);
-}
+      exports.WorkerDebuggerTransport = WorkerDebuggerTransport;
+    }).call(this);
+  }
 
 });
--- a/devtools/shared/webconsole/test/common.js
+++ b/devtools/shared/webconsole/test/common.js
@@ -24,17 +24,17 @@ var ConsoleAPIStorage = Cc["@mozilla.org
 var {DebuggerServer} = require("devtools/server/main");
 var {DebuggerClient, ObjectClient} = require("devtools/shared/client/main");
 
 var {ConsoleServiceListener, ConsoleAPIListener} =
   require("devtools/shared/webconsole/utils");
 
 function initCommon()
 {
-  //Services.prefs.setBoolPref("devtools.debugger.log", true);
+  // Services.prefs.setBoolPref("devtools.debugger.log", true);
 }
 
 function initDebuggerServer()
 {
   if (!DebuggerServer.initialized) {
     DebuggerServer.init();
     DebuggerServer.addBrowserActors();
   }
@@ -96,17 +96,17 @@ function _attachConsole(aListeners, aCal
         let tab = aResponse.tabs[aResponse.selected];
         aState.dbgClient.attachTab(tab.actor, function (response, tabClient) {
           if (aAttachToWorker) {
             var worker = new Worker("console-test-worker.js");
             worker.addEventListener("message", function listener() {
               worker.removeEventListener("message", listener);
               tabClient.listWorkers(function (response) {
                 tabClient.attachWorker(response.workers[0].actor, function (response, workerClient) {
-                  workerClient.attachThread({}, function(aResponse) {
+                  workerClient.attachThread({}, function (aResponse) {
                     aState.actor = workerClient.consoleActor;
                     aState.dbgClient.attachConsole(workerClient.consoleActor, aListeners,
                                                    _onAttachConsole.bind(null, aState));
                   });
                 });
               });
             });
           } else {
@@ -134,18 +134,18 @@ function closeDebugger(aState, aCallback
   aState.dbgClient.close(aCallback);
   aState.dbgClient = null;
   aState.client = null;
 }
 
 function checkConsoleAPICalls(consoleCalls, expectedConsoleCalls)
 {
   is(consoleCalls.length, expectedConsoleCalls.length,
-    'received correct number of console calls');
-  expectedConsoleCalls.forEach(function(aMessage, aIndex) {
+    "received correct number of console calls");
+  expectedConsoleCalls.forEach(function (aMessage, aIndex) {
     info("checking received console call #" + aIndex);
     checkConsoleAPICall(consoleCalls[aIndex], expectedConsoleCalls[aIndex]);
   });
 }
 
 function checkConsoleAPICall(aCall, aExpected)
 {
   if (aExpected.level != "trace" && aExpected.arguments) {
@@ -255,36 +255,36 @@ function runTests(aTests, aEndCallback)
 function nextTest(aMessage)
 {
   return gTestState.driver.next(aMessage);
 }
 
 function withFrame(url) {
   return new Promise(resolve => {
     let iframe = document.createElement("iframe");
-    iframe.onload = function() {
+    iframe.onload = function () {
       resolve(iframe);
     };
     iframe.src = url;
     document.body.appendChild(iframe);
   });
 }
 
 function navigateFrame(iframe, url) {
   return new Promise(resolve => {
-    iframe.onload = function() {
+    iframe.onload = function () {
       resolve(iframe);
     };
     iframe.src = url;
   });
 }
 
 function forceReloadFrame(iframe) {
   return new Promise(resolve => {
-    iframe.onload = function() {
+    iframe.onload = function () {
       resolve(iframe);
     };
     iframe.contentWindow.location.reload(true);
   });
 }
 
 function withActiveServiceWorker(win, url, scope) {
   let opts = {};
@@ -297,35 +297,35 @@ function withActiveServiceWorker(win, ur
     }
 
     // Unfortunately we can't just use navigator.serviceWorker.ready promise
     // here.  If the service worker is for a scope that does not cover the window
     // then the ready promise will never resolve.  Instead monitor the service
     // workers state change events to determine when its activated.
     return new Promise(resolve => {
       let sw = swr.waiting || swr.installing;
-      sw.addEventListener('statechange', function stateHandler(evt) {
-        if (sw.state === 'activated') {
-          sw.removeEventListener('statechange', stateHandler);
+      sw.addEventListener("statechange", function stateHandler(evt) {
+        if (sw.state === "activated") {
+          sw.removeEventListener("statechange", stateHandler);
           resolve(swr);
         }
       });
     });
   });
 }
 
 function messageServiceWorker(win, scope, message) {
   return win.navigator.serviceWorker.getRegistration(scope).then(swr => {
     return new Promise(resolve => {
       win.navigator.serviceWorker.onmessage = evt => {
         resolve();
       };
       let sw = swr.active || swr.waiting || swr.installing;
-      sw.postMessage({ type: 'PING', message: message });
+      sw.postMessage({ type: "PING", message: message });
     });
-  })
+  });
 }
 
 function unregisterServiceWorker(win) {
   return win.navigator.serviceWorker.ready.then(swr => {
     return swr.unregister();
   });
 }
--- a/devtools/shared/webconsole/test/console-test-worker.js
+++ b/devtools/shared/webconsole/test/console-test-worker.js
@@ -3,14 +3,14 @@
 function f() {
   var a = 1;
   var b = 2;
   var c = 3;
 }
 
 self.onmessage = function (event) {
   if (event.data == "ping") {
-    f()
+    f();
     postMessage("pong");
   }
 };
 
 postMessage("load");
--- a/devtools/shared/webconsole/test/helper_serviceworker.js
+++ b/devtools/shared/webconsole/test/helper_serviceworker.js
@@ -1,19 +1,19 @@
-console.log('script evaluation');
+console.log("script evaluation");
 
-addEventListener('install', function(evt) {
-  console.log('install event');
+addEventListener("install", function (evt) {
+  console.log("install event");
 });
 
-addEventListener('activate', function(evt) {
-  console.log('activate event');
+addEventListener("activate", function (evt) {
+  console.log("activate event");
 });
 
-addEventListener('fetch', function(evt) {
-  console.log('fetch event: ' + evt.request.url);
-  evt.respondWith(new Response('Hello world'));
+addEventListener("fetch", function (evt) {
+  console.log("fetch event: " + evt.request.url);
+  evt.respondWith(new Response("Hello world"));
 });
 
-addEventListener('message', function(evt) {
-  console.log('message event: ' + evt.data.message);
-  evt.source.postMessage({ type: 'PONG' });
+addEventListener("message", function (evt) {
+  console.log("message event: " + evt.data.message);
+  evt.source.postMessage({ type: "PONG" });
 });
--- a/devtools/shared/webconsole/test/unit/test_network_helper.js
+++ b/devtools/shared/webconsole/test/unit/test_network_helper.js
@@ -1,29 +1,29 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 var Cu = Components.utils;
 const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 function run_test() {
   test_isTextMimeType();
 }
 
-function test_isTextMimeType () {
+function test_isTextMimeType() {
   do_check_eq(NetworkHelper.isTextMimeType("text/plain"), true);
   do_check_eq(NetworkHelper.isTextMimeType("application/javascript"), true);
   do_check_eq(NetworkHelper.isTextMimeType("application/json"), true);
   do_check_eq(NetworkHelper.isTextMimeType("text/css"), true);
   do_check_eq(NetworkHelper.isTextMimeType("text/html"), true);
   do_check_eq(NetworkHelper.isTextMimeType("image/svg+xml"), true);
   do_check_eq(NetworkHelper.isTextMimeType("application/xml"), true);
 
--- a/devtools/shared/webconsole/test/unit/test_security-info-certificate.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-certificate.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Tests that NetworkHelper.parseCertificateInfo parses certificate information
 // correctly.
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/webconsole/test/unit/test_security-info-parser.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-parser.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Test that NetworkHelper.parseSecurityInfo returns correctly formatted object.
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/webconsole/test/unit/test_security-info-protocol-version.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-protocol-version.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Tests that NetworkHelper.formatSecurityProtocol returns correct
 // protocol version strings.
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/webconsole/test/unit/test_security-info-state.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-state.js
@@ -5,17 +5,17 @@
 
 // Tests that security info parser gives correct general security state for
 // different cases.
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/webconsole/test/unit/test_security-info-static-hpkp.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-static-hpkp.js
@@ -5,17 +5,17 @@
 
 // Test that NetworkHelper.parseSecurityInfo correctly detects static hpkp pins
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 const Services = require("Services");
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/webconsole/test/unit/test_security-info-weakness-reasons.js
+++ b/devtools/shared/webconsole/test/unit/test_security-info-weakness-reasons.js
@@ -4,17 +4,17 @@
 "use strict";
 
 // Tests that NetworkHelper.getReasonsForWeakness returns correct reasons for
 // weak requests.
 
 const { require } = Components.utils.import("resource://devtools/shared/Loader.jsm", {});
 
 Object.defineProperty(this, "NetworkHelper", {
-  get: function() {
+  get: function () {
     return require("devtools/shared/webconsole/network-helper");
   },
   configurable: true,
   writeable: false,
   enumerable: true
 });
 
 var Ci = Components.interfaces;
--- a/devtools/shared/worker/helper.js
+++ b/devtools/shared/worker/helper.js
@@ -97,17 +97,17 @@
           handleError(response);
         }
         // If anything else
         else {
           self.postMessage({ id, response });
         }
       }
 
-      function handleError(error="Error") {
+      function handleError(error = "Error") {
         try {
           // First, try and structured clone the error across directly.
           self.postMessage({ id, error });
         } catch (_) {
           // We could not clone whatever error value was given. Do our best to
           // stringify it.
           let errorString = `Error while performing task "${task}": `;
 
--- a/devtools/shared/worker/loader.js
+++ b/devtools/shared/worker/loader.js
@@ -37,17 +37,17 @@ this.EXPORTED_SYMBOLS = ["WorkerDebugger
  * @param String baseId
  *        The absolute base id to resolve the relative id against.
  *
  * @return String
  *         An absolute id
  */
 function resolveId(id, baseId) {
   return baseId + "/../" + id;
-};
+}
 
 /**
  * Convert the given absolute id to a normalized id.
  *
  * @param String id
  *        The absolute id to be normalized.
  *
  * @return String
@@ -57,37 +57,37 @@ function normalizeId(id) {
   // An id consists of an optional root and a path. A root consists of either
   // a scheme name followed by 2 or 3 slashes, or a single slash. Slashes in the
   // root are not used as separators, so only normalize the path.
   let [_, root, path] = id.match(/^(\w+:\/\/\/?|\/)?(.*)/);
 
   let stack = [];
   path.split("/").forEach(function (component) {
     switch (component) {
-    case "":
-    case ".":
-      break;
-    case "..":
-      if (stack.length === 0) {
-        if (root !== undefined) {
-          throw new Error("Can't normalize absolute id '" + id + "'!");
+      case "":
+      case ".":
+        break;
+      case "..":
+        if (stack.length === 0) {
+          if (root !== undefined) {
+            throw new Error("Can't normalize absolute id '" + id + "'!");
+          } else {
+            stack.push("..");
+          }
         } else {
-          stack.push("..");
+          if (stack[stack.length - 1] == "..") {
+            stack.push("..");
+          } else {
+            stack.pop();
+          }
         }
-      } else {
-        if (stack[stack.length - 1] == "..") {
-          stack.push("..");
-        } else {
-          stack.pop();
-        }
-      }
-      break;
-    default:
-      stack.push(component);
-      break;
+        break;
+      default:
+        stack.push(component);
+        break;
     }
   });
 
   return (root ? root : "") + stack.join("/");
 }
 
 /**
  * Create a module object with the given normalized id.
@@ -113,17 +113,17 @@ function createModule(id) {
     // convention, which is to make it non-configurable and writable.
     exports: {
       configurable: false,
       enumerable: true,
       value: Object.create(null),
       writable: true
     }
   });
-};
+}
 
 /**
  * Create a CommonJS loader with the following options:
  * - createSandbox:
  *     A function that will be used to create sandboxes. It should take the name
  *     and prototype of the sandbox to be created, and return the newly created
  *     sandbox as result. This option is required.
  * - globals:
@@ -203,17 +203,17 @@ function WorkerDebuggerLoader(options) {
       throw error;
     }
 
     // The value of exports may have been changed by the module script, so
     // freeze it if and only if it is still an object.
     if (typeof module.exports === "object" && module.exports !== null) {
       Object.freeze(module.exports);
     }
-  };
+  }
 
   /**
    * Create a require function for the given module. If no module is given,
    * create a require function for the top-level module instead.
    *
    * @param Object requirer
    *        The module for which the require function is to be created.
    *
@@ -380,54 +380,54 @@ var {
       Constructor: CC,
       classes: Cc,
       manager: Cm,
       interfaces: Ci,
       results: Cr,
       utils: Cu
     } = Components;
 
-    let principal = CC('@mozilla.org/systemprincipal;1', 'nsIPrincipal')();
+    let principal = CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")();
 
     // To ensure that the this passed to addDebuggerToGlobal is a global, the
     // Debugger object needs to be defined in a sandbox.
     let sandbox = Cu.Sandbox(principal, {});
     Cu.evalInSandbox(
       "Components.utils.import('resource://gre/modules/jsdebugger.jsm');" +
       "addDebuggerToGlobal(this);",
       sandbox
     );
     let Debugger = sandbox.Debugger;
 
-    let createSandbox = function(name, prototype) {
+    let createSandbox = function (name, prototype) {
       return Cu.Sandbox(principal, {
         invisibleToDebugger: true,
         sandboxName: name,
         sandboxPrototype: prototype,
         wantComponents: false,
         wantXrays: false
       });
     };
 
     let rpc = undefined;
 
-    let subScriptLoader = Cc['@mozilla.org/moz/jssubscript-loader;1'].
+    let subScriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
                  getService(Ci.mozIJSSubScriptLoader);
 
     let loadSubScript = function (url, sandbox) {
       subScriptLoader.loadSubScript(url, sandbox, "UTF-8");
     };
 
     let reportError = Cu.reportError;
 
     let Timer = Cu.import("resource://gre/modules/Timer.jsm", {});
 
     let setImmediate = function (callback) {
       Timer.setTimeout(callback, 0);
-    }
+    };
 
     let xpcInspector = Cc["@mozilla.org/jsinspector;1"].
                        getService(Ci.nsIJSInspector);
 
     return {
       Debugger,
       URL: this.URL,
       createSandbox,
--- a/devtools/shared/worker/tests/browser/browser_worker-01.js
+++ b/devtools/shared/worker/tests/browser/browser_worker-01.js
@@ -13,33 +13,33 @@ const WORKER_DATA = (function () {
   for (let i = 0; i < count; i++) {
     timestamps.push(i);
   }
   return timestamps;
 })();
 const INTERVAL = 100;
 const DURATION = 1000;
 
-add_task(function*() {
+add_task(function* () {
   // Test both CJS and JSM versions
 
   yield testWorker("JSM", () => Cu.import("resource://devtools/shared/worker/worker.js", {}));
   yield testWorker("CommonJS", () => require("devtools/shared/worker/worker"));
 });
 
-function *testWorker (context, workerFactory) {
+function* testWorker(context, workerFactory) {
   let { DevToolsWorker, workerify } = workerFactory();
   let worker = new DevToolsWorker(WORKER_URL);
   let results = yield worker.performTask("plotTimestampsGraph", {
     timestamps: WORKER_DATA,
     interval: INTERVAL,
     duration: DURATION
   });
 
   ok(results.plottedData.length,
     `worker should have returned an object with array properties in ${context}`);
 
-  let fn = workerify(function (x) { return x * x });
+  let fn = workerify(function (x) { return x * x; });
   is((yield fn(5)), 25, `workerify works in ${context}`);
   fn.destroy();
 
   worker.destroy();
 }
--- a/devtools/shared/worker/tests/browser/browser_worker-02.js
+++ b/devtools/shared/worker/tests/browser/browser_worker-02.js
@@ -2,17 +2,17 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests errors are handled properly by the DevToolsWorker.
 
 const { DevToolsWorker } = require("devtools/shared/worker/worker");
 const WORKER_URL =
   "resource://devtools/client/shared/widgets/GraphsWorker.js";
 
-add_task(function*() {
+add_task(function* () {
   try {
     let workerNotFound = new DevToolsWorker("resource://i/dont/exist.js");
     ok(false, "Creating a DevToolsWorker with an invalid URL throws");
   } catch (e) {
     ok(true, "Creating a DevToolsWorker with an invalid URL throws");
   }
 
   let worker = new DevToolsWorker(WORKER_URL);
@@ -30,17 +30,17 @@ add_task(function*() {
     ok(false, "DevToolsWorker returns a rejected promise when task does not exist");
   } catch (e) {
     ok(true, "DevToolsWorker returns a rejected promise when task does not exist");
   }
 
   worker.destroy();
   try {
     let results = yield worker.performTask("plotTimestampsGraph", {
-      timestamps: [0,1,2,3,4,5,6,7,8,9],
+      timestamps: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
       interval: 1,
       duration: 1
     });
     ok(false, "DevToolsWorker rejects when performing a task on a destroyed worker");
   } catch (e) {
     ok(true, "DevToolsWorker rejects when performing a task on a destroyed worker");
-  };
+  }
 });
--- a/devtools/shared/worker/tests/browser/browser_worker-03.js
+++ b/devtools/shared/worker/tests/browser/browser_worker-03.js
@@ -2,33 +2,33 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that the devtools/shared/worker can handle:
 // returned primitives (or promise or Error)
 //
 // And tests `workerify` by doing so.
 
 const { DevToolsWorker, workerify } = require("devtools/shared/worker/worker");
-function square (x) {
+function square(x) {
   return x * x;
 }
 
-function squarePromise (x) {
-  return new Promise((resolve) => resolve(x*x));
+function squarePromise(x) {
+  return new Promise((resolve) => resolve(x * x));
 }
 
-function squareError (x) {
+function squareError(x) {
   return new Error("Nope");
 }
 
-function squarePromiseReject (x) {
+function squarePromiseReject(x) {
   return new Promise((_, reject) => reject("Nope"));
 }
 
-add_task(function*() {
+add_task(function* () {
   let fn = workerify(square);
   is((yield fn(5)), 25, "return primitives successful");
   fn.destroy();
 
   fn = workerify(squarePromise);
   is((yield fn(5)), 25, "promise primitives successful");
   fn.destroy();
 
--- a/devtools/shared/worker/worker.js
+++ b/devtools/shared/worker/worker.js
@@ -17,105 +17,105 @@
     factory.call(
       this, require, this, { exports: this },
       { Cc, Ci, Cu }, ChromeWorker, null
     );
     this.EXPORTED_SYMBOLS = ["DevToolsWorker"];
   }
 }).call(this, function (require, exports, module, { Ci, Cc }, ChromeWorker, dumpn) {
 
-var MESSAGE_COUNTER = 0;
+  var MESSAGE_COUNTER = 0;
 
 /**
  * Creates a wrapper around a ChromeWorker, providing easy
  * communication to offload demanding tasks. The corresponding URL
  * must implement the interface provided by `devtools/shared/worker/helper`.
  *
  * @see `./devtools/client/shared/widgets/GraphsWorker.js`
  *
  * @param {string} url
  *        The URL of the worker.
  * @param Object opts
  *        An option with the following optional fields:
  *        - name: a name that will be printed with logs
  *        - verbose: log incoming and outgoing messages
  */
-function DevToolsWorker(url, opts) {
-  opts = opts || {};
-  this._worker = new ChromeWorker(url);
-  this._verbose = opts.verbose;
-  this._name = opts.name;
+  function DevToolsWorker(url, opts) {
+    opts = opts || {};
+    this._worker = new ChromeWorker(url);
+    this._verbose = opts.verbose;
+    this._name = opts.name;
 
-  this._worker.addEventListener("error", this.onError, false);
-}
-exports.DevToolsWorker = DevToolsWorker;
+    this._worker.addEventListener("error", this.onError, false);
+  }
+  exports.DevToolsWorker = DevToolsWorker;
 
 /**
  * Performs the given task in a chrome worker, passing in data.
  * Returns a promise that resolves when the task is completed, resulting in
  * the return value of the task.
  *
  * @param {string} task
  *        The name of the task to execute in the worker.
  * @param {any} data
  *        Data to be passed into the task implemented by the worker.
  * @return {Promise}
  */
-DevToolsWorker.prototype.performTask = function (task, data) {
-  if (this._destroyed) {
-    return Promise.reject("Cannot call performTask on a destroyed DevToolsWorker");
-  }
-  let worker = this._worker;
-  let id = ++MESSAGE_COUNTER;
-  let payload = { task, id, data };
+  DevToolsWorker.prototype.performTask = function (task, data) {
+    if (this._destroyed) {
+      return Promise.reject("Cannot call performTask on a destroyed DevToolsWorker");
+    }
+    let worker = this._worker;
+    let id = ++MESSAGE_COUNTER;
+    let payload = { task, id, data };
 
-  if (this._verbose && dumpn) {
-    dumpn("Sending message to worker" +
-          (this._name ? (" (" + this._name + ")") : "" ) +
+    if (this._verbose && dumpn) {
+      dumpn("Sending message to worker" +
+          (this._name ? (" (" + this._name + ")") : "") +
           ": " +
           JSON.stringify(payload, null, 2));
-  }
-  worker.postMessage(payload);
+    }
+    worker.postMessage(payload);
 
-  return new Promise((resolve, reject) => {
-    let listener = ({ data }) => {
-      if (this._verbose && dumpn) {
-        dumpn("Received message from worker" +
-              (this._name ? (" (" + this._name + ")") : "" ) +
+    return new Promise((resolve, reject) => {
+      let listener = ({ data }) => {
+        if (this._verbose && dumpn) {
+          dumpn("Received message from worker" +
+              (this._name ? (" (" + this._name + ")") : "") +
               ": " +
               JSON.stringify(data, null, 2));
-      }
+        }
 
-      if (data.id !== id) {
-        return;
-      }
-      worker.removeEventListener("message", listener);
-      if (data.error) {
-        reject(data.error);
-      } else {
-        resolve(data.response);
-      }
-    };
+        if (data.id !== id) {
+          return;
+        }
+        worker.removeEventListener("message", listener);
+        if (data.error) {
+          reject(data.error);
+        } else {
+          resolve(data.response);
+        }
+      };
 
-    worker.addEventListener("message", listener);
-  });
-};
+      worker.addEventListener("message", listener);
+    });
+  };
 
 /**
  * Terminates the underlying worker. Use when no longer needing the worker.
  */
-DevToolsWorker.prototype.destroy = function () {
-  this._worker.terminate();
-  this._worker = null;
-  this._destroyed = true;
-};
+  DevToolsWorker.prototype.destroy = function () {
+    this._worker.terminate();
+    this._worker = null;
+    this._destroyed = true;
+  };
 
-DevToolsWorker.prototype.onError = function({ message, filename, lineno }) {
-  dump(new Error(message + " @ " + filename + ":" + lineno) + "\n");
-};
+  DevToolsWorker.prototype.onError = function ({ message, filename, lineno }) {
+    dump(new Error(message + " @ " + filename + ":" + lineno) + "\n");
+  };
 
 /**
  * Takes a function and returns a Worker-wrapped version of the same function.
  * Returns a promise upon resolution.
  * @see `./devtools/shared/shared/tests/browser/browser_devtools-worker-03.js
  *
  * * * * ! ! ! This should only be used for tests or A/B testing performance ! ! ! * * * * * *
  *
@@ -126,43 +126,43 @@ DevToolsWorker.prototype.onError = funct
  *
  * Return a value or a promise.
  *
  * Note any state change in the worker will not affect the callee's context.
  *
  * @param {function} fn
  * @return {function}
  */
-function workerify (fn) {
-  console.warn(`\`workerify\` should only be used in tests or measuring performance.
-  This creates an object URL on the browser window, and should not be used in production.`)
+  function workerify(fn) {
+    console.warn(`\`workerify\` should only be used in tests or measuring performance.
+  This creates an object URL on the browser window, and should not be used in production.`);
   // Fetch via window/utils here as we don't want to include
   // this module normally.
-  let { getMostRecentBrowserWindow } = require("sdk/window/utils");
-  let { URL, Blob } = getMostRecentBrowserWindow();
-  let stringifiedFn = createWorkerString(fn);
-  let blob = new Blob([stringifiedFn]);
-  let url = URL.createObjectURL(blob);
-  let worker = new DevToolsWorker(url);
+    let { getMostRecentBrowserWindow } = require("sdk/window/utils");
+    let { URL, Blob } = getMostRecentBrowserWindow();
+    let stringifiedFn = createWorkerString(fn);
+    let blob = new Blob([stringifiedFn]);
+    let url = URL.createObjectURL(blob);
+    let worker = new DevToolsWorker(url);
 
-  let wrapperFn = data => worker.performTask("workerifiedTask", data);
+    let wrapperFn = data => worker.performTask("workerifiedTask", data);
 
-  wrapperFn.destroy = function () {
-    URL.revokeObjectURL(url);
-    worker.destroy();
-  };
+    wrapperFn.destroy = function () {
+      URL.revokeObjectURL(url);
+      worker.destroy();
+    };
 
-  return wrapperFn;
-}
-exports.workerify = workerify;
+    return wrapperFn;
+  }
+  exports.workerify = workerify;
 
 /**
  * Takes a function, and stringifies it, attaching the worker-helper.js
  * boilerplate hooks.
  */
-function createWorkerString (fn) {
-  return `importScripts("resource://gre/modules/workers/require.js");
+  function createWorkerString(fn) {
+    return `importScripts("resource://gre/modules/workers/require.js");
     const { createTask } = require("resource://devtools/shared/worker/helper.js");
     createTask(self, "workerifiedTask", ${fn.toString()});
   `;
-}
+  }
 
 });