From 3214f9fa6f37ff573176ce232142dff9d34ee936 Mon Sep 17 00:00:00 2001 From: Jason Laster Date: Thu, 9 Nov 2017 12:28:56 +0100 Subject: [PATCH] Bug 1415300 - Update Debugger frontend (11-7). r=jdescottes MozReview-Commit-ID: HdGGdN5Efw8 --HG-- extra : rebase_source : 416a1198f631e4b701c7ac93e2fd8f8c8dac667d --- devtools/client/debugger/new/README.mozilla | 2 +- devtools/client/debugger/new/debugger.css | 180 +- devtools/client/debugger/new/debugger.js | 2429 ++--- devtools/client/debugger/new/parser-worker.js | 8023 ++++++++++++++++- .../debugger/new/pretty-print-worker.js | 4 + devtools/client/debugger/new/search-worker.js | 222 +- .../debugger/new/test/mochitest/browser.ini | 10 +- .../test/mochitest/browser_dbg-breaking.js | 5 +- .../mochitest/browser_dbg-debugger-buttons.js | 24 +- .../mochitest/browser_dbg-editor-select.js | 9 +- .../browser_dbg-expressions-error.js | 17 +- .../test/mochitest/browser_dbg-navigation.js | 5 +- .../mochitest/browser_dbg-pause-exceptions.js | 16 +- .../new/test/mochitest/browser_dbg-preview.js | 68 + .../test/mochitest/browser_dbg-quick-open.js | 2 +- .../mochitest/browser_dbg-returnvalues.js | 69 + .../mochitest/browser_dbg-scopes-mutations.js | 4 +- .../test/mochitest/browser_dbg-sourcemaps.js | 1 - .../test/mochitest/browser_dbg-sourcemaps2.js | 3 +- .../test/mochitest/examples/doc-scripts.html | 2 + .../new/test/mochitest/examples/simple1.js | 40 +- .../new/test/mochitest/examples/simple3.js | 6 + .../debugger/new/test/mochitest/head.js | 194 +- 23 files changed, 9955 insertions(+), 1380 deletions(-) create mode 100644 devtools/client/debugger/new/test/mochitest/browser_dbg-preview.js create mode 100644 devtools/client/debugger/new/test/mochitest/browser_dbg-returnvalues.js create mode 100644 devtools/client/debugger/new/test/mochitest/examples/simple3.js diff --git a/devtools/client/debugger/new/README.mozilla b/devtools/client/debugger/new/README.mozilla index c91c5fcf42cd..e125c17b9e28 100644 --- a/devtools/client/debugger/new/README.mozilla +++ b/devtools/client/debugger/new/README.mozilla @@ -1,7 +1,7 @@ This is the debugger.html project output. See https://github.com/devtools-html/debugger.html -Taken from upstream commit: d9f18b2cd0792de70289d4dcde5ed3e38be87cf1 +Taken from upstream commit: b902ed728543b8ed39b8d145da37a25418aea48e Packages: - babel-plugin-transform-es2015-modules-commonjs @6.26.0 diff --git a/devtools/client/debugger/new/debugger.css b/devtools/client/debugger/new/debugger.css index 2d12e3b8e03c..562ea469c6b5 100644 --- a/devtools/client/debugger/new/debugger.css +++ b/devtools/client/debugger/new/debugger.css @@ -410,6 +410,10 @@ body { padding-left: 3px; font-weight: normal; } +/* 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 . */ + .modal-wrapper { position: fixed; display: flex; @@ -473,6 +477,10 @@ body { transform: translateY(30px); } } +/* 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 . */ + .shortcuts-content { padding: 15px; -moz-column-width: 250px; @@ -486,20 +494,6 @@ body { color: var(--theme-content-color1); } -.mac .keystroke { - border-style: solid; - border-width: 1px; - border-radius: 3px; - border-color: var(--theme-graphs-grey); - background-color: var(--theme-selection-color); - width: 21px; - height: 17px; - display: inline-block; - font-size: 10px; - text-align: center; - padding-top: 2px; -} - .shortcuts-section { display: inline-block; margin: 5px; @@ -529,6 +523,10 @@ body { width: 100%; } } +/* 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 . */ + :root { --arrow-width: 10px; } @@ -544,6 +542,10 @@ body { --search-overlays-semitransparent: rgba(42, 46, 56, 0.66); --popup-shadow-color: #5c667b; } +/* 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 . */ + * { box-sizing: border-box; } @@ -602,6 +604,10 @@ button:focus { left: 50%; transform: translate(-50%, -50%); } +/* 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 . */ + menupopup { position: fixed; z-index: 10000; @@ -922,6 +928,10 @@ menuseparator { .split-box.dragging > .uncontrolled { pointer-events: none; } +/* 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 . */ + .arrow, .worker, .refresh, @@ -1035,6 +1045,10 @@ html .arrow.expanded svg { .theme-dark .webpack { opacity: 0.5; } +/* 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 . */ + .managed-tree .tree { -webkit-user-select: none; -moz-user-select: none; @@ -1076,6 +1090,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .managed-tree .tree-node button { position: fixed; } +/* 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 . */ + .close-btn path { fill: var(--theme-comment-alt); } @@ -1123,6 +1141,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .close-btn.big .close svg { width: 9px; } +/* 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 . */ + .search-field { width: calc(100% - 1px); height: 27px; @@ -1229,6 +1251,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .search-field .search-nav-buttons .nav-btn path { fill: var(--theme-comment); } +/* 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 . */ + .project-text-search { flex-grow: 1; display: flex; @@ -1317,6 +1343,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .project-text-search .managed-tree .tree { height: 100%; } +/* 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 . */ + .search-container { position: absolute; top: 30px; @@ -1329,6 +1359,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { background-color: var(--theme-body-background); overflow-y: hidden; } +/* 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 . */ + .sources-panel { background-color: var(--theme-sidebar-background); display: flex; @@ -1420,6 +1454,7 @@ html[dir="rtl"] .managed-tree .tree .node > div { -moz-user-select: none; user-select: none; box-sizing: border-box; + height: 29px; } .source-outline-tabs .tab { @@ -1488,6 +1523,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .theme-dark .sources-list .managed-tree .tree .node.focused img.blackBox { background-color: white; } +/* 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 . */ + .outline { overflow-y: auto; } @@ -1533,6 +1572,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .outline-list__element:hover { background: var(--theme-toolbar-background-hover); } +/* 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 . */ + .function-signature { align-self: center; } @@ -1552,6 +1595,10 @@ html[dir="rtl"] .managed-tree .tree .node > div { .function-signature .comma { color: var(--object-color); } +/* 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 . */ + .toggle-button-start, .toggle-button-end { transform: translate(0, 0px); @@ -1597,6 +1644,10 @@ html .toggle-button-end.vertical svg { .toggle-button-end.collapsed { transform: rotate(180deg); } +/* 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 . */ + .source-footer { background: var(--theme-body-background); border-top: 1px solid var(--theme-splitter-color); @@ -1683,6 +1734,10 @@ html .toggle-button-end.vertical svg { .source-footer .blackbox-summary { color: var(--theme-body-color); } +/* 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 . */ + .search-bar { display: flex; flex-direction: column; @@ -2063,6 +2118,10 @@ html[dir="rtl"] .arrow svg, opacity: 0.6; } +/* 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 . */ + .bracket-arrow { position: absolute; } @@ -2105,6 +2164,10 @@ html[dir="rtl"] .arrow svg, border-top-color: var(--theme-body-background); top: -1px; } +/* 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 . */ + .popover { position: fixed; z-index: 100; @@ -2114,6 +2177,10 @@ html[dir="rtl"] .arrow svg, height: 5px; padding-top: 5px; } +/* 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 . */ + .popover .preview-popup { background: var(--theme-body-background); width: 350px; @@ -2238,6 +2305,10 @@ html[dir="rtl"] .arrow svg, font-size: 14px; color: var(--theme-content-color3); } +/* 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 . */ + .call-site { background: #f0f9ff; position: relative; @@ -2283,9 +2354,17 @@ html[dir="rtl"] .arrow svg, .theme-dark .call-site-bp::before { border-bottom-color: #dd4d4d; } +/* 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 . */ + .empty-line .CodeMirror-linenumber { opacity: 0.5; } +/* 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 . */ + .conditional-breakpoint-panel { cursor: initial; margin: 1em 0; @@ -2320,6 +2399,10 @@ html[dir="rtl"] .arrow svg, .conditional-breakpoint-panel input:focus { outline-width: 0; } +/* 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 . */ + .editor-wrapper { --debug-line-border: rgb(145, 188, 219); --debug-expression-background: rgba(202, 227, 255, 0.5); @@ -2327,6 +2410,7 @@ html[dir="rtl"] .arrow svg, --editor-second-searchbar-height: 27px; --debug-line-error-border: rgb(255, 0, 0); --debug-expression-error-background: rgba(231, 116, 113, 0.3); + --editor-header-height: 30px; } .theme-dark .editor-wrapper { @@ -2352,9 +2436,9 @@ html[dir="rtl"] .arrow svg, */ .editor-wrapper { position: absolute; - height: calc(100% - 29px); + height: calc(100% - var(--editor-header-height)); width: calc(100% - 1px); - top: 29px; + top: var(--editor-header-height); left: 0px; --editor-footer-height: 24px; } @@ -2534,6 +2618,10 @@ debug-expression-error { .visible { visibility: visible; } +/* 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 . */ + .cm-highlight { position: relative; } @@ -2559,6 +2647,10 @@ debug-expression-error { border-radius: 2px; margin: 0 -1px -1px -1px; } +/* 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 . */ + .breakpoints-toggle { margin: 2px 3px; } @@ -2671,6 +2763,10 @@ html .breakpoints-list .breakpoint.paused { .breakpoint:hover .close { visibility: visible; } +/* 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 . */ + .input-expression { width: 100%; margin: 0px; @@ -2752,6 +2848,10 @@ html .breakpoints-list .breakpoint.paused { .expression-input { max-width: 50%; } +/* 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 . */ + .frames ul .frames-group .group, .frames ul .frames-group .group .location { font-weight: 500; @@ -2775,6 +2875,10 @@ html .breakpoints-list .breakpoint.paused { border-top: 1px solid var(--theme-splitter-color); border-bottom: 1px solid var(--theme-splitter-color); } +/* 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 . */ + .why-paused { background-color: var(--theme-body-background); color: var(--theme-body-color); @@ -2803,6 +2907,10 @@ html .breakpoints-list .breakpoint.paused { font-weight: bold; font-style: normal; } +/* 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 . */ + .frames ul { list-style: none; margin: 0; @@ -2895,6 +3003,10 @@ html .breakpoints-list .breakpoint.paused { :root.theme-dark .annotation-logo svg path { fill: var(--theme-highlight-blue); } +/* 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 . */ + .event-listeners { list-style: none; margin: 0; @@ -2940,6 +3052,10 @@ html .breakpoints-list .breakpoint.paused { .event-listeners .listener:hover .close { display: block; } +/* 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 . */ + .workers-list * { user-select: none; } @@ -2952,6 +3068,10 @@ html .breakpoints-list .breakpoint.paused { position: relative; transition: all 0.25s ease; } +/* 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 . */ + :root { --accordion-header-background: var(--theme-toolbar-background); } @@ -3028,6 +3148,10 @@ html .breakpoints-list .breakpoint.paused { .accordion .header-buttons button::-moz-focus-inner { border: none; } +/* 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 . */ + .command-bar { flex: 0 0 29px; border-bottom: 1px solid var(--theme-splitter-color); @@ -3156,6 +3280,10 @@ img.resume { .command-bar.bottom > button:hover { color: var(--theme-body-color); } +/* 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 . */ + .object-node.default-property { opacity: 0.6; } @@ -3186,6 +3314,10 @@ img.resume { .scopes-list .function-signature { display: inline-block; } +/* 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 . */ + .secondary-panes { overflow: auto; display: flex; @@ -3230,6 +3362,10 @@ img.resume { .theme-dark .secondary-panes .accordion .arrow svg { fill: var(--theme-content-color3); } +/* 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 . */ + .welcomebox { width: calc(100% - 1px); @@ -3311,6 +3447,10 @@ html .welcomebox .toggle-button-end.collapsed { display: block; } } +/* 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 . */ + .source-header { border-bottom: 1px solid var(--theme-splitter-color); width: 100%; @@ -3439,6 +3579,10 @@ html .welcomebox .toggle-button-end.collapsed { .source-tab:hover .close-btn { visibility: visible; } +/* 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 . */ + .dropdown { --width: 150px; background: var(--theme-body-background); @@ -3502,6 +3646,10 @@ html[dir="rtl"] .dropdown { left: 0; top: 0; } +/* 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 . */ + .result-list { list-style: none; margin: 0px; diff --git a/devtools/client/debugger/new/debugger.js b/devtools/client/debugger/new/debugger.js index c12473b0971c..f770c3a69af7 100644 --- a/devtools/client/debugger/new/debugger.js +++ b/devtools/client/debugger/new/debugger.js @@ -10204,6 +10204,10 @@ module.exports = isLength; "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* 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 . */ + // @flow const { isDevelopment } = __webpack_require__(1355); @@ -10617,7 +10621,7 @@ module.exports = charenc; /*! * Determine if an object is a Buffer * - * @author Feross Aboukhadijeh + * @author Feross Aboukhadijeh * @license MIT */ @@ -16497,7 +16501,9 @@ module.exports = "